操作系统重点

本文深入浅出地介绍了操作系统的基础知识,包括操作系统的定义、进程概念、并发性和资源管理的基本功能。详细探讨了进程的动态性、并发性、独立性和异步性等特性,以及进程的创建、状态转换和同步机制。文章还涉及了进程控制块PCB的重要性和作用,以及操作系统中的进程调度和资源分配策略。此外,提到了进程通信的各种方式,如管道、消息队列和信号量机制,以及线程的引入和特点。最后,概述了虚拟存储器、内存管理和输入输出系统的关键概念,如请求调页、设备驱动和SPOOLing技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

享成:本人大学生一枚,只为分享知识,别无他求。
争当做个有理想,有抱负的人!
热情诠释青春,微笑传递正能量。
个人公众号:飞享

学前必知:
什么是操作系统:
操作系统是一组能有效的组织和管理计算机硬件和软件的资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。
什么是进程
进程是指在系统中能独立运行并作为资源分配的基本单位,是由一组机器指令,数据,堆栈等组成的,是一个能独立运行的活动实体。
进程实体
什么是临界资源

第一章
1.设计现代操作系统的目标是:提高资源利用率和方便用户
2.单道批处理系统是在解决人机矛盾和CPU与IO设备速度不匹配的矛盾中发展起来的。
3.在单处理机环境下的多道程序设计具有多道,宏观上同时运行,微观上交替运行的特点。
4.现代操作系统基本特征:并发,共享,虚拟,异步。
5.从资源管理的角度,操作系统四大基本功能:处理机管理,存储器管理,设备管理,文件管理,而为了方便用户,操作系统还提供有好的用户界面,现代操作系统还增加了,系统安全,网络和多媒体的功能。
6.操作系统的基本类型主要有:批处理系统,实时系统,分时系统。
7.批处理系统优点:资源利用率高,系统吞吐量大,缺点是:无交互作用能力,作业平均周转时间长。
8.实现分时系统的关键问题是:人机交互,引入时间片的概念,采用时间片轮转的方法。
9.分时系统的基本特征:多路性,交互性,独立性,及时性。
10.并发:若干事件在同一时间间隔内发生。并行:若干事件在同一时刻发生。
11.实时系统可分为:实时信息处理系统,实时控制系统,多媒体系统和嵌入式系统等。民航售票系统属于实时信息处理系统。导弹飞行控制属于实时控制系统。
12.为了使实时系统高度安全可靠,通常不强求资源利用率。
13.微内核的操作系统,是建立在层次结构化的基础上,而且还采用客户机/服务器模式和面向对象程序设计技术。

