第一章 概述
1.操作系统的定义:是一个大型的程序系统,它负责计算机的全部软硬件资源的分配,调度工作,控制并协调并发活动,实现信息的存取及保护,它提供用户接口,使用户获得更好的工作环境,操作系统使整个计算机实现了高效率及高度自动化。操作系统属于应用软件。
2.操作系统的基本功能
(1)人-机交互界面:用户可直接使用键盘命令或Shell命令语言,调用操作系统内部功能模块(系统调用)
(2)资源管理:文件管理、存储管理、设备管理、处理器管理、作业管理
3.操作系统的分类
(1)单用户操作系统:一个用户独占计算机系统资源,系统所有软硬件资源全为一个用户服务,单独地执行该用户提交的一个任务; 优点:操作系统简单,易被人们掌握; 缺点:系统资源未能充分利用;
(2)批处理操作系统:采用批量化处理作业技术的操作系统 a.单道批处理系统 b.多道批处理系统 二者区别: 单道 多道 内存使用 每次一个作业 每次多个作业(充分利用内存) 作业次序 顺序,先进先出 无确定次序 共同特征 用户与他的作业之间没有交互作用,不能直接控制其作业的运行;作业成批处理;多道程序执行自动化,充分利用系统资源。 (3)实时操作系统:对随机发生的外部事件能做出及时的响应并对其进行处理 的操作系统
特点:a.较少有人为干预的监督和控制系统;
b.软件依赖于应用的性质和实际使用的计算机类型; c.专用系统:许多实时系统是专用系统。
d.实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应, 具有较强的中断处理机构。 e.高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。
f.事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。
g.可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。
应用:监督生产线,流水线生产的连续过程,监督病人的临界功能,监督和控制交通灯系统,监督和控制实验室的实验,监督军用飞机的状态等;
(4)分时操作系统:多个用户分享使用同一台计算机,把计算机的系统资源进
行时间上的分割,即将整个工作时间分成一个个的时间段,每个时间段称为一个时间片;
特点:a.同时性:若干个终端用户可以同时使用计算机,共享系统资源,提高了 资源利用率;
b.独立性:用户彼此独立,互不干扰;
c.及时性:用户的请求能在较短的时间内得到响应;
d.交互性:用户能进行人机对话,联机地调试程序,以交互方式工作,加快了调试时间;
(5)网络操作系统:提供网络通信和网络资源共享功能的操作系统 特点:a.系统中任意两台计算机可以通过通信来交换信息 b.系统中各台计算机五主次之分 c.系统的资源为所有用户所共享
d.系统中若干台计算机可以互相协作来完成一个共同任务
功能:处理机管理、存储器管理、设备管理、文件管理,提供高效、可靠的网络通信能力,提供多种网络服务功能
分布式操作系统是一种特殊的网络操作系统 4.处理器状态,特权非特权指令,程序状态字 (1)处理器状态
a.管态:操作系统管理程序运行的状态; b.目态:用户程序运行的状态; (2)指令 a.特权指令:操作系统中只能由操作系统使用的指令,控制中断屏蔽的某些指令,清主存指令,建立存储保护指令等等。
b.非特权指令:操作系统和用户都可以使用的指令
说明:当处理器处于管态时,可以执行全部的指令(包括特权指令),使用所有资源,并具有改变处理器状态的能力,当处理器处于目态时,就只能执行非特权指令。
(4)程序状态字:用来指示处理器状态,控制指令执行顺序,并且保留和指示与相应程序有关的系统状态
第二章 处理器管理
1.多道程序并发执行的特点
(1)程序执行时的资源共享性;
(2)程序失去了封闭性和可再现性; (3)并发程序之间的相互制约性; 3.进程
(1)进程的定义:进程是能和其他程序并发执行的程序段在某数据集合上的一次运行过程,它是系统资源分配和调度的一个独立单位; ☆(2)进程与程序间的区别: a.程序是一组指令的集合,它只规定了运行活动时所要完成的功能,本身没有运行的含义,因此程序是静态的概念,而进程是一段程序的一次运行活动,它的着眼点是活动,运行,过程,因此进程是动态概念;
b.进程是一个独立调度并能和其他进程并行运行的单位,而程序通常不能作为独
立调度进行的单位;
C.一个程序运行在两个不同数据集合上,就是两个不同的进程,因此进程和程序不存在一一对应关系,一个程序可以对应多个进程,反之,一个进程至少要对应一个程序,或对应多个程序,多个进程也可以对应相同的程序; (3)进程的组成: a.程序
b.数据集合
c.进程控制块(PCB)
(4)进程的三种基本状态:(P48 习题2.4) a.就绪状态:进程已得到除CPU以外的全部资源,是一旦获得CPU就可以执行的状态;
b.执行状态:进程已获得必要的资源并占有CPU,正在执行的状态; c.阻塞状态:进程因等待某一事件而暂不能执行的状态; 资源满足且获得CPU ☆(5)进程的三态转换:
就 绪 执 行
时间片用完
等待事件已发生 等待事件发生
阻 塞
(6)进程控制的任务:对系统中所有进程从创建到消亡的全过程实行有效的管理和控制;
(7)原语:由若干条机器指令构成的程序模块,它是用于完成特定功能的一段程序.为了保证操作的正确性原语在执行期间不可分割;(一旦开始执行,直到完毕之前,是不允许中断的) (8)进程控制原语:
a.创建原语 b.撤销原语 c.阻塞原语 d.唤醒原语 4.进程调度
(1)进程调度的概念:系统按照一定算法把CPU动态分配给就绪队列中的某个进程,并使之执行(在批处理系统中); (2)进程调度的层次:
a.高级调度:按照某种原则从外存上的后备作业中选一个或几个进入内存,并为其运行做好有关准备工作;
b.中级调度:负责内外存之间的进程对换,以解决内存紧张问题,即将内存中处于等待状态的某些进程调到外存对换区以腾出空间,再将外存对换区中已具备运行条件的进程重新调入内存准备运行;
c.低级调度:决定就绪队列中哪个进程将获得处理器,并实际执行将处理器分配给该进程的工作(批处理系统和分时系统都必须配备) ; (3)进程调度的功能:
a.保护当前正在执行的进程的现场,将程序状态寄存器,指令计数器及所有通用寄存器的内容放到特定单元保存起来;
b.查询,登记和更新进程控制表PCB中的相应表项,根据表项中的内容和状态,按一定的算法,从就绪进程中选择一个,并把CPU分给它;
c.恢复被调度到的进程的原来现场,从而使它按上次放弃CPU时的状态继续运
行;
(4)进程调度的方式:a.剥夺(抢占)式 b.非剥夺(抢占)式 (5)进程调度的常用算法: ☆时间片轮转法(剥夺式):把CPU按时间片,按顺序赋予就绪队列中的每一个进程,即就绪队列中各进程轮流占用CPU执行一定时间,若某个进程在规定时间片内未执行完毕,也必须释放CPU,并把CPU分配给下一个进程; ☆优先级调度:把处理器分配给就绪队列中具有最高优先级的进程;
a.静态优先级:在进程创建时即被确定,在以后执行的过程中不在改变(确定依据:进程类型,进程对资源的需求,用户要求的优先级);
b.动态优先级:在进程的执行期间按某种原则不断修改进程的优先级,优先级一般素进程的等待时间,占用CPU的时间的变化而变化。 ☆多重队列轮转法:把时间片轮转法中的单就绪队列改为双就绪队列或多就绪队列,并赋给每个队列不同的优先权;(特点:先来先服务;获得CPU的优先权按序数上升而递减,而时间片的长度按序数上升而递增;CPU); 5.线程
(1)线程的定义:线程是进程中的一个实体,它是比进程更小的能够独立运行的基本单位;
(2)引入线程的意义:为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的开发性;(P48 习题2.9) ☆(3)线程与进程的区别:
a.线程是进程的一部分,它是进程的一个执行单元,通常,一个进程含有若干线程,至少要有一个线程,一个进程的多个线程都在进程的地址空间里活动; b.在引入线程的操作系统中,资源分配的对象是进程,而不是线程,进程仍是拥有资源的一个独立单位,它拥有自己的资源,一般而言,线程除有少量必不可少的资源外不拥有系统资源,线程使用的资源是进程分到的资源; c.在引入线程的操作系统中,调度的基本单位是线程而不是进程; d.进程之间可以并发执行,而一个进程中的每个线程之间亦可以并发执行,而且在并发执行过程中,也需要协作同步;