操作系统开发

计算机基础之操作系统

北慕城南 提交于 2020-03-31 01:59:17
一、为什么要操作系统 现在计算机系统是一个复杂的系统,它由多个硬件资源组成,如果程序员要自己去了解这些硬件资源的工作原理然后编写代码去控制他们的话就无法在编写应用程序了,并且要把这些硬件资源都管理起来优化使用是很困难的,于是就有了操作系统,由它负责计算机硬件的管理和控制,程序员只需要调用操作系统提供的接口程序来调用操作系统去完成硬件的控制,然后由操作系统将执行结果返回给应用程序就可以了,这样极大的减轻了程序员的开发负担,大大提高了开发的效率。 二、操作系统的位置 操作系统位于计算机硬件和应用程序之间,它由内核与系统调用两部分组成,其中内核工作在内核态,位于计算机硬件和系统调用之间,系统调用工作在用户态,位于内核与应用程序之间。 三、操作系统的功能 1、操作系统提供应用程序控制计算机硬件的接口 操作系统是负责控制硬件的,而应用程序是无法直接控制计算机硬件的,当应用程序需要使用计算机的硬件资源怎么办呢?这时候就需要用到操作系统提供的这些接口程序了,应用程序可以通过调用这些接口程序来让操作系统帮助它控制相应的硬件完成工作,在把执行结果通过接口返回给应用程序 2、管理计算机硬件资源 当多个应用程序竞争使用同一个硬件资源时,操作系统则负责控制多个应用程序有序的使用硬件资源,避免无序竞争导致程序运行结果出错。 四、操作系统的发展 第一代计算机(1940-1955):真空管和穿孔卡片 特点

计算机基础-操作系统

核能气质少年 提交于 2020-03-31 01:58:52
1.为何要有操作系统   现在的计算机由一个或多个处理器、内存、硬盘、鼠标、键盘等一系列的硬件组成,要是程序员掌握这些多有的细节,将花费很多的时间。为了提高效率,简化开发工作,就有了操作系统来管理这些复杂的硬件,应用程序通过调用操作系统提供的简单借口来达到使用硬件的功能。 2.操作系统的位置       操作系统位于计算机硬件与应用软件之间的位置。操作系统包括 操作系统的内核 (运行于内核态,管理硬件资源),以及 系统调用 (运行于用户态,用来为应用程序提供系统调用的接口)两部分组成。 3.操作系统的功能       ①为应用程序提供简单、方便的系统调用接口;   ②管理应用程序对于硬件资源的请求,由竞态变为有序化。 4.操作系统的发展    ① 第一代计算机(1940~1955):真空管和穿孔卡片     特点: 没有操作系统的概念,所有的程序设计都是直接操控硬件   ②第二代计算机(1955~1965):晶体管和批处理系统      特点: 人员有明确的分工,程序人员、操作员等;有了操作系统的概念,程序员把自己的程序统一 放到读卡机,然后由可以把多个程序一起读取到磁带中,然后一次性执行,并输出。(不能立马修改问题)   ③第三代计算机(1965~1980):集成电路芯片和多道程序设计      特点: 多个联机终端+多道技术   ④第四代计算机(1980~至今):个人计算机 5

操作系统简史

南楼画角 提交于 2020-03-28 23:10:39
目录 操作系统简史 多进程的实现原理 -- 多道技术 操作系统简介 操作系统的两个核心作用 操作系统与应用程序的区别 操作系统法发展简史 第一代计算机(1940~1955):真空管和穿孔卡片 第二代计算机(1955~1965):晶体管和批处理系统 第三代计算机(1965~1980):集成电路芯片和多道程序设计 第四代计算机(1980~至今):个人计算机 操作系统简史 多进程的实现原理 -- 多道技术 操作系统简介 操作系统是位于应用软件和硬件设备之间,本质上也是一个软件,由系统内核(管理所有硬件资源)与系统接口(提供给程序员使用的接口)组成操作系统是为方便用户操作计算机而提供的一个运行在硬件之上的软件 操作系统的两个核心作用 为用户屏蔽了复杂繁琐的硬件接口,为应用程序提供了,清晰易用的系统接口 有了这些接口以后程序员不用再直接与硬件打交道了 例子:有了操作系统后我们就可以使用资源管理器来操作硬盘上的数据,而不用操心,磁头的移动啊,数据的读写等等 操作系统将应用程序对硬件资源的竞争变成有序的使用 例子:所有软件 qq啊 微信啊 吃鸡啊都共用一套硬件设备 假设现有三个程序都在使用打印机,如果不能妥善管理竞争问题,可能一个程序打印了一半图片后,另一个程序抢到了打印机执行权于是打印了一半文本,导致两个程序的任务都没能完成,操作系统的任务就是将这些无序的操作变得有序 操作系统与应用程序的区别

