本文参考哈尔滨工业大学2010年版《计算机操作系统》
一.操作系统导论
1.1操作系统的概念:
概念:是控制和管理计算机系统硬件资源和软件资源的系统软件,合理组织计算机工作流
程,是用户与计算机之间的接口。(是特殊的系统软件,对资源进行回收分配,为用
户提供方便友好的操作平台)
功能:
(1)用户、程序和计算机之间的接口
(2)资源管理(处理器、存储、文件、设备的管理)
(3)控制协调程序运行
特性:
(1)并发性:存在同时,并行的活动(实现活动切换及相依赖活动的协调同步,信息交换)
(2)共享性:使用相同数据时、协同开发时,同时提高经济效益
(3)不确定性:外部的中断等请求、运行时发生的故障等导致操作系统处理不确定的事
件序列,表现出了操作系统工作的不确定性
(4)虚拟性:对确定的硬件实体的改造,如虚拟存储、虚拟机等技术
(5)可拓展性:应具有可拓展的能力,即有效地开发、测试和引进新的系统功能
1.2操作系统的发展史
1.人工操作阶段:电子管时代,由程序员直接维护。
2.早期批处理系统:
(1)联机批处理:将工作分批输入,解决了计算机空闲时间的问题(存在监督程序代替
程序员人工操作,监督程序与用户程序交替进行,为后来系统模式和
用户模式的前身。为保证监督程序进行,引出主存特定区域的保护问
题。公共子程序的存在引入主存共享和扩充问题)
(2)脱机批处理:将慢速I/O设备从cpu中脱机出来,以磁带盘为中介提高资源利用率。
(引入中断技术,使监督程序、用户程序的切换灵活;引入通道技术
通道负责I/O设备与主机的信息传输,使cpu、通道、I/O设备并行,
提高cpu利用率)
(3)多道程序批处理系统:使程序从串行处理进步到并行处理。(微观串行)
3.分时系统:将cpu时间划分为微小时间片,分别为不同终端服务,依次轮转,实现实时交
互,解决批处理系统需要等待批处理完成才能获得结果的问题。
4.实时系统:实现连续操作需要冗余措施,导致利用率较低,但带来快速响应及高可靠性。
5.通用型操作系统:综合多种操作系统的特点,以UNIX为代表。(UNIX:通用的多用户分时
交互型操作系统)
1.3操作系统的类型
1.批处理系统:成批提交,效率高;宏观并行,微观串行。但没有交互性,有等待周期。
2.分时操作系统:多路联机,用户独占
3.实时操作系统:联机处理,实时控制,但引入冗余系统,降低速度。
4.网络操作系统:资源共享,分为资源管理者与资源使用者。
5.分布式操作系统:计算机中安装分布管理系统,没有明显主从关系,组织在一起就是分布
式。具有分布性、协同性、平等性的特点。
1.4操作系统体系结构
1.整体式操作系统:模块化,分为用户模式(用户态)以及系统模式(管态),在用户模式时
发出陷入指令就会进入系统模式执行系统程序。仍为一个整体。
2.分层操作系统:层与层之间隔离,下层屏蔽细节,向上层提供接口,使系统安全性得到保证
3.虚拟机:将一台计算机虚拟成多台计算机,支持多道程序同时运行。
4.C/S及B/S模式:客户机/服务器模式(Client/Server)包括客户机、服务器、网络三个要素。
客户机运行用户程序,服务器运行系统程序,通过发送、接受减轻操作系
统负担。
浏览器/服务器(Browser/Server)模式将应用程序从终端上分离,客户终
端不需要安装应用程序,只需要浏览器输入应用程序提供方的网址。
5.微内核:将基本操作系统放入内核中,核外进程通过微内核与硬件进行交互。灵活性强,可
靠性高。
1.5人机界面
1.命令控制界面(CI):命令行操作,MS-DOS操作系统为典型
2.图形用户界面(GUI):用图标、文本等代替命令进行控制。
3.应用程序接口(API):系统调用,提供给编程人员的一种接口,包括设备管理、文件管
理、进程控制、进程通信、存储管理、线程管理
二.进程与处理器管理
2.1进程的引入
多道程序批处理中的并行使得程序执行时产生随机性,为此需要引入概念--进程动态描绘程序
运行。
1.进程的概念:进程(Progress)是具有独立功能的程序关于某个数据集合上的一次运行活动
总的来说,进程就是运行起来的程序。程序本身是指令集构成的静态存在的结构,
而当对程序进行调用,包括输入的数据集、程序本身以及输出的结果整体构成了运
行的进程。进程与程序有如下区别:
(1)进程是运行的过程,是动态的概念;程序是静态的概念。
(2)进程有生命周期,只能暂时存在;程序是永久的。
(3)进程包括程序和数据,存在结构。(还包括记录进程状态信息的数据结构--进
程控制块(PCB))
(4)进程与程序不一一对应。进程可运行多个程序,反之亦然。
(5)进程可生成其他进程,程序不可生成其他程序。
进程既是并发运行的基本单位,又是分配资源的基本单位。同样可分为系统进程和
用户进程。
2.进程的基本特征:
(1)动态性:进程动态产生,动态消亡。程序执行好就结束。
(2)并发性:为了描述并发运行才产生了进程。系统中同时存在多个进程,轮流占用
cpu及资源并共同推进。
(3)独立性:进程是cpu调度的独立单位,每个进程相对独立。
(4)交互性:进程之间可能产生直接或间接的关系(子进程等)。
(5)制约性:进程会相互制约,随机地影响向前推进的速度。
(6)结构性:进程有结构,由程序、数据、进程控制块(PCB)组成。
2.2进程管理和控制
(因为草稿全没了所以完全不想写一笔带过吧)
1.进程状态及转换
进程在生命周期中本质是状态的转换,有如下三种:
(1)就绪状态:具备运行条件只待cpu控制权,就绪队列
(2)运行状态:正在运行态
(3)阻塞状态:某种原因不能运行的进程(与cpu无关),阻塞队列
状态的转换:
(1)就绪—运行:进程调度,赋给程序cpu控制权
(2)运行—就绪:时间片到,系统分配时间片到头,被迫中止
(3)运行—阻塞:服务请求,如I/O;进程需要的某种条件未满足
(4)阻塞—就绪:服务完成,或事件来到,可以运行
2.进程的描述—— 进程控制块(PCB)
Ⅰ.概念:描述进程与其他进程、系统资源的关系以及进程在各个不同时期所处状态的数
据结构。
Ⅱ.作用
(1)创建进程就是创建PCB;标志进程的生成
(2)进程与PCB一一对应
(3)集中反映进程的动态特征
(4)根据PCB中数据协调进程间制约关系
Ⅲ.内容
标志信息 | 进程名 |
说明信息 | 进程状态 |
程序存放位置 | |
数据存放位置 | |
现场信息 | 通用寄存器内容 |
控制寄存器内容 | |
断点地址 | |
管理信息 | 进程优先数 |
队列指针 |
Ⅳ.进程队列
系统将PCB组织起来放到主存固定区域构成PCB表;PCB表的大小决定最多进
程数,称为系统的并发度。
组织进程有以下方式:
(1)线性方式:形式简单,易于实现
PCB1 | PCB2 | PCB3 | …… | PCBn |
(2)链接方式:按状态分别排列
(3)索引方式:对应不同状态建立索引表,如就绪索引表等
3.进程的控制与管理
系统中进程构成族系。开机时引入操作系统后生成第一个进程,称为0号进程,由
它开始繁衍;父进程生成子进程,形成树形进程族系。
操作系统由内核控制进程,包括创建进程、撤销进程、挂起进程、恢复进程、改变
进程优先级、封锁进程、唤醒进程、调度进程等。
控制进程也需要进程,为保证该进程绝对正确,采用屏蔽中断的方法来保证该程序
的完整性。这种程序称为“原语”。下图为两个原语程序例子。
![123](https://i-blog.csdnimg.cn/blog_migrate/6743be20b4e4373404ad3b17c875a8ca.jpeg)
2.3进程同步与通信
多道程序环境中,系统并发运行的多个进程间可能无关,也可能有交往。对于有交往的进程,往往要竞争资源,速度受到进程调度策略的限制。进程同步就是管理共享资源并避免发生错误的手段,包括进程的互斥与进程的同步两个方面。除了同步外,还要管理进程间的通信。
1.进程的互斥
Ⅰ.进程的互斥是指并发进程在竞争共享资源时,任何时刻最多只允许一个进程去使
用,其他与使用该进程的资源必须等待,直至使用者释放了该资源后才能让另一个进程
去使用,即并发进程对于共享资源的的使用,必须是排他的、互斥的。
进程的互斥可以有效地对独占共享资源的使用加以限制,但具有互斥性质的进程相
互之间都没有什么依赖,可以单独运行;因此,这是一种间接制约关系,具有以下特
点:
(1)互斥进程彼此逻辑完全无关。
(2)运行不具有时间次序的特征。
Ⅱ.临界资源与临界区:
临界资源:一次仅允许一个进程使用的资源(即独占的共享资源),有输入
机、打印机等物理设备(硬共享资源),也有共用变量、表格等软临
界资源。
临界区:每个进程中访问临界资源的程序,简称CS区。
Ⅲ.临界区的管理准则:
①若干进程需要访问一个临界资源时,每次只允许一个进程,其他等待。
②任何一个进入临界区的程序都必须在有限制时间内退出临界区。
③一个进程退出临界区时必须有一个等待进程进入临界区。
2.进程的同步:
进程A和B共享一个临界资源,B需要A处理数据放入临界资源后才能对A处理后的数据进
行处理。若A速度远快于B,则A在B处理完上一个数据之前会不断在临界资源中替换处理资
源,造成数据的丢失。这时就需要进行进程的同步来协调各自的运行速度。
进程的同步:并发进程中存在的一种制约关系,一个进程的运行依赖其他进程的运行情
况,即一个进程在没有收到其他进程的消息时必须等待,直至另一进程送来消息后才继续运
行下去。
进程的同步具有以下特点:
(1)同步进程间具有合作关系,在逻辑间有某种联系。
(2)在执行时间上必须按一定的顺序协调进行。
3.进程同步机制