第二章
进程最基本特征:动态性
进程和程序的关系:1.进程是动态概念,程序是静态概念。2.进程具有并发特征,程序没有。3.进程是竞争资源的基本单位。4.一个程序对应多个进程,一个进程为多个进程服务。
挂起状态引起原因:1.终端用户请求。2.父进程请求。3.负荷调节需求。4.操作系统需求。
PCB是操作系统中最重要的纪录型结构,是进程存在的唯一标识。
PCB中的信息:进程标识符,处理机状态,进程调度信息,进程控制信息。
创建一个进程的过程:1.申请空白PCB。2.为进程分配资源。3.初始化进程控制块。4.将新进程插入就绪队列。
进程控制块PCB的作用:是操作系统用来描述和管理进程的数据结构,作用是使一个在多道程序的环境下,不能独立运行的程序,成为一个能独立运行的基本单位,即一个能与其他进程并发执行的进程。
进程之间存在直接制约(同步)和间接制约(互斥)的制约关系,直接制约是由于相互合作而产生的,间接制约是由于进程间共享临界资源而引起的。

  1. 在单用户单任务环境下,用户独占全机,此时机内资源的状态只能由运行程序的操作改变,此时程序的执行具有封闭性和可再现性特征。
  2. 并发进程之间的相互制约,是由于他们共享资源和相互合作而产生的,因而导致程序在并发执行时具有间断性或异步性的特征。
  3. 程序并发执行相比顺序执行产生了新特性,如间断性,失去封闭性,不可再现性。
  4. 引入进程目的:使程序能正确的并发执行,以提高资源利用率和系统吞吐量。引入线程目的:减少并发执行的开销,提高程序并发执行的程度。
  5. 进程由程序控制段PCB,程序段,数据段组成。PCB是进程存在的唯一标识。
  6. 进程特性:动态性,并发性,独立特性,异步性。
  7. 进程的实质是程序的一次执行过程,故进程具有动态性。进程具有一定的生命周期,表现在进程由创建而产生,由调度而执行,由撤销而消亡。
  8. 用户为阻止进程继续运行,应利用挂起原语,若程序正在执行,应转变为静止就绪。若用户要恢复其运行,应利用激活原语,此时进程转变为活动就绪状态。
  9. 若系统中共有5个用户进程,且当前CPU在用户态下执行,最多有4个用户进程处于就绪状态,4个进程处于阻塞状态。若当前在核心态下执行,最多有5个处于就绪状态,5个处于阻塞状态。
  10. 为了防止操作系统本身和关键数据(PCB)遭受应用程序有意无意的破坏,将处理机的执行状态分为用户态和核心态。
  11. 进程同步主要是对多个相关进程在执行次序上进行协调。
  12. 同步机制遵循的准则:空闲让进,忙则等待,有限等待,让权等待。
  13. 在纪录型信号量机制中,当s.value>0时的值表示临界资源的数量,每次wait操作意味着申请一个临界资源,应将s.value的值减一,当s.value的值小于0时进程应阻塞。每次signal操作意味着释放一个临界资源,应将s.value的值加一,当s.value<=0时,表示有请求该资源的进程被阻塞,此时应唤醒相应阻塞队列中的首进程。
  14. 在利用信号量实现进程互斥时,应将临界区放于wait操作和signal操作之间。
  15. 在每个进程中访问临界资源的那段代码称为临界区。为实现对他的共享,应保证进程互斥的进入自己的临界区,在每个进程的临界区前应设置进入区,临界区后应设置退出区。
  16. 利用共享的文件进行进程通信的方式被称作管道通信,进程通信的类型还有共享存储器,消息系统,客户机服务器系统。
  17. 客户机服务器系统通信系统机制主要实现方法是套接字,远程过程调用,远程方法调用。
  18. 为实现消息缓冲队列通信,应在PCB中增加消息队列首指针mq,消息队列互斥信号量mutex,消息队列资源信号量sm三个数据段。
  19. 操作系统以进程作为资源分配的基本单位,以线程作为CPU调度和分派的基本单位。
  20. 在采用用户级线程的系统中,操作系统进行CPU调度的对象是进程,在采用内核支持的线程系统中,CPU调度的对象是线程。
  21. 线程之所以能减少并发执行的开销是因为线程基本上不拥有资源。

