操作系统是每个计算机从业人员必须了解的知识,下面给出对操作系统一些知识点的理解与总结:
操作系统(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系统调用分类 文件管理 进程管理 设备管理 进程管理 存储管理