操作系统是每个计算机从业人员必须了解的知识,下面给出对操作系统一些知识点的理解与总结:

操作系统(Operating System,OS)是一组控制和管理计算机软、硬件资源,为用户提 供便捷使用计算机的程序的集合。它是配置在计算机硬件上的第一层软件,是对硬件功能的 扩充。操作系统在整个计算机系统中具有极其重要的特殊地位,它不仅是硬件与其他软件系 统的接口,也是用户和计算机之间进行“交流”的界面(窗口)

可以这样理解操作系统:举一个不太恰当的例子,用户是王府主人,操作系统是管家,而操作系统管理的硬件(内存,进程,文件等等)是负责不同任务的仆人(长工,厨师,保姆等等)。当主人每做一件事情,如果没有管家,就要去找各个项目的负责人然后分别布置任务,但是略显麻烦,主人需要知道每个人住在哪里怎么联系,增加了主人的负担。这个时候时候找到一个中间人管家,不管有什么需求,只需要对管家说,我要做什么,然后当甩手掌柜,让管家去找各个负责人就可以了,有了管家而不需要想着具体怎么做,操作系统就相当于管家这个身份。

操作系统有很多种,小到电子手表,大到导弹系统,都会有操作系统对系统资源进行管理,下面给出不同类别的操作系统:

A:批处理系统
B:分时系统
C:实时系统
D:个人操作系统(PC)
E:嵌入式操作系统
F:网络操作系统

那么如何描述操作系统的特性呢?下面给出操作系统的四个重要特性:

a:并发性,即可以同时运行多个程序
b:共享性,即并发程序可以使用共同的系统资源
c:虚拟性,即逻辑上拓展物理设备,例如虚拟处理器,存储器,设备等
d:异步性,即不确定性,进程”走走停停“不可预知复现。  

操作系统的职责也不止于管家那么简单,传统的操作系统相当于一个资源管理者,负责一些资源的调用与分配,一般而言,操作系统有以下几个方面的管理:进程管理;存储器管理(内存);设备管理;文件管理;用户接口。
一:进程管理

又称处理器管理,其主要任务是对处理器的时间进行合理分配、对处理器的运行实施有 效的管理。

关键词:分配CPU
即进程管理主要要做的事情就是合理地分配CPU资源,为了能合理地分配CPU,衍生出以下知识点:

1.1:进程

1.1.1进程的定义
计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位

1.1.2进程的特性
动态,并发,异步,独立。

1.1.3进程的状态
就绪,运行,等待

1.1.4进程与程序的区别
程序静态,进程动态
程序可长期保存,进程”生命暂时“
程序不惧并发性,进程具有并发性

1.1.5进程的并发与顺序
程序顺序执行:顺序性、封闭性、可再现性 
程序并发执行:制约性、失去封闭性、不可再现性 

1.2进程的控制

1.2.1进程的组成
程序块
数据集合
进程控制块(PCB)核心

1.2.2进程控制块的组成及作用
PCB一般包括进程标时,进程调度信息,进程现场信息,进程控制信息,进程家族信息
作用在于:使程序在多道程序环境下成为一个能独立运行的基本单位,并能与其他 进程并发执行。 

1.3进程调度

1.3.1进程调度程序的作用
记录进程情况
根据调度策略分配CPU
回收CPU

1.3.2进程调度方式
非剥夺式调度
剥夺式调度

1.3.3进程调度算法的作用
提高资源利用率(即CPU)
缩短一般程序的响应时间
避免某些程序长时间未响应

1.3.4常用的进程调度算法
先到先服务
短进程优先
优先级高优先
时间片轮转



二:存储器管理

由于多道程序共享内存资源,所以存储器管理的主要任务是对存储器进行分配、保护和 扩充。

关键词:分配,保护,扩充存储器
为了合理地分配,保护,扩充存储器,衍生出以下知识点

2.1存储器管理

2.1.1存储器管理的作用
存储分配
地址变换(外存中的逻辑地址变为内存中的物理地址)
存储保护
存储扩充

2.1.2存储分配的方式
直接分配(注意到这是早期系统,直接把程序分配到内存)
静态分配 (一次装入,不再变换)
动态分配(装入前或执行中确定内存,可变换,且复杂,现在操作系统一般都是采用动态分配)

2.1.3存储器的地址变换过程
源程序中的符号名空间->目标程序的逻辑地址->主存中的物理地址

2.1.4存储保护
一般而言要使各个程序互不干扰,通常的方法有主存分割,内存标记,将存储区域分为系统区域和用户区域等等。

2.1.5存储扩充
以时间换空间,即虚拟技术,研究的内容就是”让一个大于内存的程序在内存中运行“。一般而言有下个方法:

自动覆盖技术:采用分段方法,将大的程序划分为在主存中可以容纳的独立的
逻辑段。每次只调入其中的一段进行处理。后调入的程序使用前面程序使用过的存储空间。

交换技术:根据需要将运行的程序在内、外存之间进行调入或调出的交换;即 把执行了一段时间、因故暂停的进程由系统调出主存,以文件的形式存入外存,而 将下一个程序装入主存运行。 