2.1前趋图和程序执行:
1.前趋图:有向无循环图,DAG,用于描述进程之间执行的先后顺序。
2.程序顺序执行的特征:顺序性,封闭性,可再现性。
3.程序并发执行的特征:间断性,失去封闭性,不可再现性。
2.2进程的描述:
1.进程:是程序的一次执行过程,是一个程序及其数据在处理机上顺序执行时所发生的活动,是具有一个独立功能的程序在其数据集合上运行的过程,是系统进行资源分配和调度的基本单位。
2.进程实体:程序段,数据段,进程控制块PCB。
3.进程特征;动态性,并发性,独立性,异步性。
4.进程的三种基本状态:就绪状态,执行状态,阻塞状态。
5.就绪状态在进行进程调度时可转化为执行状态,执行状态时间片用完时可转化为就绪状态,执行状态在进行IO请求时可转化为阻塞状态,阻塞状态在IO完成时转化为就绪状态。
6.进程创建过程:申请-填写-分配-就绪,先申请空白PCB,再填写控制和管理进程的信息,分配进程运行所需资源,最后转入就绪状态并加入就绪队列。
7.挂起操作的引入:终端用户需要,父进程请求,负荷调节,操作系统需求。
8.操作系统管理的数据结构:内存表,设备表,文件表,进程表(PCB)。
9.进程控制块PCB:描述进程的当前状况以及管理进程运行的全部信息,是操作系统中最重要的纪录型数据结构。
10.PCB的作用:作为独立运行基本单位的标志,能实现间断性运行方式,提供进程管理所需要的信息,提供进程调度所需要的信息,实现与其他进程同步和通信。
11.进程控制块PCB中的信息:进程标识符,处理机状态,进程调度信息,进程控制信息。
12.进程控制块的组织方式:线性方式,连接方式,索引方式。
2.3进程控制
1.处理机的执行状态分为系统态和用户态。
2.操作系统内核最基本的支撑功能:中断处理,时钟管理,原语操作。
3.操作系统内核资源管理包括:进程管理,存储器管理,设备管理。
4.引起创建进程的事件:用户登录,作业调度,提供服务,运用请求。
2.4进程同步
1.进程同步的两种制约关系:间接相互制约,直接相互制约。
2.临界区:每个进程中访问临界资源的那段代码。
3.同步机制遵循的规则:空闲让进,忙则等到,有限等待,让权等待。
4.管程的定义:可看做一个软件模块,将共享的变量和对于这些共享变量的操作封装起来,形成一个具有一定接口的功能模块,进程可以调用管程来实现进程级别的并发控制。进程只能互斥的使用管程,当一个进程在使用管程时,另一个进程必须等待,当一个进程使用完管程后,它必须释放管程并唤醒等待管程的某一个进程。在管程入口处的等待队列称为入口等待队列,由于进程会执行唤醒操作,因此可能有多个等待使用管程的队列,这样的队列称为紧急队列,优先级高于等待队列。
5.管程的特征:(1)模块化,管程是一个基本的软件模块,可以被单独编译。(2)抽象数据类型,管程中封装了数据以及对于数据的操作。(3)信息隐藏,管程外的进程或者其他软件模块只能通过管程提供的对外接口来访问管程提供的操作,管程内部的实现细节对外是隐藏的。(4)使用的互斥性,任何一个时刻,管程只能由一个进程使用,进入管程时的互斥由编译器负责完成。
2.5经典进程同步问题
1.纪录型信号量解决生产者消费者问题
int n=0,out=0;
item buffer[n];
semaphore mutex=1,empty=n,full=0;
void produce(){
do{
producer an item nextp;
……
Wait(empty);
Wait(mutex);
Buffer[in]=nextp;
in=(in+1)%n;
signal(mutex);
signal(full);
}while(true);
}
Void consumer(){
Do{
Wait(full);
Wait(mutex);
Nextc=buffer[out];
Out=(out+1)%n;
Signal(mutex);
Signal(empty);
Consumer the item in nextc;
……
}while(true):
}
Void main(){
Cobegin
Producer();
Consumer();
Coend;
}
2.利用AND信号量解决生产者消费者问题
int in=0,out=0;
item buffer[n];
semaphore mutex=1,empty=n,full=0;
void producer(){
do{
producer an item nextp;
……
Swait(empty,mutex);
Buffer[in]=nextp;
in=(in+1)%n;
Ssignal(mutex,full);
}while(true);
}
Void consumer(){
do{
Swait(full,mutex);
Nextc=buffer[out];
Out=(out+1)%n;
Ssignal(mutex,empty);
Consumer the item in nextc;
……
}while(true);
}
3.利用管程解决生产者消费者问题
Monitor producerconsumer{
Item buffer[n];
Int in,out;
Condition notfull,notempty;
Int count;
Public:
Void put(item x){
If(count>=n) cwait(notfull);
Buffer[in]=x;
In=(in+1)%n;
Count++;
Csignal(notempty);
}
Void get(item x){
If(count<=0) cwait(notempty);
X=buffer[out];
Out=(out+1)%n;
Count–;
Csignal(notfull);
}
{in=0;out=0;count=0;}
}PC;

