二、操作系统的定义(管理资源、控制程序、提供服务)1、计算机系统定义:是按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。
2、计算机系统构成:硬件系统和软件系统。
3、硬件系统组成:中央处理器(CPU)、主存储器、辅助存储器、各种输入/输出设备。
1、操作系统定义:★ 在计算机中,集中了资源管理功能、控制程序执行、并向用户提供各种服务功能,使用户更灵活、方便、有效的使用计算机的软件称为操作系统。
2、操作系统的三大作用:★
三、操作系统的特征
- 资源的管理者、
- 向用户提供各种服务、
- 对硬件机器的扩展
四、研究操作系统的观点1、并发性:是指在计算机系统中同时存在着若干个运行着的程序,从宏观上看,这些程序在同时向前推进、
2、共享性:操作系统需与多个用户共享系统中的各种资源,比如CPU、内存、外部设备等。
3、随机性:操作系统不能对所运行的程序的行为以及硬件设备的情况作出事先的假定。即操作系统不能预知程序什么时候运行,什么时候因为什么原因暂停,什么时候能得到资源继续运行,什么时候运行结束等,这些都是不可预知的。
1、软件的观点:
操作系统是一种大型系统软件,它是多种功能程序的集合。有外在特性和内在特性。
外在特性:接口
内在特性:与硬件交互
2、资源管理的观点:
操作系统负责登记谁在使用什么样的资源,系统中还有那些资源空闲,当前响应了谁对资源的请求,以及回收那些不在使用的资源等。
3、进程的观点:
把操作系统看做由多个同时独立运行的程序和一个对这些程序进行协调的核心。
侧重于分析系统各部分的并行工作,研究处理各项管理任务的分割以及这些管理任务相互之间的关系,比如:竞争关系、进程通信。
4、虚机器的观点:
在操作系统的支持下,用户不需要直接使用硬件机器(裸机),而是使用操作系统提供的各种手段来控制和使用计算机。
例如,把所有设备和文件的操作抽象为统一的打开、关闭、读、写等,用户感觉不到底层的操作差异。
把操作系统的全部功能,包括系统调用、命令、作业控制语言等、称为操作系统虚机器。
5、服务提供的观点:
五、操作系统的功能(谐音:进村拥吻蛇)从用户的角度、站在操作系统之外观察操作系统。认为该服务提供者为用户提供了比裸机功能更强、服务质量更高、更方便灵活的虚拟机。
1、进程管理
①进程管理的实质:对中央处理器进行管理。或者称为处理机管理。
②多道程序技术:多个程序同时放入内存,如果一个程序因为等待某个条件而不能运行,就把处理器专用权转交给另一个可运行程序。
③进程的引入:为了描述多道程序的并发而引入
④进程的简单定义:一个程序的运行过程
进程管理的内容:进程控制、进程同步、进程间通信、调度。
2、存储管理
(1)任务:管理计算机内存的资源
(2)功能:
①:内存的分配与回收:当多个程序共享有限的内存资源时。要考虑如何为多个程序分配有限的内存空间,以及程序运行完毕还需要内存回收。
②:内存保护:存储在内存中的多个程序和数据应该彼此隔离、互不干扰。
③:内存扩张:将辅助存储器作为内存的扩充空间
3、文件管理
(1)任务:有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题、以便用户方便、安全地访问文件。
(2)功能:
①:文件存储空间的管理
②:目录管理
③:文件系统的安全性
4、设备管理
(1)设备管理的含义:指计算机系统中除了处理器和内存以外的所有输入、输出设备的管理。
(2)功能:负责外部设备的分配、启动和故障处理
(3)采用的技术:中断技术、通道技术、虚拟机技术、缓冲技术,尽可能发挥设备和主机的并行能力。
5、用户接口
第二节:操作系统体系结构 一、Windows操作系统的体系结构(1)从用户观点看,操作系统是用户与计算机之间的接口。
(2)任务:为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统高效地运行。
1、内核:线程调度、陷入处理和异常调度、中断处理和调度、多处理器同步、供执行体使用的基本内核对象。
2、硬件抽象层HAL:系统可移植性的关键部分,为运行在Windows操作系统上的硬件平台低级接口,隐藏了各种与硬件有关的细节,如I/O接口等专用的和依赖于计算机平台的函数。
3、执行体:属于内核,以系统函数的形式提供了系统的服务,可通过Win32API进行访问。
4、系统进程和系统线程:执行系统代码。
二、UNIX操作系统的体系结构1、内核层:
是操作系统管理和控制中心,常驻内存。有两种接口:内核与硬件的接口和内核与shell的接口。
内核本身分为两个部分:进程控制子系统和文件子系统。
2、系统层
内核层与应用层之间,供程序员并发调用,包括进程管理、文件管理、终端状态。
3、应用层:
面向用户操作的界面
三、Linux操作系统的体系结构四个部分:内核、shell。文件系统和应用程序
四、Android操作系统的体系结构四个部分:从高到低:应用程序层、应用框架层、系统运行库层和Linux内核层。
第三节:操作系统的发展第四节:操作系统的分类 一、批处理操作系统1、手工阶段
2、监控程序
3、多道批处理
4、分时与实时操作系统
5、UNIX通用操作系统
6、个人计算机操作系统
7、Android操作系统
1、基本工作方式
(1)用户将作业交给系统操作员
(2)系统操作员将许多用户的作业组成一批作业, 输入到计算机系统中,在系统中形成一 个自动转接的连续的作业流
(3) 启动操作系统
(4)系统自动、依次执行每个作业
(5)由操作员将作业结果交给用户
2、特点与分类
特点:成批处理,用户不能干预自己作业的运行。
目标:系统资源利用率高,作业吞吐率高。
分类:简单批处理和多道批处理。
3、设计思想:
在监控程序启动之前,操作员有选择地把若干个作业合并成一批作业,将这批作业安装在输入设备上,然后启动监控程序。监控程序将自动控制这批作业的执行。
作业的运行与衔接都由监控程序自动控制,从而有效地提高了作业运行的效率。
4、作业控制说明书:
作业控制说明书是由作业控制语言写的一段程序,他通常存储在被处理作业的前面。
作业的运行由作业说明书来传递给监控程序,运行过程中,监控程序读入并解释作业说明书,以控制各个作业步的执行。
5、一般指令和特权指令
操作系统的运行模式:用户模式和特权模式
处理器的状态:目态和管态
机器指令:一般指令和特权指令
系统调用:用户程序不能直接使用特权指令,它们必须向操作系统请求这些功能,这些功能通过系统调用完成。
6、系统调用的过程
(1)当系统调用发生时,由中断或异常处理程序,把控制流程转移到监控程序内的一些特定位置,处理机模式变为特权模式。
(2)由监控程序执行被请求的功能
(3)恢复现场,运行模式变为用户模式,控制权交给用户程序。
7、SPOOLing技术
是多道程序设计的关键技术之一,也称为假脱机技术。
二、分时系统1、基本工作方式
在分时系统中,一主机连接了若干个终端,每个终端可由一个用户使用。用户通过终端交互地向系统终端提出命令请求,系统接收用户命令后,采用时间轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
2、特点:
三、实时操作系统
- 多路性
- 交互性
- “独占性”
- 及时性
1、定义:实时操作系统是指,计算机能在规定的时间内,及时响应外部实事件的请求,同时完成对该事件的处理,并能够控制所有实施设备和实时任务协调一致地工作的操作系统。
2、目标:在严格时间范围内,对外部请求做出反应系统具有高可靠性。
3、分类:硬实时系统和软实时系统
4、能力:除了多道程序系统的基本能力外,还有一下功能:
四、嵌入式操作系统(1)实时时钟管理
(2)过载防护
(3)高可靠性
1、定义:
五、个人计算机操作系统在各种电器、电子和智能机械上、嵌入安装着各种微处理或微控制芯片。
嵌入式操作系统就是运行在嵌入式芯片环境中,对整个芯片以及它所操作、控制的各种部件装置等资源进行统一协调。调度、指挥和控制的系统软件。
计算机在某一时间内为单用户服务。
追求目标: 界面友好,使用方便丰富的应用软件。
六、网络操作系统基于计算机网络 在各种计算机操作系统上按网络体系结构协议标准开发的软件
功能:网络管理,通信,安全,资源共享和各种网络应用
追求目标:相互通信,资源共享
七、分布式操作系统分布式系统:或以计算机网络为基础,或以多处理机为基础,基本特征是处理分布在不同计算机上。
分布式操作系统:是一个统一的操作系统,允许若干个计算机可相互协作共同完成一项任务。 操作系统可将各种系统任务在分布式系统中任何处理机上运行, 自动实现全系统范围内的任务 分配、自动调度、均衡各处理机的工作负载。
特点:处理能力增强、速度更快、可靠性增强、具有透明性
第五节:操作系统设计 一、操作系统的设计过程1、功能设计:
确定所设计的操作系统应具备哪些功能以及操作系统的类型。跟目标有关。
2.、算法设计:
选择和设计满足系统功能的算法和策略,并分析和估算其效能。
3、结构设计:
二、操作系统的设计目标三、操作系统的结构设计1、可靠性
2、高效性
3、易维护性
4、可移植性
5、安全性
6、简明性
四、操作系统的结构1、系统模块化
2、模块标准化
3、通信规范化
第二章:操作系统运行环境 第一节:处理器 一、处理器的构成与基本工作方式1、整体式结构
2、层次式结构
3、微内核(客户/服务员)结构
定义:处理器一般由运算器、控制器和一系列寄存器以及高速缓存构成。
①运算器:实现指令中的算术和逻辑运算
②控制器:控制程序运行流程
③寄存器:处理执行指令中暂存数据、地址以及指令信息
④高速缓存:为CPU和内存提供一个高速的数据缓存区域
1、处理器中的寄存器
| 分类 | 用户可见寄存器 | 控制和状态寄存器 |
|---|---|---|
| 定义 | 由编译程序分配,减少程序运行时访问内存的次数。 | 用于控制处理器的操作,由具有特权的操作系统代码使用以控制其他程序的执行。 |
| 常见寄存器 | 一般包括数据寄存器、地址寄存器、条件码寄存器。 | 常见的寄存器是程序计数器(PC)、指令寄存器(IR)、程序状态字(PSW) |
2、指令执行的基本过程:
(1)步骤:
①:读取指令,并将程序计数器的值变成下一条指令的地址。
②:指令放入指令寄存器中,处理器解释并执行该指令。
(2)指令的分类:
二、特权指令和非特权指令访问存储器指令:负责处理器和存储器之间的数据传送
I/O指令:负责处理器和I/O模块之间的数据传送和命令发送
算术逻辑指令:又称数据处理指令,用以执行有关数据的算术和逻辑操作
控制转移指令:可以指定一个新的指令的执行起点
控制器控制指令:用于修改处理器状态,改变处理器工作方式
在多道程序环境下,指令分为特权指令和非特权指令
1、特权指令:
在操作系统中那些只能由操作系统使用的指令
不允许一般用户使用
比如:设置程序状态字、启动某程序、设置中断屏蔽字等
2.非特权指令:
三、处理器的工作状态普通用户使用的指令
1、管态和目态
| 管态 | 目态 |
|---|---|
| 操作系统管理程序运行时的状态,又称内核态、系统态等,具有较高特权 | 一般用户程序运行时的状态,又称用户态、普通态,具有较低特权 |
2、处理器工作状态的转换
| 目态到管态 | 管态到目态 |
| 唯一途径是通过中断。中断响应时交换中断向量,新的中断向量的PSW的处理器状态标志位管态 | 可通过设置PSW指令(修改程序状态字),实现从操作系统向用户程序的装换 |
3、限制用户程序执行特权指令
当用户执行程序时,如果取到了一条特权指令,则处理器拒绝执行该指令,并形成一个“非法操作”事件。然后操作系统通知用户程序:“程序中有非法指令”。
四、程序状态字为了解决处理器当前工作状态的问题,所有的处理器都有一些特殊寄存器,用以表明处理器当前的工作状态。比如用一个专门的寄存器来指示处理器的状态,称为程序状态字(PSW),用程序计数器(PC)这个专门的寄存器来指示下一条要执行的指令。
程序状态字(PSW)一般包括:
CPU的工作状态码:指明当前的工作状态是管态还是目态。
条件码:反映指令执行后的结构特征,比如结果为0等。
中断屏蔽码:指出是否允许中断
CF:进位标志位、ZF:结果为0标志位
第二节:计算机系统硬件部件 一、存储系统:1、存储系的类型:
(1)类型:
| 读写型存储器(RAM) | 用来存储随机存取的程序和数据 |
| 只读存储器(ROM) | 存放一下固话的程序 |
(2)存储分块
存储的最小单位:二进位(bit),只有1和0
最小编制单位:字节
分块:为了分配和管理方便,将内存划分为大小相等的块(物理页Page)。以块为单位分配内存空间,大小一般为512B、1kb、4kb、8kb。
2、存储器的层次结构
(1)容量、速度和成本的匹配
(2)存储访问局部性原理
程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下是顺序执行的
过程调用将会使程序的执行轨迹,由一部分区域转移至另外一部分区域,即程程序会在一段时间,都局限这些程序的范围运行。
3、存储器保护
二、I/O部件:略,可看第8章。 三、时钟部件多道程序设计系统中,保证每个程序独立运行,互不干扰,称为存储器保护。
方法:界地址寄存器
1、功能:
(1)发现死循环,防止机时的浪费
(2)分时系统中,时间间隔实现时间片的轮转执行
(3)实时系统中,按要求的时间间隔控制设备
(4)定时唤醒各个外部事件
(5)记录各个设备使用时间和某外部事件发生的时间间隔
(6)记录用户和系统所需的绝对时间,即年、月、日
2、分类:
第三节:中断机制 一、中断和异常的概念硬件时钟和软件时钟
按用途分:绝对时钟和相对时钟
1、中断与异常:
①中断:指处理器对系统中或系统外发生的异步事件的响应。
②异步事件:指无一定时时序关系的随机发生的事件,如外部设备完成数据传输任务,某一实时控制设备出现异常情况等。
③中断源:引起中断的事件称为中断事件或中断源。
④中断请求:中断源向处理器发出的请求信号。
⑤中断处理程序:处理中断事件的程序。
⑥断点:发生中断时正在运行的程序的暂停点。
⑦中断响应:处理器暂停当前程序转而处理中断的过程。
⑧中断返回:中断处理程序结束后恢复原来程序的执行。
⑨中断向量表:为使得中断装置可以找到恰当的中断中断处理程序,专门设计了中断处理程序的入口地址映射表,又称中断向量表。
⑩异常:由正在执行的指令引发的中断。
2、中断与异常的分类
二、中断系统中断系统是现代计算机系统的核心机制之一,他不是单纯的硬件或者软件的概念,而是硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力的计算机模式。
1、中断请求的接收:
中断系统如何接收中断源的中断请求,因机器而异,一般由中断逻辑线路和中断寄存器实现的。
2、中断响应:
处理器的控制部件中有中断信号扫描结构,他在每条指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号到来。若中断信号,处理器就继续执行下一条指令。若有中断到来,处理器接收由硬件中断装置发来的中断向量代号,准备中断处理工作。
3、中断处理:
中断信号被接收和响应后,进行中断处理,包括:检查I/O设备或者设备和内存之间传送数据等。
中断处理结束后,中断返回,恢复系统上下文,原有程序继续运行。处理器状态也从管态恢复成目态。
整个中断信号的接收。响应和处理过程,可归纳为以下步骤:
(1)就收和响应中断
(2)保护中断断电现场
(3)分析中断向量,调用中断处理程序
(4)中断处理结束恢复现场,原有程序继续执行
4、集中典型中断的处理:
三、中断优先级、中断屏蔽与中断嵌套(1)I/O中断
(2)时钟中断
(3)硬件故障中断
(4)程序性之中断
(5)系统服务请求
1、多级中断与中断优先级
作用:
(1)对各类中信号依据其紧急程度和重要性划分级别,系统优先处理最紧急或最重要的任务。
(2)解决如果有多个中断信号同时达到,如何选择首个被处理的中断信号的问题。
2、中断屏蔽:
在整个中断系统中,允许或禁止中断系统对某些类别中断的响应。PSW(程序状态字)中设有屏蔽位。
还有一类中断信号是不能被屏蔽的,一般这类中断信号属于机械故障中断,比如掉电,机器无法继续工作,一旦发生无论信号是否被屏蔽,处理器都会立即响应,并进行处理。
3、中断嵌套
一般的计算机系统都有多个中断源,如果一个中断处理的过程中发生了中断,有两个策略处理:
(1)当处理一个中断时禁止其他中断
(2)中断嵌套:是指中断发生后,若出现优先级别比正在处理的中断级别高的中断,则先处理优先级别高的中断。
第四节:系统调用 一、系统调用简介
系统调用概念:就是用户在程序中调用操作系统提供的一些子功能,是操作系统提供给编程人员的唯一接口。
是一种特殊的过程调用,由特殊的机器指令实现(访管指令),这条指令将系统转入管态。
执行模式:系统调用在管态下运行,用户程序在目态下运行,用户程序可以通过“访管指令” 实现用户程序与系统调用程序之间的转换。(注:访管指令本身是一条在目态下执行的指令)
1、系统调用与函数调用的区别:
| 区别 | 系统调用 | 函数调用 |
|---|---|---|
| 运行在不同状态 | 管态 | 目态 |
| 状态的转换 | 目态→管态→目态 | 无转换 |
| 返回问题 | 如果有优先级更高的进程,则执行优先级更高的进程 | 返回调用程序继续执行 |
| 嵌套调用 | 允许嵌套调用 | 允许嵌套调用 |
2、系统调用的分类:
(1)进程控制类
(2)文件操作类
(3)进程通信类
(4)设备管理类
(5)信息维护类
3、系统调用与库函数、API、内核函数的关系:
二、系统调用的处理过程陷入(trap):
在系统中控制系统调用服务的机构称为陷入或异常处理机构。
陷入或异常指令(访管指令):
把由于系统调用引起处理器中断的指令称为陷入或异常指令(或称访管指令)
处理过程:
待续、、、、、、



