1、这样的临界区实际上是将共享数据和对这些数据的操作—起封装起来、通过其互斥机制一次只允许一个进程进入,这种临界区通常称为管程


基本操作系统类型:

批处理系统、分时操作系统、实时操作系统
image.png
实时操作系统的主要特点是:响应及时和可靠性高。


特权指令主要类型

1.有关对I/O设备使用的指令 如启动I/O设备指令、测试I/O设备工作状态和控制I/O设备动作的指令等。
2.有关访问程序状态的指令 如对程序状态字(PSW)的指令等。
3.存取特殊寄存器指令 如存取中断寄存器、时钟寄存器等指令。
4.其他特权指令。
所谓特权指令是指有特权权限的指令,由于这类指令的权限最大,如果使用不当,将导致整个系统崩溃。比如:清内存、置时钟、分配系统资源、修改虚存的段表和页表,修改用户的访问权限等。
为了保证系统安全,这类指令只能用于操作系统或其他系统软件,不直接提供给用户使用。
因此,特权执行必须在核心态执行。实际上,cpu在核心态下可以执行指令系统的全集。
为了防止用户程序中使用特权指令,用户态下只能使用非特权指令,核心态下可以使用全部指令。
当在用户态下使用特权指令时,将产生中断以阻止用户使用特权指令。所以把用户程序放在用户态下运行,而操作系统中必须使用 特权指令的那部分程序在核心态下运行,保证了计算机系统的安全可靠。从用户态转换为核心态的唯一途径是中断或异常。


进程的状态转化

:::danger image.png :::

某进程由于需要从磁盘上读入数据而处 于阻塞状态。当系统完成了所需的读盘操 作后,此时该进程的状态将(D ) A. 从就绪变为运行 B.从运行变为就绪 C.从运行变为阻塞 D.从阻塞变为就绪

:::danger image.png ::: 题目的意思是说,进程已经发出了“请求打印”的命令。而现在正在等待打印机,因此此进程万事俱备,只需要CPU分配给它打印机就能运行了,所以此时是就绪态。
进程调度程序会把处理机划分成长短相同且很小的时间块,每个时间块执行一个进程,某个进程时间块用完后,回到就绪状态,换到下一个进程执行。这样轮流来执行,实现了处理机能一起一起执行多个进程。
当某个进程申请资源被占用或者启动I/O传输未完成,就处于阻塞(等待)状态。(此时它和其它进程不一样,它不再去争夺时间块,就相当于睡着了一样)当它所请求的资源被释放,或者启动I/O传输完成,那么就会由继续进行就绪状态,(这就好比它被唤醒了,回到就绪状态里,同其它里程争夺处理机的时间块。你的问题就是这个进程从睡着了,然后又被唤醒了。被唤醒后你不能马上就要求执行啊,因为处理机还要执行其它进程,而这个进程就要回到就绪状态,和其它进程一样却争夺处理机的执行时间块)


分页式存储管理

分页存储管理中地址转换的工作是由硬件完成的
分页式管理:将内存分成固定大小的页,分配若干页将整个进程载入。页面可以不连续是其重要优点,不会产生外碎片,更有效地利用了内存,不过会产生一些内碎片,即分配给进程的最后一个页往往不能正好用完,不过在页面大小不是很大的时候可以接受。
分段式管理:将程序分为若干个段,如数据段和代码段,加以不同的保护。施加保护是分段式的优点,但其仍是向分区式管理一样的连续分配。

相似:

二者在内存中都不是整体连续的,都要通过地址映射机构将逻辑地址映射到物理内存中。

不同:

①页是信息的物理单位。根本不考虑一页中 是否包含完整的函数,甚至一 条指令可能跨两个页面。所以,用户本身并不需要把程序分页,完全是系统管理上的要求。
段是信息的逻辑单位。每段在逻辑上是相对完整的一组信息,即段是一个逻辑实体,如一一个函数、-一个过程、一个数组等,它一般不会同时包含多种不同的内容。用户可以知道自己的程序分成多少段,以及每段的作用。所以,分段是为了更好地满足用户的需要。
②页的大小是由系统确定的,即由机器硬件把逻辑地址划分成页号和页内地址两部分。在一个系统中所有页的大小都一样,并且只能有一种大小。
段的长度因段而异,它取决于用户所编写的程序,如主程序段为8KB,而子程序只有5KB,等等。
③分页的进程地址空间是一维的,地址编号从0开始顺次递增,一直排到末尾。 因而,只需用一个地址编号(如10000)就可确定地址空间中的唯一地址。
分段的进程地址空间是二维的。标识一个地址时, 除给出段内地址外,还必须给出段名。 只有段内地址是不够的。
④分页系统很难实现过程和数据的分离,因此,无法分别对它们提供保护,也不便于在用户间方便地对过程进行共享。分段系统却可以很容易实现这些功能。 :::danger image.png

image.png
两次,一次页表,取到地址后再到内存中取数据 :::


请求分页 简单分页

:::danger A.支持多道程序设计,算法简单,但存贮器碎片多。 (固定分区)
B.能消除碎片,但用于存贮器紧缩处理的时间长。 (可重定位分区)
C.克服了碎片多和紧缩处理时间长的缺点,支持多道程序设计,但不支持虚拟存贮。 (非请求分页)
D.支持虚拟存贮,但不能以自然的方式提供存贮器的共享和存取保护机制。 (请求分页)
E.允许动态连接和装入,能消除碎片,支持虚拟存贮。(段页式) :::

※不同

分页存储管理方式中 :不具备页面对换功能,不支持虚拟存储器功能,在调度作业运行时 ,必须将它的所有页面一次调入内存 ,若内存没有足够的块, 则作业等待的这种分页管理方式被称为纯分页或基本分页存储管理方式.
请求分页管理方式是支持虚拟存储的,具备了页面的对换功能。调度作业时是将它的一部分(而不是全部) 放入内存,当发现页面缺少时 会发出一个缺页请求 从外存调用页面文件进入内存.
基于以上所述:基于这一点,请求分页存储管理可以提供虚拟存储器,而分页存储管理却不能提供虚拟存储器

※优缺点

优点:
(1)虚存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式。
(2)内存利用率高,不常用的页面尽量不留在内存。
(3)不要求作业连续存放,有效地解决了“碎片”问题。与分区式比,不需移动作业;与多重分区比,无零星碎片产生。UNIX 操作系统较早采用。
缺点:
(1)要处理页面中断、缺页中断处理等,系统开销较大。
(2)有可能产生“抖动”。
(3)地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。


虚拟内存

:::danger image.png :::


重定位

:::danger image.png ::: :::danger image.png ::: image.png


临界区

临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。
当有线程进入临界区段时,其他线程或是进程必须等待(例如: bounded waiting等待法),有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用,例如: semaphore。只能被单一线程访问的设备,例如:打印机。


image.png
临界资源是诸进程之间应采取互斥方式访问的,也就是一次只允许一个进程访问的资源,可以为硬件,软件,变量,数据,表格,队列等,并不单指硬件资源。
临界区就是每个进程中访问临界资源的那段代码。五个并发进程都涉及了变量A,每一个进程中都有访问变量A的代码,所以每个进程中都有相关临界区,因此是五个临界区构成。

临界资源是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有,打印机,磁带机等;软件有消息队列,变量,数组,缓冲区等。诸进程间采取互斥方式,实现对这种资源的共享。


Linux

18.主要由于( UNIX小部分由汇编大部分用C语言编写 )原因,使UNIX易于移植。
19.LINIX系统中,进程调度采用的技术是(动态优先数 )。
20.UNIX系统中,文件存贮器的管理采用的是:( 成组连接法 )。

设备

image.png

文件系统

image.png