Void producer(){
Item x;
While(true){
……
Produce an item in nextp;
PC.put(x);
}
}
Void consumer(){
Item x;
Whle(true){
PC.get(x);
Consumer the item in nextc;
……
}
}

Void main(){
Cobegin
Producer();
Consumer();
Coend;
}
2.6进程通信
1.进程间高级通信机制:共享存储器系统,管道通信系统,消息传递系统,客户机服务器系统。
2.管道:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常是指父子进程关系。
3.有名管道:有名管道也是半双工的通信方式,但是允许无亲缘关系进程间通信。
4.信号量:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。常作为一种锁机制,防止进程正在访问资源时,其他进程也访问该资源。
5.消息队列:消息队列是由消息的链表,存放内核中并由消息队列标识符标识。消息队列克服了信号传递消息少,管道只能承载无格式字节流以及缓冲区大小受限制等缺点。
6.信号:信号是一种比较复杂的通信方式,用于通知接收某个事件已经发生。
7.共享内存通信:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。
8.套接字通信:可用于不同机器间的通信。

2.7线程

第三章
1.高级调度又称作业调度,其主要功能是按照一定的算法从外存的后备队列中选若干作业进入内存,并为他们分配资源;低级调度又称进程调度,主要功能是按一定算法从就绪队列中选一个进程投入执行。
2.作业调度必须做接纳多少个作业和接纳哪些作业两个决定。
3.进程调度的主要任务:保存CPU现场,按某种算法选择一个就绪进程,把CPU分配给新进程。进程调度的主要两种方式:抢占调度,非抢占调度。
4.在抢占调度方式中,抢占的原则:时间片原则,短作业优先,优先权原则。
5.设计进程调度需考虑问题:引起调度的原因,调度算法的选择,就绪队列的组织。
6.为了使作业的平均周转时间最短,选择短作业优先调度算法。为了使当前进程的优先权总是最高的进程,选择立即抢占的高优先权调度算法。分时系统常采用时间片轮转调度算法。
7.分时系统中,时间片选的太小会造成系统开销较大,时间片的大小一般选择为略大于一次典型的交互所需要的时间。
8.在采用动态优先权调度算法时,为预防饥饿状态和垄断CPU,随着等待时间的增加而提高或降低优先权。
9.高响应比优先调度算法综合考虑了运行时间和等待时间,因此会兼顾到长短作业。
10.死锁产生的主要原因是竞争资源和进程推进顺序非法。
11.死锁产生的必要条件:互斥条件,请求和保持条件,不剥夺条件,环路等待条件。
12.预防死锁,破坏互斥条件一般不被允许,一次性分配所有资源破坏其中的请求和保持条件,资源的有序分配破坏其中的环路等待条件。
14.解决死锁问题的方法有预防,避免,检测和解除。
15.撤销进程和剥夺资源是解除死锁的两种主要方法。

