操作系统的知识点总结.docx
《操作系统的知识点总结.docx》由会员分享,可在线阅读,更多相关《操作系统的知识点总结.docx(6页珍藏版)》请在冰豆网上搜索。
操作系统的知识点总结
操作系统的知识点总结
操作系统的概念
操作系统:
是管理计算机软硬件资源的程序,同时它又是用户与计算机硬件的接口。
操作系统的构成
进程管理、内存管理、文件管理、输入/输出系统管理、二级存储管理、联网、保护系统、命令解释程序
操作系统的类别
经过多年的发展,操作系统多种多样。
为提高大型计算机系统的资源利用率,操作系统从批处理,多道程序发展为分时操作系统。
为了满足计算机处理实时事件的需要,就有实时操作系统。
为适应个人计算机系统的需要又出现了桌面操作系统。
为适应并行系统的需要,就有了多处理器操作系统。
为满足网络和分布计算的需要,就有了网络操作系统和分布式操作系统。
此外,还有为支持嵌入式计算机的嵌入式操作系统。
计算环境
从计算机诞生至今,操作系统总是与具体的计算环境相联系,它总是在某种计算环境中设置和使用,就目前来看计算环境可分为以下几类:
1.传统计算环境
指普通意义下的独立或联网工作的通用计算机所形成的计算环境。
2.基于Web的计算环境
互联网的普及使得计算被延伸到Web环境。
3.嵌入式计算环境
嵌入式计算机就是安装在某些设备上的计算部件,其计算相对比较简单。
进程的概念
什么是进程?
它与程序有什么区别?
程序:
用户为完成某一个特定问题而编写的操作步骤。
进程:
可以简单地被看作是正在执行的程序。
但是进程需要一定的资源来完成它的任务(例如CPU时间、内存、文件和I/O设备)。
进程与程序的区别在于进程是动态的、有生命力的,而程序是静态的。
一个程序加载到内存,系统就创建一个进程,程序执行结束后,该进程也就消亡了。
在计算机中,由于多个程序共享系统资源,就必然引发对CPU的争夺。
如何有效地利用CPU资源,如何在多个请求CPU的进程中选择取舍,这就是进程管理要解决的问题。
进程控制块PCB(略)
为了控制进程,操作系统就必须知道进程存储在哪里,以及进程的一些属性。
进程控制块是进程实体的一部分,是操作系统中记录进程的专用数据结构。
一个新的进程创建时,操作系统就会为该进程建立一个进程控制块。
操作系统根据进程控制块对并发进程进行控制。
进程调度及队列图
计算机采用多道程序的目的是使得计算机系统无论何时都有进程运行,单处理器的计算机在某一时刻CPU只能运行一个进程,如果存在多个进程,其它进程就需要等待CPU空闲时才能被调度执行。
当一个进程处于等待或CPU时间片用完时,操作系统就会从该进程中拿走CPU控制权,然后再交给其它进程使用,这就是进程的调度。
CPU调度及其准则
在设计CPU调度程序时主要应该考虑的准则包括:
(1)CPU使用率。
让CPU尽可能地忙。
(2)吞吐量。
让CPU在一定时间内完成的进程数尽可能多。
(3)周转时间。
让进程从提交到运行完成的时间尽可能短。
(4)等待时间。
让进程在就绪队列中等待所花时间之和尽可能短。
(5)响应时间。
让进程从提交请求到产生第一响应之间的时间尽可能短。
主要的CPU调度算法
1、先到先服务
2、最短作业优先
3、优先权
4、轮转
5、多级队列
6、多级反馈队列
进程的同步与互斥
进程的同步就是指相互协作的进程不断调整它们之间的相对速度,以实现共同有序地推进。
换句话说,在操作系统中,允许多个进程并发运行。
然而,有些进程之间本身存在某种联系,它们在系统中需要一种协作,以保证进程能正确有序地执行并维护数据的一致性。
在操作系统中,可能存在着多个进程。
而系统中一些资源一次只允许一个进程使用,这类资源被称为临界资源。
在进程中访问临界资源的那段程序称为临界区。
当一个进程进入临界区执行时,其它进程就不允许进入临界区执行,否则就会导致错误结果。
由此得出:
多个进程并发执行时,只允许一个进程进入临界区运行,这就是进程的互斥。
例如:
多个进程在竞争使用打印机时表现为互斥。
一个文件可供多个进程共享,其中有一个进程在写操作时,其它进程则不允许同时写或读,表现为互斥。
进程的死锁及处理方法
在多道程序设计中,多个进程可能竞争一定数量的资源。
一个进程在申请资源时,如果所申请资源不足,该进程就必须处于等待状态。
如果所申请的资源被其它进程占有,那么进程的等待状态就可能无法改变,从而形成进程之间相互一直等待的局面,这就是死锁。
竞争资源引起死锁
引起死锁的四个必要条件:
互斥:
任一时刻只能有一个进程独占某一资源,若另一进程申请该资源则需延迟到该资源释放为止。
占有并等待:
即该进程占有部分资源后还在等待其它资源,而该资源被其它进程占有。
非抢占:
某进程已占用资源且不主动放弃它所占有的资源时,其它进程不能强占该资源,只有等其完成任务并释放资源。
循环等待:
在出现死锁的系统中,一定存在这样一个进程链,其中每个进程至少占有其它进程所必需的资源,从而形成一个等待链。
处理死锁问题的三种方式:
可使用协议预防和避免死锁,确保系统从不会进入死锁状态。
可允许系统进入死锁状态,然后检测出死锁状态,并加以恢复。
可忽略进程死锁问题,并假装系统中死锁从来不会发生。
即没有必要把精力花在小概率事件上。
处理死锁优先考虑的顺序:
先预防和避免再检测和恢复
内存管理
内存是现代操作系统的核心。
内存用于容纳操作系统和各种用户进程,是可以被CPU和I/O设备所共同访问的数据仓库。
计算机的所有程序运行时都要调入内存。
内存管理的主要工作是:
为每个用户进程合理地分配内存,以保证各个进程之间在存储区不发生冲突;当内存不足时,如何把内存和外存结合起来,给用户提供一个比实际内存大得多的虚拟内存,使得程序能顺利执行。
内存管理包括内存分配、地址映射、内存保护和扩充。
用户程序执行与地址映射
用户编写程序在执行前,需要多个处理步骤,这些步骤可将源程序转变为二进制机器代码,然后在内存中等待执行。
当然有时并非每个步骤都是必需的。
通常,将指令和数据的地址映射成内存地址可以发生在以下三个执行阶段。
(了解)
1.编译阶段:
如果在编译时就知道进程将在内存中的什么位置驻留,那么编译器就可以直接以生成绝对地址代码。
2.加载阶段:
不知道进程将驻留在什么位置,那么编译器就必须生成程序的逻辑地址,在加载阶段再转变成内存的绝对地址。
3.执行阶段:
如果进程在执行时可以从一个内存段移动到另一个内存段,那么进程的绝对地址映射工作只能延迟到执行时进行。
物理地址空间与逻辑地址空间
物理地址:
是计算机内存单元的真实地址。
物理地址空间:
由物理地址所构成的地址范围。
逻辑地址:
用户程序地址,从0开始编址。
逻辑地址空间:
由逻辑地址所构成的地址范围。
地址映射:
用户程序在运行时要装入内存,这就需要将逻辑地址变换成物理地址,这个过程称为地址映射,也称重定位。
用户编写的源程序是不考虑地址的,源程序经CPU编译后产生逻辑地址。
从CPU产生的逻辑地址转换为内存中的物理地址的映射是由计算机中被称为内存管理单元的硬件设备来实现的,将逻辑地址与内存管理单元中存放的内存基址相加就得到了物理地址。
进程使用内存的交换技术
为了更加有效地使用内存,进程在不运行时,可以暂时从内存移至外存上,直到需要再运行时再重新调回到内存中。
也就是说内存管理程序可将刚刚运行过的进程从内存中换出以释放出占用的内存空间,然后将另一个要运行的进程占据前者释放的内存空间。
计算机工作时,为了将多个进程放入到内存就必须考虑在内存中如何放置这些进程。
内存分配方案-连续
对于连续内存分配方案,开始时所有内存是一个大的孔,随着内存分配的进行就会形成位置上不连续的大小不一的孔。
在连续内存分配方案中,当新进程需要内存时,为其寻找合适的孔,实现内存分配。
该方案为每个进程所分配的内存物理地址空间在位置上是连续的。
内存分配方案-分页式
分页管理基本思想:
o内存物理地址空间划分为若干个大小相等的块(页框)
o进程的逻辑地址空间也划分为同样大小的块(页面)
o内存分配时每个页面对应地分配一个页框,而一个进程所分得页框在位置上不必是连续的。
页表:
操作系统为每个用户程序建立一张页表,该表记录用户程序的每个逻辑页面存放在哪一个内存物理页框。
虚拟内存方案
虚拟内存是一个容量很大的存储器的逻辑模型,它不是任何实际的物理存储器,它一般是借助硬盘来扩大主存的容量。
虚拟内存:
对于一个进程来讲,如果仅将当前要运行的几个页面装入内存便可以开始运行,而其余页面可暂时留在磁盘上,待需要时再调入内存,并且调入时也不占用新的内存空间,而是对原来运行过的页面进行置换。
这样,就可以在计算机有限的内存中同时驻留多个进程并运行。
而对用户来讲感觉到系统提供了足够大的物理内存,而实际上并非真实的,这就是虚拟内存。
页面请求与页面置换算法
页面请求:
在虚拟内存技术中,进程运行时并没有将所有页面装入到内存,在运行过程中进程会不断地请求页面,如果访问的页面已在内存,就继续执行下去;但如果要访问的页面尚未调入到内存,便请求操作系统将所缺页面调入内存,以便进程能继续运行下去。
页面置换:
如果请求页面调入内存时,分配给该进程的页框已用完,就无法立即装入所请求页面。
此时,必须将进程中的某个页面从内存的页框调出到磁盘上,再从磁盘上将所请求的页面调入到内存的该页框中。
这个过程叫做页面置换。
文件管理
文件管理是操作系统最常见的组成部分。
文件管理主要提供目录及其文件的管理。
文件的概念
文件:
保存在外部存储设备上的相关信息的集合。
文件命名:
文件主名+扩展名
文件存取属性:
只读:
只允许授权用户进行读操作。
读写:
只允许授权用户进行读和写的操作。
文档:
允许任何用户进行读写操作。
隐藏:
不允许用户直接看到文件名。
文件系统:
是对文件进行操作和管理的软件,是用户与外存之间的接口。
这个系统将所有文件组织成目录结构保存在外存,一个文件对应其中的一个目录条。
目录条记录有文件名、文件位置等信息。
操作系统对文件的基本操作包括:
创建文件、文件写、文件读、文件重定位、文件删除、文件截短。
对文件的其它操作包括:
文件复制、重命名、更改属性等。