操作系统复习

  1. 熟练掌握操作系统的定义,操作系统的特征,操作系统的功能
  2. 熟练掌握多道程序设计的概念,单道程序设计和多道程序设计的区别,多道程序设计的优点
  3. 熟悉操作系统接口的主要功能,系统调用的基本概念、类型、实现。

   操作系统接口的主要功能:为应用程序或者用户提供访问操作系统内核的接口,使应用程序或者用户可以访问操作系统提供的各种服务和资源。比如进程管理、文件管理、进程通信等

系统调用的基本概念:计算机的各种硬件资源是有限的,为了更好的管理这些资源,用户进程是不允许直接操作的,所有对这些资源的访问都必须由操作系统控制。为此操作系统为用户态运行的进程与硬件设备之间进行交互提供了一组接口,这组接口就是所谓的系统调用。

系统调用实质上就是函数调用,只不过调用的是系统函数,处于内核态而已。 用户在调用系统调用时会向内核传递一个系统调用号,然后系统调用处理程序通过此号从系统调用表中找到相应的内核函数执行,最后返回。

系统调用的类型:

  1. 、进程管理:包括进程的创建、撤销以及状态转换等
  2. 、存储管理:内存分配与回收、地址映射、存储保护、存储保护、存储共享以及存储扩充
  3. 、文件管理:包括创建文件、删除文件等操作
  4. 、设备管理:完成用户的I/O请求操作;提高传输数据的速度,提高设备的使用率;操作系统提供的设备驱动程序以及中断处理程序,为用户隐蔽细节操作,提供简单的设备使用方法
  5. 、进程通信:包括建立和断开通信连接、接受和发送消息等
  6. 、信息维护:获取、设置日期和时间等

      系统调用的实现:

  1. 、一是编写系统调用服务例程
  2. 、二是设计系统调用入口地址,每一个入口地址都指向一个系统调用的服务例程,有些还包含系统调用自带参数的个数
  3. 三是陷阱处理机制,需要开辟现场保护区,以保存发生系统调用时应用程序的处理器现场
  1. 了解操作系统的性能指标,操作系统的类型,操作系统接口的概念及实现。系统调用只是一种 API ,所以系统调用就是接口

  操作系统接口:为应用程序或者用户提供了一组函数或者命令,用于访问操作系统提供的各种服务和资源

  操作系统接口的实现:操作系统接口的实现是通过系统调用来实现的,操作系统提供了一系列系统调用,应用程序可以通过系统调用来访问操作系统提供的各种服务和资源,例如文件管理、进程管理等

  1. 熟练掌握中央处理器,中断技术。
  2. 熟练掌握进程的概念,进程的状态和转换,以及进程和程序的区别。
  3. 熟练掌握处理器调度算法及处理器调度层次。
  4. 熟练掌握存储体系结构,主存储器的物理组织,主存储器的管理功能以及分区管理。

储存体系结构是指计算机系统中用于存储数据的硬件和软件组成的系统。其主要功能是提供数据的长期存储和快速访问,以及保护数据的安全性和完整性。储存体系结构通常包括主存储器、辅助存储器、输入输出设备等组成部分。

主存储器的物理组织通常是由一组芯片组成的,每个芯片包含一定数量的存储单元,每个存储单元可以存储一个二进制数值。主存储器的管理功能包括内存分配、内存回收、内存保护等。分区管理是指将主存储器划分为若干个区域,每个区域可以独立地进行内存管理。

  1. 了解可变分区管理内存的分配与回收。

可变分区存储管理又叫做动态分区模式,按照作业的大小来划分分区,但是划分的时间、大小、位置都是动态的。系统把作业装入内存的时,根据其所需要的内存容量查看是否有足够的空间,若有,则按需分割一个分区分配给此作业;若没有则令此作业等待资源。由于分区大小是按照作业的实际要求进行划分的,且分区数目也是可变的,所以可变分区能够克服固定分区资源浪费的问题,有利于多道程序上设计,提高内存资源利用率

  1. 熟练掌握页式管理以及段页式管理方式。

 2.1页式管理

  高级语言中使用逻辑地址,运行状态内存中使用物理地址

物理地址=块号+页内地址内存中存放的是块号,所以可以通过内存的大小求块号的位数

逻辑地址=页号+页内地址由每页的大小,也即页面大小求页内地址的位数,由用户编程空间总共的页面数量可以求页号位数

实际上是块号替换了页号,通过操作系统提供的页表将逻辑地址中的页号转换为块号,块号和页内地址相加就是物理地址

求解过程:先确定逻辑地址中的页内地址位数,然后逻辑地址位数的总长度减去页内地址位数即页号位数,将页号位数组成的二进制转换为十进制与页表进行对比,查找相应的块号,将十进制的块号,块号加页内地址即为物理地址

优点:利用率高,内部碎片小,分配及其简单

缺点:增加了系统开销,可能会发生抖动现象

 

段页式管理:

  1. 熟练掌握虚拟存储管理系统的基本概念及实现。

    前面所介绍到的存储管理都是实存管理,必须为进程分配足够大的内存空间,装入其全部的信息,否则就无法运行一遍。但是把进程的全部信息装入到内存中实际上是并非同时使用,有些部分运行一遍,有些部分暂时不用或者某种条件下才会使用,让进程的全部信息放入到内存是对宝贵内存资源的极大浪费,会降低内存利用率。

       所以可以把物理内存扩大到大容量的磁盘上,把磁盘空间当做内存的一部分,进程的程序和数据通常放在内存中,部分放在磁盘上。当程序在执行的时候,它执行的指令或者访问的数据再哪儿则存储管理器负责判断,并针对情况采取相应步骤

       当程序执行的指令或者访问的数据再内存中可以访问的时候顺利执行;如果在磁盘上,为了继续执行,则由系统自动将这部分信息从磁盘装入——部分装入;如果没有足够多的空闲内存空间,便把内存中暂时不用的信息移动到磁盘——部分替换;当部分装入、部分替换能够实现时,那么当内存空间小于进程的需要量时,进程也能运行;更进一步,当多个进程的总长度超出内存容量的时候,也可以全部装入内存空间中,实现多道程序运行

        虚拟存储器定义:在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理内存容量大很多、可寻址的“内存储器”

        实际上虚存对于用户隐蔽可用物理内存和的容量和操作细节,虚存的容量与物理内存的大小没有关系,而是受限于计算机地址结构和磁盘容量

