操作系统概论-02323(2017 年张琼声版本)
第一章:操作系统简介
操作系统概念:操作系统是一种复杂的系统软件,是不同程序代码、数
据结构、初始化文件的集合,可执行。
操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软
件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。
接口是两个不同部分的交接面。接口分为硬件接口和软件接口,计算机
的所有功能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作
的细节。
操作系统完成的两个目标:
与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提
供服务。
为运行在计算机系统上的应用程序(即用户程序)提供执行环境
现代计算机特点是支持多任务,,一方面保证用户程序的顺利执行,另
一方面使计算机系统资源得到高效的利用,保证计算机系统的高性能
操作系统的功能:处理机管理、内存管理、设备管理、文件管理。
● 操作系统的发展:
无操作系统--单道批处理系统--多道批处理系统--微机操作系--实时操作
系统
无操作系统阶段:电子管,无存储设备,第一台:1946 年宾夕法尼亚
大学的「埃尼阿克」
单道批处理系统:晶体管,磁性存储设备,内存中有一道批处理作业,
计算机资源被用户作业独占。
吞吐量是指单位时间内计算机系统处理的作业量
多道程序系统:集成电路芯片,出现了分时操作系统(多个终端)。
微机操作系统:第一台 Intel 公司顾问 GaryKildall 编写的 CP/M 系统,
是一台磁盘操作系统,用于 Intel8080.
实时操作系统:广泛应用于各种工业现场的自动控制、海底探测、智能
机器人和航空航天等。
● 批处理、实时、分时系统的优缺点比较:
单道批处理系统:自动性、顺序性、单道性。优点:减少了等待人工操
作的时间
缺点:CPU 资源不能得到有效的利用。
多道批处理系统:多道性、无序性、调度性、复杂性。优点:能够使
CPU 和内存 IO 资源得到充分利用,,提高系统的吞吐量。缺点:系统
平均周转时间长,缺乏交互能力。
分时系统:多路性、及时性、交互性、独立性。优点:提供了人机交互,
可以使用户通过不同终端分享主机。缺点:不能及时接收及时处理用户
命令。
实时操作系统(用户实时控制和实时信息处理):多路性、独立性、及
时性、交互性、可靠性。在实时系统中,往往采取多级容错措施来保证
系统安全和数据安全。
操作系统产品:主机操作系统(批处理、事务处理(银行支票处理或航
班预订)、分时处理),微机操作系统,服务器操作系统、嵌入式操作
系统(物联网操作系统)
操作系统特征:并发(多个事件在同一时间间隔内同时发生)、共享、
虚拟、异步
操作系统功能:
内存管理:任务是为多道程序的运行提供良好的运行环境,方便用户使
用内存,提高内存利用率,以及从逻辑上扩充内存实现虚拟存储。它具
有内存分配、内存保护、地址映射和内存扩充(借助与虚拟存储技术)
等功能。
进程管理
文件管理:存储空间的管理-目录管理-文件的读写管理和权限控制
设备管理
提供用户接口:命令接口,图形用户接口,程序接口
操作系统体系结构:
简单的监控程序模型—单体结构模型—层次结构模型—客户服务器模
型与微内核结构—动态可扩展结构模型
单体内核是操作系统中最早、最常见的体系结构
(UNIX/MS-DOS/Linux/MAC OS X/BSD)
层次结构最经典的例子 Dijjkstra 的 THE 系统
指令的执行:程序是指令的集合,程序的执行就是按照某种控制流执行
指令的过程。一个单一指令需要的处理称为指令周期,包括取指周期和
执行周期
第二章:进程管理
程序的顺序执行特点:顺序性,封闭性、可再现性
程序的并发执行特点:间断性、失去封闭性、不可再现性
进程的概念:
进程是允许并发的程序在某个数据集合上的运行过程
进程是正文段、用户数据段和进程控制块共同组成的执行环境。正文
段存放被执行的机器指令,用户数据段存放进程在执行时要操作的用户
数据,进程控制块存放程序的执行环境,操作系统通过这些描述和管理
进程。
进程代表了程序的执行过程,是一个动态的实体,它随着指令的执行而
不断变化,在某个特定时刻的进程内容被称为进程映像。
进程的特征:并发性、独立性、异步性、动态性、结构特征。
● 进程和程序的区别:
程序是静态的,进程是动态的
程序是永久的,进程是暂时存在的
程序和进程存在的实体不同。程序是指令的集合,进程是由正文段、
用户数据段、进程控制块组成
进程和程序的联系:
进程是程序的一次执行,进程总是对应至少一个特定的程序,执行程序
的代码,一个程序可以对应多个进程。
进程控制块:
进程实体存在的标志是操作系统管理进程所使用的数据结构—进程控
制块
进程控制块是进程实体的一部分,是操作系统中最重要的数据结构,进
程控制块中记录了操作系统所需要的,用户描述进程情况以及控制进程
运行所需要的全部信息,进程控制块是操作系统感知进程存在的唯一标
志。
进程控制块中的信息:进程标识符信息、处理机状态信息、进程调度信
息、进程控制信息
进程的状态:就绪态、执行态,阻塞态
转换:
进程的组织:链接方式、索引方式、进程队列
进程的控制:进程的创建----阻塞----唤醒----终止
创建的条件:1)用户登录 2)作业调度 3)提供服务 4)应用请求
阻塞的条件:1)请求系统服务 2)数据尚未到达 3)无工作可做 4)启
动某种操作
● 操作系统内核
操作系统内核是计算机硬件的第一次扩充,内核执行操作系统与硬件密
切相关,执行频率高的模块,常驻内存。
操作系统内核的功能:1)支撑功能 2)资源管理功能
支撑功能包括:中断处理、时钟管理和原语操作,原语操作是一组在执
行过程中不能中断的操作
资源管理功能包括:进程管理、存储器管理和设备管理
中断:中断是改变计算机执行指令顺序的一种事件,这种事件与 CPU
芯片内外部硬件电路产生的电信号相对应。
中断的目的:能有效提高 CPU 的利用率,改善系统性能,支持系统的
异步性。引用中断机制前,采用的是反复轮询的方式,来检测本次 I/O
是否结束。
中断类型 1)同步中断(内部中断或异常)2)异步中断(外部中断)
同步中断是当指令执行时由 CPU 控制单元产生的,如除法出错,调试、
溢出、浮点出错等
异步中断是由其他硬件设备随机产生的,可分为外部可屏蔽中断(I/O
设备产生)和外部不可屏蔽中断(紧急事件产生,硬件故障等)
引起中断的原因:1)人为设置中断 2)程序性事故 3)I/O 设备 4)硬
件故障 5)外部事件
单重中断的处理过程:CPU 在反复执行指令的过程中,每执行完一条执
行,都会检查是否有外部中断的到来,如果有中断信号,则转中断处理。
● 时钟管理:
计算机的很多活动都是由定时测量来控制的,两种定时测量:1)保存
当前的系统时间和日期 2)维持定时器,操作系统依靠时钟硬件和时钟
驱动程序来完成上述两种测量
时钟硬件(可编程间隔定时器)的功能:按照指定的时间间隔产生时钟
中断,测量逝去的时间,并触发与时间有关的操作
时钟软件(时钟驱动程序)功能:1)维护日期和时间 2)递减当前进程
在一个时间片内的剩余执行时间,并检查是否为 0,防止进程运行超时
3)对 CPU 的使用情况记账 4)递减报警计数器
操作系统内核可以利用时钟机制防止一个进程垄断 CPU 或者其他资源
两个时钟源:实时时钟(RTC/CMOS)和 OS 时钟.
● 系统调用:系统调用是一群事先定义好的模块,他们提供一条管道
让应用程序或用户能由此得到核心程序的服务。
系统调用是系统程序与用户程序之间的接口
系统调用与一般函数调用的区别:
1) 系统调用运行在系统态,一般函数运行在用户态
2) 系统调用与一般函数的执行过程不同,系统调用中断时,由系统找
相应的系统调用子程序
3) 系统调用要进行『中断处理』,比一般函数多了一些系统开销
● 进程同步:
操作系统同步机制的主要任务就是保证在多任务共享系统资源的情况
下,程序执行能得到正确的结果。同时,同步机制需要解决进程执行的
协调问题。
进程同步的概念:在多任务系统中,进程一般存在资源共享关系和相互
合作的关系。进程同步有两个任务:1)对具有共享资源关系的进程,
保证以互斥的方式访问临界资源。临界资源是必须以互斥方式访问的共
享资源。2)对具有相互合作关系的进程,要保证相互合作的诸进程协
调执行。
同步机制应遵循的准则:1)空闲让进 2)忙则等待 3)有限等待 4)让
权等待
● 信号量机制(wait signal)对不同的共享资源设置称为信号量的变
量,用信号量的取值标识资源的使用状况,或某种事件的发生。
一、 整型信号量机制:
用整型变量值来标记资源的使用情况。若整型量>0,说明有可用资源;
若整型量<=0,说明资源忙,进程必须等待。对于一次只允许一个进程
访问的临界资源,可定义一个用户互斥的整型信号量,并将其初始化为
1,整型信号量的值只能通过两个特定的原子操作 wait 和 signal 来改变。
Var s integer;
Wait(s){ //申请资源
While s<=0 do no-op;
S=s-1; //占用资源
}
signal(s){ //释放资源
s=s+1;
}
整型信号量的互斥:初始变量为 1
整型信号量的协调:初始变量为 0