linux学习笔记一

試著忘記壹切 提交于 2020-03-27 09:00:13
一 1.X86计算机体系是冯-诺伊曼体系,包括现在很多智能设备。 2.计算机主要由CPU(运算器和控制器),存储设备,输入输出设备。 3.运算器提供运算能力,但是只是二进制运算 控制器是协调各部件 4.组件之间的连接 以及和存储的连接 是通过总线(bus) 5.总线分为 控制总线 数据总线和地址总线 6.CPU指令集 分为特权指令和普通指令 CPU物理上分为4个环,最中心的是环0,依次外为环1,环2,环3 特权指令就是在环0上,普通指令在环3上 只有操作系统才有权限调用特殊指令 7.从底层到高的语言分别是 机器语言----汇编语言----高级语言 8.为什么要有操作系统? 生产厂商众多,所生产的硬件规格和接口也各自不同,而操作系统的作用就是将底层不统一的规格接口,向上统一成一个标准的规格和接口。 操作系统 Operating System 简写OS 9.编程层次: 硬件规格 系统调用 库调用 10.什么是程序运行? 该程序占据了CPU一部分性能,然后逐条自上向下的运行代码 11.用户接口 图形用户接口 GUI 命令行接口 CLI 用户接口程序:用户通过这个程序,调用接口 接口格式 ABI 应用编程接口 API 12.CPU的架构类型:X86 X64 ARM M68000 POWER 13.操作系统有 Windows Linux Unix GNU组织发起 软件自由运动 GNU

Unix传奇(上篇)

混江龙づ霸主 提交于 2020-03-24 14:11:55
http://hi.baidu.com/hieda/blog/item/eb78fd444aca4940510ffeef.html 了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。 Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看《 Unix 40年:Unix年鉴 》、《 Unix 40年:昨天,今天和明天 》)。在技术更新如此迅速的计算机世界的今天,Unix始终保持它那神圣的光环,它那曲折和令人叹息的历史,以及由它引发的思想变革,对当今计算机文化造成的深远影响,这40年所产生的人和事,让它成为了一个传奇,不能不让人为之惊叹。 这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。 了解这段的历史的人,才能体会计算机世界变迁过程中的是是非非,才能了解计算机世界中的文化,从而才能参与到整个计算机革命的大潮中

.NET线程机制(一) 线程基础

蹲街弑〆低调 提交于 2020-03-23 14:49:32
线程作用及开销   早期计算机一次只能运行一个程序,长时间执行程序容易出现计算机“瘫痪”的问题,如果程序进入死循环则只能重启系统。即使计算机不崩溃,也难免让用户崩溃。为了解决这个问题,操作系统设计者设计出了进程的概念,使得每个应用程序运行在一个虚拟的内存空间中。进程中又包含多个线程,CPU则根据操作系统调度执行每个进程中的线程任务。通过线程这种对CPU的虚拟化管理方式,操作系统形成了多任务执行的机制。但与一切虚拟化机制一样,线程会产生空间和时间的开销。这其中的开销包括: 1、线程内核对象。该数据结构中包含线程上下文。Windows在x86架构CPU上为每个线程内核对象分配的空间大约为700字节,x64和IA64架构CPU分别为大约1240字节和2500字节。 2、线程环境块。占用一个内存页,包含线程的异常处理链首。当线程进入try块时,在链首插入一个节点,在线程 对出 退出try块时,删除该节点。另外线程环境块中还包括一些其他的本地储蓄数据。 3、用户模式栈。用户存储传给方法的局部变量和实参;还包含一个地址,指出当方法返回时,线程应该从什么地方开始接着执行。默认情况下每个线程的用户模式栈分配1MB内存。 4、内核模式栈。记录用户程序调用内核模式函数时函数的实参。32位系统分配12KB内存,64位系统则分配24KB。 5、DLL线程连接和线程分离通知。进程中每创建和终止一个线程时

一网打尽!每个程序猿都该了解的黑客技术大汇总

