看到以前的笔记,整理下,留作纪念。 
操作系统,在开发的笔试面试中是经常出现的,记忆中记得的面试题有如下: 
考的最多的:线程进程的定义,关系,区别;进程之间的通信;死锁产生的必要条件和避免总的来说,大多是都是概念,在笔试的选择题、简单题和一面中经常碰到 
{补充:找IT行业开发找工作流程: 
笔试->一面->二面->hr面,一般是这样,具体就要看不同的公司而定,eg,微软5技术面无hr面,百度3技术面无hr面,腾讯2技术面1hr面,滴滴3技术面1hr面等等}

一、概述

1、定义: 控制和管理计算机硬件的软件资源、合理地组织和管理计算机的工作流程以方便用户使用的程序的集合。位于硬件(裸机)之上、其他软件之下。

2、特点

  • 并发:并发性(同一间隔内发生)、并行性(同一时刻发生)
  • 共享:互斥共享、非互斥共享
  • 虚拟:一个物理实体映射为若干个对应的逻辑实体。
  • 不确定性:异步性:指在多道程序的并发执行环境下程序的执行顺序、开始时间和执行时间是不确定性。但在相同环境下,不管以上是怎么不确定,只要输入相同,则结果总是相同的。

3、结构:

  • 用户观点:操作系统是用户和计算机之间的接口
  • 层次机构观点:OSI模型(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层);THE模型(6层)
  • 功能观点:模块接口法

二、作业管理和用户接口

作业:用户在一次算法工程中或者一个事务处理过程中要求计算机系统所做工作的总和,它是用户像计算机系统提交一项工作的基本单位。(脱机作业、联机作业) 
作业的组成:程序、数据、作业控制信息(作业说明书) 
处理过程:作业输入、作业注册、作业调度、作业终止 
作业控制块:系统为管理作业设置的一个数据结构,是系统中存在的唯一标准。 
作业调度算法:先来先服务调度算法、短作业优先调度算法、响应比(作业响应时间/作业运行时间)高者优先调度算法 
**评价因素:**CPU利用率、吞吐量、周转时间 
系统功能调用原理:

  • 算态-用户程序-访管指令
  • 管态-系统程序-特权指令

系统功能调用与普通过程调用的区别

  • 运行状态不同,A的调用过程和被调用过程运行在不同的转态,B运行在相同的状态
  • 调用方式不同,A必须通过中断,B直接由调用过程转向被调用过程。
  • 返回问题,A返回可能需要重新进行调度分析,B直接返回调用过程继续执行。

三、进程管理

定义:程序的一次执行,与其他进程并发执行;它是一个动态的实体,进程即是资源的基本分配单元,也是基本的执行单元。 
**组成:**PCB(进程控制块,进程存在的唯一标识),程序,数据,工作区 
基本状态及其转换: 
- 运行——阻塞:等待资源和事件 
- 阻塞——就绪:资源释放或事件完成 
- 就绪——运行:被调用 
- 运行——就绪:时间片用完,中断 
操作系统概念篇
原子:原子操作;系统对进程的控制和管理是通过操作系统内核中的原语实现的。 
算法:先来先服务调度算法;基于优先数的调度算法;时间片轮转法(固定时间片,可变时间片);多级反馈队列调度算法。 
进程间的相互关系: 
- 同步 相互合作、协同工作的关系,直接制约——不能协同工作,陷入无限等待状态 
- 互斥:多个进程因为争夺临界资源(独占资源)而相互执行的过程称为互斥,间接约束——执行结果错误

互斥解决方案: 
- 锁变量法,设定一个共享变量。简单、效率低 
- 信号量和P、V操作。公用信号量(互斥,初始值为1);私有信号量(同步,初始值为0或n)

管程:由若干公共变量和所有访问这些变量的过程所组成的一个特殊的模块或软件包。 
进程通信:(重点) 共享内存模式(不关心数据给谁,不关心谁发的数据,有安全隐患);消息传递模式(发送方通过一定机制传给接收方);管道(也叫直接通信,是一种基于文件系统的信息流缓冲机构,类似于FIFO方式的单向传送)。 
线程:轻微进程,是一个可执行的实体单元,是现代操作系统中处理机调度的基本单位。 
操作系统概念篇 
进程和线程(基本的调度单元)的关系: 
- 线程是进程的一个组成部分,线程由进程创建,因此一个进程中至少存在一个线程,线程可以创建其他线程。 
- 进程依然是资源分配和保护的基本单位,线程只能在进程的地址空间活动,只能使用其所在进程的资源。进程中的所有线程共享此进程的存储空间和分配的资源。 
线程优势:创建和销毁的开销非常小,切换迅速,通信效率高,并发度高。