虚拟存储技术:把部分外存空间作为主存使用,以此为用户提供足够大的地址 空间——虚存空间。用户可以在这个地址空间内编程,而完全不考虑主存的大小。 虚拟存储器技术实际上是采用内、外存结合的办法实现的。硬件负责虚实地址的转 换;软件负责实存(主存)和虚存(外存)之间的信息调度管理

2.1.6存储管理
单一连续区分分配法
多连续区分配法  
分页分配法   (与存储空间的存储块,即物理地址对应)
分段分配法  (将程序按逻辑功能分段)




三:设备管理

根据确定的设备分配原则对设备进行分配,使设备与主机能够并行工作,为用户提供良 好的设备使用界面。

关键词:分配,适应用户,并行。
为了合理分配设备,并让其能与主机并行,最后还要有良好的用户体验,设备管理衍生出以下知识点:

3.1设备管理

1.3.1设备管理的目的
方便用户操作
提高设备利用率和处理效率
设备独立于用户程序

1.3.2设备分类
按资源分配分类:独占设备,共享设备,虚拟设备
按数据存取和组织分类:字符设备,块设备

1.3.3设备控制器
I/O设备分为电子部分(设备控制器,复杂CPU和I/O设备数据传输)和机械部分(I/O操作)
注意到,通常把负责I/O操作的处理机(注意有处理机)称为通道

3.2数据传输
3.2.1数据传输的方式
程序控制方式
DMA方式
通道控制方式

3.2.3程序控制方式
无条件控制方式:在任何时候,只要需要,CPU 就可以立即启动 I/O 传输
循环测试方式:它是通过设置一个测试 I/O 设备“忙/闲”状态的触发器,由 CPU循环 进行探测
中断控制方式:它的核心思想是使 I/O 设备具有主动“汇报”能力

3.2.4DMA方式
DMA 方式无需 CPU通过执行程序来控制 I/O 数据传输,而是由DMA 控制器硬件 来控制数据在 I/O 设备与内在之间直接传输。这种传输方式传输速度快,占用 CPU 资源也低。

3.2.5通道控制方式 
现代 OS 中采用通道控制方式。通道是一种具有较强 I/O 处理能力、专门对设备进行管 理和控制的硬件机构(或称为 I/O 处理机)。 

三种方式总结,从上自下,解放了CPU,通道方式甚至不用CPU,专门设计了通道处理机,这样将中央CPU解放出来去做更重要的事情。

3.3设备管理
3.3.1设备管理程序目的
根据分配策略对 I/O 设备进行分配 
分配相应的控制器和通道 
形成数据传输的通路 
完成主存和设备之间的信息交换等。

3.3.2设备管理数据结构
系统设备表(SDT) 
设备控制表(DCT) 
控制器控制表(COCT) 
通道控制表(CHCT) 

3.3.3设备分配原则
充分发挥设备的使用效率; 
应避免由于不合理的分配方法造成进程死锁; 
当进程需要设备时,向系统发出请求,由设备分配程序根据分配策略对所需设备 进行分配。 


四:文件管理

有效地管理文件的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提供 更有效的方法及手段。

关键词:组织管理,保护。
文件管理有以下知识点:

4.1文件管理
4.1.1文件系统功能
组织和管理文件
实现文件按名存储的机制
是现实文件共享及保护
良好的用户体验

4.1.2文件分类
按用途分:系统文件,用户文件,库文件
按操作权限分:只读文件,读写文件,执行文件
按文件中数据形式分:文本文件,可执行文件
按信息流分:输入文件,输出文件

4.1.3文件组织结构
逻辑结构,物理结构,目录结构

4.1.4文件存取
顺序存取,随机存取,按键存取
(哈哈哈,有点数据结构内味儿了~)

4.1.5文件控制
文件共享
文件保护

4.1.6文件存储空间管理
磁盘结构(以块为基本单位)
管理方法:空闲块目录,空闲区表,空闲块链,位示图。(有数据结构内味儿了)


五:用户接口

用户操作计算机的界面称为用户接口(或用户界面),通过用户接口,用户只需进行简 单操作,就能实现复杂的应用处理。

关键词:接口
用户接口提供了接口给用户,即管家提供了服务口令给了主人,主人只需简单地说几句或者干脆咳嗽几声,管家就会乖乖去为主人办事。只需记下以下几点:

5.1接口
5.1.1接口定义
OS 为计算机硬件和用户之间提供了交流的界面。用户通过 OS 告诉计算机执行什么操作,
计算机系统为用户提供执行各种操作的服务,并按用户需要的形式返回操作结果。
用户 和计算机之间的这种交流构成完整的、人机一体的系统,将这个系统称为用户接口。 

5.1.2接口分类
直接用户接口,通过交互方式的用户界面进行人机对话。 
间接用户接口,通过批作业或程序的方式完成人机交流。 

5.1.3接口分类
命令接口
菜单界面
图形界面GUI


5.2系统调用
5.2.1系统调用定义
在计算机系统中,用户不能直接管理系统资源,所有资源的管理都是由OS统一管理的。 但用户可以通过程序调用的方式申请使用系统资源,被称为系统调用,或者称为应用编程接 口 API。目前的 OS都提供了功能丰富的系统调用。

5.2.2系统调用分类
文件管理
进程管理
设备管理
进程管理
存储管理