第四章:存储器管理
1.使每道程序能在内存中各得其所是通过内存分配功能实现的;每道程序在不受干扰的环境下运行,是通过内存保护功能实现的;为缓和内存紧张的情况而将内存中暂时不能运行的进程调至外存是通过对换功能实现的;能让较大的用户程序在较小的内存空间中运行,是通过虚拟存储器功能实现的。
2.程序装入的方式有绝对装入方式,可重定位装入方式,动态运行时装入方式。
3.程序的链接方式有静态链接方式,装入时动态链接,运行时动态链接。
4.把作业装入内存中随即进行地址变换的方式称为静态重定位;在作业执行期间,当访问到指令和数据时才进行地址变换的方式称为动态重定位。
5.地址变换机构中的基本任务是将地址空间中的逻辑地址变换为内存空间中的物理地址。
6.通常用户程序使用逻辑地址,处理执行程序时则用物理地址。
7.在首次适应算法中,空闲分区以地址递增的次序拉链;在最佳适应算法中,空闲分区以空闲区大小递增的次序拉链。
8.在连续分配方式中可通过紧凑来减少内存零头,它必须得到动态重定位的支持。
9.实现进程对换应具备对换空间的管理,进程换入,进程换出的三方面功能。
10.分页系统中若页面较小,有利于减少快内碎片,但会引起页表太长;页面较大,可减少页表长度,但会引起快内碎片增大。
11.分页系统中,页表的作用是实现页号到物理块号之间的转换。
12.分页系统中为实现地址变换而设置了页表寄存器,其中存放了处于执行状态进程的页表长度和页表始址,而其他进程的上述信息则被保存在他们的PCB中。
13.引入分段主要是满足用户的需要,具体包括便于编程,分段共享,分段保护,动态链接等方面。
14.在页表中最基本的数据项是物理块号,而在段表中则是段的内存基址和段长。
15.把逻辑地址分成页号和页内地址是由机器硬件决定的,分成段号和段内地址是由程序员进行的。
16.在无块表的段页式系统中,为获得一条指令或数据,都需三次访问内存,第一次从内存中取得页表起始地址,第二次从内存中取得块号,第三次从内存中取得指令或数据。

第五章:虚拟存储器
1.在请求调页系统中,地址变换过程可能会因为逻辑地址越界,缺页,访问权限错误等原因产生中断。
2.虚拟存储器的基本特征是多次性和对换性,因而决定了实现虚拟存储器的关键技术是请求调页(段)和页(段)置换。
3.实现虚拟存储器,除了需要一定容量的内存和相当容量的外存外,还需要有页表机制,地址变换机构,缺页中断机构。
4.为实现请求分页管理,应在纯分页的页表基础上增加状态位,访问字段,修改位和外存地址等数据项。
5.请求调页系统中的多种置换算法,OPT是最佳置换算法,LRU最近最久未使用置换算法,NUR最近未用置换算法,LFU最少使用置换算法,PBA页面缓冲算法。
6.页面缓冲算法中,FIFO算法选择淘汰页,如果淘汰页未被修改,则将他所在页插到空闲页面链表中,否则便插入修改页面链表中,它的优点主要是减少换进换出而读写磁盘次数。
7.请求调页系统中,调页的策略有预调页和请求调页两种方式。
8.在请求调页系统中,反复进行页面换进换出的现象称为抖动,产生的原因主要是页面置换算法选用不当。
9.分页系统的内存保护通常有越界检查和存取控制两种措施。
10.分段系统中的越界检查是通过段表寄存器中投放的段表长度和逻辑地址中的段号比较,以及段表项中的段长和逻辑地址中的段内地址的比较来实现的。
11.为实现段的共享,系统中应设置一张共享段表,每个被共享的段占其中一个表项,其中应包含了被共享段的段名,共享进程计数,段在内存的起始地址和段长等数据项。还在该表项中记录了共享该段的每个进程的情况。
12.在分段系统中常用的存储保护机制有越界检查,环保护机制,存取控制权限检查。
13.在采用环保护机制时,一个程序可以访问驻留在相同环或较低特权环中的数据;可以调用驻留在相同环或较高特权环中的服务。

