【温故而知新】计算机408之操作系统速记

知识学了又忘,知识忘了又学,所以我做了速记版本,用自己的理解记录各学科我认为比较重要的知识点,方便复习记忆。

操作系统概述

操作系统功能?

答:计算机系统从上到下大概分为四个部分:用户、应用程序、操作系统、硬件。操作系统介于用户和硬件之间,其作用有三点:控制和管理整个计算机系统的硬件与软件资源(处理机管理、存储器管理、文件管理、设备管理);为用户和其他软件提供方便接口与环境的程序集合(命令接口、图形接口、程序接口(系统调用));对硬件的扩充。

操作系统四个特征?

答:并发(两个或多个程序在同一时间间隔发生)、共享(系统中的资源可供内存中多个并发进行的程序使用)、虚拟(把一个物理的实体变为若干个逻辑上的对应物)、异步(多个并发的程序的执行走走停停以不可预知的速度向前推进)。

系统调用?

答:通常CPU状态是分为两种:一是内核态,主要执行操作系统内核程序;一是用户态,主要执行用户应用程序。如果用户想要通过在程序中请求操作系统为其服务,那么就会使用系统调用。比如,申请分配和回收内存。

中断与异常?

答:中断的引入——为了支持CPU和设备之间的并行操作。中断也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断、时钟中断等。这一类中断通常是与当前执行的指令无关的事件。异常的引入——表示CPU执行指令本身时出现的问题,异常也称内中断、例外或陷入,指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、缺页异常等。

大内核与微内核?

答:大内核是将操作系统功能作为一个紧密结合的整体放到内核。由于各模块共享信息,因此有很高的性能。微内核是操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。

进程管理

进程与线程区别?

答:(调度)进程是系统进行资源分配和调度的基本单位,线程是CPU调度和分派的基本单位;(关系)线程依赖于进程而存在,一个进程至少有一个线程;(地址)进程有自己的独立地址空间,线程共享所属进程的地址空间;(资源)进程是拥有系统资源的一个独立单位,而线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,和其他线程共享本进程的相关资源如内存;(切换)进程切换的开销远大于线程切换的开销;(通信)线程之间的通信更方便,同一进程下的线程共享全局变量等数据,而进程之间的通信需要以进程间通信的方式进行;(并发)多线程程序只要有一个线程崩溃,整个程序就崩溃了,但多进程程序中一个进程崩溃并不会对其它进程造成影响,因为进程有自己的独立地址空间,因此多进程更加健壮。

进程状态与转换?(五态/七态)

在这里插入图片描述

进程通信方式?

答:共享存储(布袋);消息传递(发邮件);管道通信(半双工);

多线程模型?

答:线程分为用户级线程和内核级线程。多对一模型(优:线程管理在用户空间进行,效率较高;缺:一个线程被阻塞,整个进程就被阻塞,并发较差);一对一模型(优:一个线程被阻塞,允许另一个线程继续执行,并发较好;缺:每创建一个用户级线程,就需要创建一个内核级线程与之对应,开销较大);多对多模型(综合)。

进程调度层次?

答:调度层次分为作业调度(从外存处于后备状态的作业中挑选一个给它分配内存)、中级调度(暂时不能运行的调至外存等待(挂起);外存已具备运行条件的调至内存(就绪))、进程调度(从就绪队列中选取一个给它分配处理机)。

进程调度方法?

答:先来先服务、短作业优先、优先级调度、高响应比、时间片轮转、多级反馈队列等。

同步与互斥?

答:同步是多个进程因为合作而使得进程的执行有一定的先后顺序。互斥是多个进程在同一时刻只有一个进程能进入临界区。同步机制四个准则:空间让进、忙则等待、有限等待、让权等待(当进程不能进入自己的临界区,应释放处理机)。

信号量?