混江龙づ霸主 提交于 2020-03-23 10:28:22
目录 [一网打尽!每个程序猿都该了解的黑客技术大汇总](https://www.cnblogs.com/xuanyuan/p/12529598.html) 网络安全 SQL注入 XSS攻击 反射型 存储型 CSRF攻击 DDoS攻击 DNS劫持 TCP劫持 端口扫描技术 系统安全 栈溢出攻击 整数溢出攻击 空指针攻击 释放后使用攻击 HOOK 权限提升 可信计算 密码学 对称加密 & 非对称加密 秘钥交换技术 信息摘要算法 数据编码技术 多因子认证技术 总结 一网打尽!每个程序猿都该了解的黑客技术大汇总 上面这个段子估计很多朋友都看过,程序员被黑过无数次,在其他人眼中,仿佛我们需要写得了木马,翻得了围墙,修得了电脑,找得到资源,但凡是跟计算机沾点边的,咱都得会才行。 段子归段子,言归正传,对于咱们程序员来说,多多少少了解一些信息安全的技术知识还是大有裨益的,不仅能了解一些计算机和网络的底层原理,也能反哺我们的开发工作,带着安全思维编程,减少漏洞的产生。 本文内容: - 网络安全 - SQL注入 - XSS攻击 - CSRF攻击 - DDoS攻击 - DNS劫持 - TCP劫持 - 端口扫描技术 - 系统安全 - 栈溢出攻击 - 整数溢出攻击 - 空指针攻击 - 释放后使用攻击 - HOOK - 权限提升 - 可信计算 - 密码学 - 对称加密 & 非对称加密 - 秘钥交换技术 -

Linux 计算机基础

Deadly 提交于 2020-03-23 09:51:35
LINUX 计算机基础简介 1.计算机简介 计算机系统 : 软件系统和硬件系统。 计算机的组成 : 运算器、控制器、存储器、输入设备、输出设备。 运算器功能 : 对数据进行各种运算。除了对常规的加、减、乘、除运算外,还可以进行对与、或、非的逻辑运算。 控制器功能 : 是整个计算机系统的控制中心,指挥计算机协调运作。 存储器: 主要存储程序和数据信息,并能在计算机运作时,能高速、自动存取程序或数据。 输入设备: 向计算机输入各种程序和原始数据的设备。 输出设备 : 从计算机输出原始数据的设备。 2.描述内核功能以及作用 Linux 作用 : 主要负责系统的进程管理、内存管理、文件系统、网络功能、硬件驱动。 1)进程管理: 内核负责创建和销毁进程, 并处理进程与输入和输出设备的不同进程间的数据处理, 调度器,控制进程如何共享 CPU, 是进程管理的一部分. 更通常地, 内核的进程管理活动实现了多个进程在一个单个或者几个 CPU 之上的抽象。 2)内存管理: 计算机的内存是主要的资源, 处理它所用的策略对系统性能是至关重要的. 内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间. 内核的不同部分与内存管理子系统通过一套函数调用交互, 从简单的 malloc/free 对到更多更复杂的功能。 3) 文件系统: Unix 在很大程度 上基于文件系统的概念; 几乎 Unix

1.5-操作系统的分类

百般思念 提交于 2020-03-21 23:36:35
  下面我们介绍一下操作系统的分类,各种各样的分类都是存在的,那么我们呢主要是介绍传统的分类。 那么我们要简单提一下,我们教材里提出的这个 Tanenbaum 的这种分类。操作系统是不断在发展的 那么它的发展是由不同的因素来驱动的,这些因素呢我们归纳总结出:   (1)首先是硬件技术的 发展,硬件发展了对操作系统就有新的要求;   (2)还有就是应用需求的发展;   (3) 然后是软件新技术的出现。 所以我们说操作系统的发展是随着计算机硬件技术、 应用需求以及软件新技术的出现而发展的。为什么要不断的进展?那么因为 操作系统要能够充分的利用硬件,能够为用户提供 更好的服务,所以操作系统必须以这个为目标来不断的发展。 从过去到现在, 操作系统实际上是总在不断的往前发展,那么 早期很早的时候是大型计算机,那么有大型计算机操作系统; 后来呢,又有了个人计算机啊,个人计算机呢又从简单到复杂,所以又有 不同的操作系统出现; 当有了网络的 供支持之后,那么我们的操作系统就要支持网络的功能; 后来移动计算出现了,那么操作系统要变得能够支持各种各样的移动 设备上的各种就管理啊,各种管理功能;云计算和我们现在的 泛在计算或者是说物联网时代;一直到今天 非常火的机器人,那么都需要操作系统 进行相应的改改变,然后去支持这些 不同的环境。   那么我们 看一下操作系统的这些分类

浅谈Linux操作系统

≯℡__Kan透↙ 提交于 2020-03-21 22:33:46
  伴随着计算机的迅速发展,操作系统作为连接机器与人的桥梁,其崛起的必然性不言而喻。发展至今,典型的操作系统由很多,如DOS类、Windows类、Linux类、Mac OS类等等。不同的操作系统有其各自的特点,今天我就简要认识一下Linux操作系统的基本情况。   Linux是一种新型的操作系统,它的最大的特点就是源代码开放,可以免费得到许多应用程序。是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。   Linux操作系统诞生于1991 年的10 月5 日,是由一位名叫Linus Torvalds的计算机业余爱好者发布的,以惊异的速度迅速在服务器和桌面系统中获得成功,已经被业界认为是未来最有前途的操作系统之一。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。如Ubuntu(乌班图)、CentOS(社区企业操作系统)、Red Hat(红帽)操作系统等。    Ubuntu   Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观