第六章:输入输出系统
1.对打印机的IO 控制方式常采用中断驱动方式,对磁盘的IO控制方式常采用DMA控制方式。
2.DMA是指允许IO设备和内存直接交换数据,在DMA中必须设置地址寄存器,用于存放内存地址;还必须设置数据缓冲寄存器用来暂存交换的数据。
3.设备控制器是CPU与IO设备之间的接口,它接收来自CPU的IO命令,并用于控制IO设备的工作。
4.缓冲池中的每个缓冲区由缓冲首部和缓冲体两部分组成。
5.IO软件通常被组织成用户层软件,设备独立性软件,设备驱动程序,IO中断处理程序四个层次。
6.驱动程序与IO设备的特性紧密相关,如果计算机中连有3个A终端,2个B终端,可以为他们配置两个设备驱动程序。
7.为实现设备分配,系统中应配置设备控制表和设备驱动表的数据结构;为实现控制器和通道的分离,系统中还应配置控制器控制表和通道控制表的数据结构。
8.设备分配需考虑因素:设备的独立性,设备的分配算法,设备的固有属性,设备分配中的安全属性。
9.为实现设备的独立性,系统中必须设置逻辑设备表LUT,通常它包括逻辑设备名,物理设备名,设备驱动程序物理地址。
10.SPOOLing系统是由磁盘中的输入井和输出井,内存中的输入缓冲区和输出缓冲区,输入进程和输出进程以及井管理程序构成。
11.实现后台打印时,SPOOLing系统中的输出进程,只为请求IO的进程做两件事:为之在输出井中申请空白缓冲区,并将要打印的数据送入其中;为用户进程申请一张用户打印请求表,并将用户的打印要求填入表中,再将该表排在假脱机文件队列中。
12.磁盘的访问时间由寻道时间,旋转延迟时间,数据传输时间三部分组成,寻道时间所占比重最大,故磁盘调度的目标为使磁盘的平均寻道时间最短。
13.在磁盘调度中,选择优先为离当前磁头最近的磁道上的请求服务的算法为最短寻道时间优先(SSTF)算法,这种算法的缺点是会产生饥饿现象;选择优先为当前磁头移动方向上,离当前磁头最近的磁道上的请求服务的算法为电梯调度算法(SCAN)。

第七章:文件管理
1.文件管理应具有文件存储空间的管理,目录管理,文件的读写管理,文件的共享和保护等功能。
2.文件按逻辑结构可分成字符流式和记录式两种类型,现代操作系统普遍采用字符流式。
3.记录式文件把数据的组织分成数据项,记录和文件三级。
4.数据项是用来描述一个实体的某个属性;记录是用来描述一个实体的记录;文件用来描述文件的某方面属性。
5.一个文件系统的模型由最底层对象及其属性,中间层对对象进行操纵和管理的软件集合;最高层用户接口三个层次组成。
6.对文件的访问有顺序访问和随机访问两种方式。
7.从文件管理的角度看,文件是由文件控制块FCB和文件体两部分组成。而在具体实现时,前者的信息通常以目录项和磁盘索引结点的方式存储在文件存储器上。
8.文件目录的最主要功能是实现按名存取(文件名到物理地址的转换),故目录项的内容至少应包含文件名和文件的物理地址。
9.对目录管理的要求,首先是能实现按名存取,其次是提高对目录的检索速度,同时应允许对个用户共享文件,以及允许文件重名。
10.在采用树形目录结构的文件系统中,树的结点包括三类:根节点表示根目录,枝节点表示一个磁盘索引结点,叶节点表示一个或多个目录项。
11.在利用线性索引法对树形目录进行检索时,系统首先读入路径名的第一个分量名,将它与根目录/当前工作目录文件中的各目录项中的文件名进行比较。若匹配,便可得到FCB/索引结点指针。
12.文件保护是指避免文件拥有者或其他用户有意或无意的错误操作使文件受到破坏,文件共享是指允许多个用户共同使用同一个文件。
13.引入索引节点后,一个文件在磁盘中占有的资源包括三部分:一个磁盘索引结点,一个或多个目录项,若干个存放文件内容的磁盘块。
14.文件在使用前必须先执行打开操作,其主要功能是把文件的FCB/索引节点从外存复制到内存,并在用户和指定文件之间建立一条通道,再返回给用户一个文件描述符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值