答:信号量是一种功能较强的机制,可以用来解决互斥与同步问题,它只能被两个标准的原语访问,分别是wait(P)、signal(S)。信号量分为整型信号量(表示资源数目的整型量)和记录型信号量(包含一个资源数目的整型变量和一个进程链表(用于链接所有等待该资源的进程))。

管程?

答:管程是代表共享资源的数据结构,以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序。管程就好比一个类:管程把对共享资源的操作封装起来,管程内的共享数据结构只能被管程内的过程所访问;每次仅允许一个进程进入管程,从而实现进程互斥。条件变量是阻塞原因,每个条件变量保存了一个等待队列,用于记录因该条件变量而阻塞的所有进程。

死锁四个基本条件?

答:互斥条件、不剥夺条件、请求并保持条件、循环等待条件。

死锁产生原因?

答:系统产生死锁的可能原因主要是时间上的和空间上的。时间上是由于进程运行中推进顺序不当,即调度时机不合适;空间上是对独占资源分配不当,互斥资源部分分配又不可剥夺。

死锁处理策略?

答:死锁预防(破坏四个必要条件之一:静态分配、顺序资源分配)、死锁避免(安全状态:银行家算法)、死锁检测与解除(资源分配图、死锁定理、资源剥夺法和撤销进程法)。

死循环、饥饿、死锁区别?

答:死循环是已经得到处理机了;饥饿是长期得不到服务;死锁是多个进程因竞争资源而造成的一种僵局。

内存管理

内存管理功能?

答:内存空间的分配与回收;地址转换(逻辑地址与物理地址);内存空间的扩充(虚拟内存);存储保护(上下限、基+限长);

用户源程序变为内存中执行的程序?

答:编译(源程序-目标模块)、链接(目标模块-装入模块)、装入(装入模块-内存)。

三种链接?(形成逻辑地址)

答:静态链接(编译后链接后再装入)、装入时动态链接(装入时再链接)、运行时动态链接(运行时再链接)。

三种装入?(形成物理地址)

答:绝对装入(编译时)、可重定位装入(装入时:一个作业装入内存时,必须给它分配要求的全部内存空间;作业一旦进入内存,整个运行期间就不能在内存中移动,也不能再申请内存空间)、动态运行时装入(运行时:可以将程序分配到不连续的存储区;程序运行期间,根据需要动态申请分配内存)。

内存分配方式?

答:内存分配方式主要有连续分配管理方式和非连续分配管理方式。连续分配管理方式有单一连续分配、固定分区分配和动态分区分配方式。动态分区分配方式又有首次适应算法(地址递增)、最佳适应算法(容量递增)、最坏适应算法(容量递减)、邻近适应算法(从上次查找结束的地方开始寻找)。非连续分配管理方式有分页存储管理、分段存储管理、段页式存储管理。

局部性原理?

答:时间局部性和空间局部性。时间局部性是指某条数据被访问后,不久后该数据可能再次被访问。空间局部性是指程序在一段时间内所访问的地址,不久后其附近的存储单元也可能被访问。

虚拟存储器特点?

答:多次性(可以分多次装入内存)、对换性(允许作业运行过程中换进换出)、虚拟性(从逻辑上扩充内存的容量)。

页面置换算法?

答:最佳置换算法(被淘汰的是以后永久不使用的)、先进先出置换算法(被淘汰的是最先进入的、Belady)、最近最久未使用算法(被淘汰的是最长时间未访问的)、时钟置换算法。

页表和快表?有什么作用?

答:页表指出逻辑地址中的页号与所占主存块号的对应关系。作用:做地址转换工作。快表就是存放在高速缓冲存储器的部分页表。页表做地址转换,读写内存数据时CPU要访问两次主存。有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。

文件管理

磁盘调度算法?

答:先来先服务算法、最短寻找时间算法、电梯调度算法。

设备管理

I/O控制方式?

答:程序直接控制、中断驱动方式、DMA方式、通道。

SPOOLING技术?

答:三大组成部分:输入输出井(磁盘)、缓冲区(内存)、进程。

完结,撒花。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值