虚拟存储管理系统的三种实现方式:

·        请求分页虚拟存储管理。

·        请求分段虚拟存储管理。

·        请求段页式虚拟存储管理。

  1. 熟练掌握页面置换算法。

首先看一下什么是页面置换算法:地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。

  1. 最佳置换算法(OPT)(理想置换算法 不可实现):从主存中移出永远不再需要的页面;如无这样的页面存在,则选择将来最长时间不需要访问的页面。
    于是所选择的被淘汰页面是将来永不在使用的,或者是在将来的最长时间内不被访问的,这样可以保证获得最低的缺页率。但是将来的会不会访问操作系统并不知道,因此该算法不能被实现,只是理想的。
  2. 先进先出置换算法(FIFO): 是最简单的页面置换算法。这种算法的基本思想是:当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。
    其理由是:最早调入主存的页面被认为不再被使用的可能性最大。
  3. 最近最久未使用(LRU)算法: 这种算法的基本思想是:利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。
    所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。即淘汰最近最长时间未访问过的页面。(往前看)
  1. 掌握I/O系统的层次模型与I/O控制方式;I/O软件原理。

    设计的目标是 高效性和通用性

设备中断处理程序:设备驱动程序的组成部分之一,位于操作系统底层,是与硬件设备密切相关的软件。

设备驱动程序:设备驱动程序是从独立于设备的软件中接受并执行I/O请求

独立于设备的I/O软件:实现适用于所有设备的常用I/O操作并且向上层软件提供一致性接口

用户空间的I/O软件:在用户空间运行的I/O库函数和SPOOLing程序

  1. 掌握缓冲技术;驱动调度技术。

驱动调度技术:

作为操作系统的外存,存放文件的磁盘是一类大容量高速旋转型存储设备。在繁重的I/O操作下,同时会有若干请求来到并等待处理,系统必须采取一种调度策略,能够按照最佳次序执行诸多请求,这叫做调度驱动。所使用的算法叫做调度驱动算法

驱动调度能够减少若干I/O请求服务所需消耗的总时间,从而提高系统效率。除了I/O请求的优化排序外,磁盘上信息的排列方式、存储空间的分配方法都能影响存取访问速度

  1. 掌握文件的命名、文件的类型、文件的属性、文件的操作等概念。
  2. 了解文件空间的分配和管理,文件目录和目录文件等概念,以及文件的多种共享方式。

把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合

为了实现对文件目录的管理,通常将文件目录以文件的形式保持在外存,这个文件就叫目录文件。

文件共享的多种方式:文件静态共享、文件动态共享、文件符号链接共享

  1. 熟练掌握进程间的关系,互斥和同步问题。
  2. 掌握临界区的定义,使用临界资源的原则。

答:当且仅当一个进程访问的资源叫做临界资源

每个进程中访问临界资源的那段代码叫做临界区

使用临界资源的三个原则:

  1. 一次至多只有一个进程进入临界区内执行
  2. 如果已有进程在临界区中,则其它所有试图进入临界区的进程必须等待

3、进入临界区的进程要在有限时间内退出,以便让等待队列中的一个进程进入

  1. 掌握使用信号量与PV操作如何解决进程间同步互斥问题。

PV操作是实现进程同步与互斥地常用方法。其中,P操作表示阻塞、等待、申请一个资源,V操作表示发出、释放一个资源

 信号量用符号S进行表示:S>=0表示某资源的可用数,若 S < 0,则其绝对值表示阻塞队列中等待该资源的进程数

具体定义如下:

P(S):    //某一个进程需要使用资源的时候

①将信号量S的值减1,即S=S-1;//可以理解为p操作消耗了一个资源

②如果S>=0,则该进程继续执行; //若是资源大于0,则说明还有资源,p操作可以继续消耗资源

否则该进程置为等待状态,排入等待队列。//S<0表示已经没有可以使用的资源了,必须等待

V(S):   //进程使用完资源之后

①将信号量S的值加1,即S=S+1;   //可以理解为 v生产、释放了一个资源

②如果S>0,则该进程继续执行; 

否则释放队列中第一个等待信号量的进程使其转换为就绪态自己则继续执行

  1. 掌握死锁的概念和产生的必要条件,死锁的解决和恢复方法。

     答:一组进程因为争夺资源而陷入永远等待的状态,叫做死锁

     死锁产生的必要条件:

  1. 、互斥条件:临界资源是独占资源,进程应该互斥且独占地使用这些资源
  2. 、占有和等待条件:进程在请求资源得不到满足而等待时,不释放已占有资源
  3. 、又称不可抢占,已获资源只能由进程资源释放而不允许被其他进程剥夺
  4. 、循环等待条件:存在循环等待链,其中每一个进程都在等待链中等待下一个进程所持有的资源,造成这组进程永远处于等待状态

     死锁的恢复方法:

         死锁防止:破坏死锁产生的四个必要条件中的一条即可防止死锁

         死锁避免

         死锁检测和恢复

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q渡劫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值