四、死锁

产生的必要条件:资源互斥使用;非剥夺控制;零散请求;循环等待。 
解决策略:置之不理法;事后处理法;积极防御法。 
避免死锁的关键:让系统在动态分配资源的过程中,不要进入不安全状态。银行家算法——死锁避免 
资源分配图:描述申请资源和资源分配情况的关系模型图。如果系统为死锁状态,当且仅当资源分配图不可完全简化。 
死锁解除:重新启动,撤销进程,剥夺资源,进程回退。

五、存储管理

存储器:计算机系统结构的重要组成部分,其功能是保存指令和数据。 
地址重定位:程序的逻辑地址转换成内存的物理地址。技术:固定地址再定位(一一对应),可重定位装入(静态再定位,在程序执行之前进行地址再定位;动态再定位,不修改逻辑地址值,利用变址寄存和基址寄存器)。 
分区存储管理方案:单一连续分区存储管理(内存一次只能装入一个用户程序,程序独占整个用户区);固定分区管理(分区状态表, 特点:内存中同时可以容纳多道程序;程序必须连续存放,且要一次全部装入。);可变分区(预先不划分内存,当作业需要时向系统申请);可再定位式分区(浮动分区分配,解决碎片问题) 
可变分区分配算法:最先适应算法,下次适应算法(循环最先适应算法),最佳适应分区,最坏适应算法。 
纯页式存储管理 
段式存储管理 
段页式存储管理 
虚拟页式存储技术的页面淘汰算法:

  1. 先进先出页面淘汰算法
  2. 最近最少使用页面淘汰算法

虚拟页面存储管理方案性能分析

  • 颠簸\抖动现象:页面在内存和内存之外频繁调度,以至于调度页面所需的时间比实际进程运行的时间还多,此事系统效率急剧下降,导致系统崩溃。
  • 常驻集:虚拟页式管理中给进程分配的物理页面数目。
  • 工作集:对于给定的访问序列选定长的区间,称为工作集窗口,落在工作集窗口中的页面集合称为工作集。 
    高速缓冲存储器:为了匹配CPU的处理速度和内存的访问速度的高速存储器。

六、文件管理 
文件:记录在外存上,具有符号名的,在逻辑上具有完整意义的一组有关信息项的集合。逻辑外存的最小单元。 
文件组成:文件体,文件说明(属性)。 
文件的结构:

  • 逻辑结构:是从用户观点出发,所观察到的文件组织形式,是用户可以直接处理的数据及结构,它独立于物理特性,又称为文件组织。
  • 物理结构:文件的内部组织形式,即文件在物理存储设备上的存放方法。 
    物理存储方式:连续存储;链式存储;索引结构(根据索引表的组织方式:链式文件方式,多重索引方式,hash文件); 
    文件目录功能:实现“按名存取”,提高对目录的检索速度;实现文件共享;解决文件重名问题。

外存空闲空间管理的数据结构通常称为磁盘分配表。常用的空闲空间的管理方法有:

  • 空闲区表:建立空闲表,包含序号、空闲区的第一块号、空闲块的块数等信息。
  • 位示图:位示图记录存储器的使用情况。
  • 空闲块链:每个空闲物理块有指向下一个空闲物理块的指针。
  • 成组链表法:将空闲块分成若干组,每100个空闲块为一组。每组的第一个空闲块记录了下一组空闲空的物理盘块号和本组空闲块总数。

磁盘调度算法:先来先服务,最短寻道优先,扫描算法(电梯调度算法)。 
旋转调度算法:看 磁道,扇区、 在同一柱面写信息时,花费最少时间。

七、设备管理

外部设备:计算机系统和外界交互的工具,负责计算机与外部的输入输出工作。 
I/O控制方式:程序控制I/O;中断驱动I/O;直接存储访问I/O;通道控制方式I/O 
中断目的:解决高速处理器设备和低速输入输出设备之间的矛盾,提高系统工作效率。 
I/O软件的组成:中断处理程序,设备驱动程序,与设备无关的系统软件,用户控件的I/O软件。 
缓冲技术分类:单缓冲区技术,双缓冲,环形缓冲,缓冲池,

相关文章: