您的位置: 首页 >  瞻前顾后 >  正文内容

计算机操作系统概念初解

来源:春花烂漫网    时间:2019-03-31




  计算机操作系统是什么?如何了解计算机操作系统,下面小编带来计算机操作系统概念初解,为大家提供参考。

  一、存储系统

  在计算机系统中存储层次可分为,处理器上的寄存器、高速缓冲存储器、主存储器(内存)、辅助存储器(外存)四级。高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题。辅助存储器用于扩大存储空间。

  1、存储设计存在的三个问题:

  存储容量:这个需求永无止境

  读写速度:需要能够匹配当前的处理器

  经济成本:要选择最合适的成本,进行一定的优化。

  2、存储保护

  存储保护有两个方面:

  界地址寄存器--用于给定地址上限与下限,规定某个程序占用不得超出界限、或者是基键与长度键,不知道的自己去查

  存储键--进程调入内存时,设置存储键,每次调用之前查询存储键,给定与进程存储键键值和地址键值一致

  3、中断与异常机制

  (1)癫闲病能治好吗该机制的特点:

  中断随机

  中断可恢复

  中断自动处理

  (2)内容

  分类的内容,图片没处理好,不处理了

  其中中断与正在执行的指令无关,可以采取中断屏蔽;

  但是异常与正在执行的指令有关,不可以屏蔽。

  总的来说可以分为五类中断:

  I/O 中断

  时钟中断

  硬件故障中断

  程序性中断(貌似考这个的概率比较大,因为这个最搞不清)

  系统调用中断

  (PS:系统调用:是OS为用户程序设置的唯一的用户程序获取OS服务的途径

  目态-->管态)

  4、I/O技术

  I/O控制方式有三种:通道控制、DMA控制、缓冲技术

  目前最广泛采用的基本是缓冲技术,其中缓冲技术又分为三种:单缓冲区、多缓冲区、缓冲池

  5、时钟

  时钟是微机上所有的软件获得时间的来源。一般分为硬件时钟和软件时钟。按照用途可分为绝癫痫病该吃什么药对时钟和相对时钟。

  二、进程线程模型

  1、并发环境与多道程序设计

  程序的顺序执行

  顺序环境:独占资源,不受外界的影响,无交互

  多道程序设计

  独立性、随机性、资源共享性

  程序的并发执行

  (1)执行期间相互制约

  (2)程序与计算不再一一对应

  (3)并发执行结果不可再现(这一点出题最多)

  2、进程(正在执行的程序-系统进程、用户进程)

  特征

  并发性、动态性、独立性、交往性、异步性

  进程基本状态模型:

  三进程状态

  五进程状态

  七进程状态

  三种基本状态:

  就绪状态:除了CPU之外一应俱全(多的时候就形成了就绪队列)

  运行状态:获得了CPU的使用权

  等宝鸡癫痫病医院最新治疗办法待状态:正在进行的进程因为意外暂停退出CPU的使用

  扩展状态:

  创建状态:未进入就绪队列

  结束状态:从系统队列移除但是还没有撤销

  挂起状态:把一个进程从内存移到外存中

  激活状态:从外存移动到内存

  状态转换

  举个栗子:CPU是个好姑娘(唔,花魁吧,是这个叫法吧),进了内存(chun楼)的都是进程(为了花魁而来的文人才子),那就不管你是在哪儿,进来了就算是进程了。然后,如果有多个花魁,那就是多道操作系统了。可以容几个进程共同使用CPU嘛,如果只有一个,那就只能同时一个进程,所谓异步并发,其实就是,这个进程在比如0-10秒用一下CPU,10-20秒就归另外一位进程使用CPU,反正CPU快得很,一个个的应付都是小意思。用户(看客?)根本看不出来多个进程用一个CPU,在他们看来那就是所有的进程都有CPU可用,就绪状态,就等于是已经排好队了,啥都有了,就等着进姑娘的房间脱裤子了。运行状态,那就不说了,大家都懂~~~等待状态,那就是突然家里打电话过来了,maybe查房的来了。需要时间出去房间应付下,然后回来就会继续排队,毕竟CPU你不用,人家还要用的呢,就差不多是这样了。其他自己去脑补吧。

  (此处并非有任何别的除了打比方之外的想大连治癫痫病首选哪家医院法,不喜勿喷,想喷出门请左拐,掉坑里去吧)

  转化图如下:切记,只有就绪状态和执行状态可以相互转化,就是上面那个 轮流使用CPU的是时候

  进程控制块(PCB)

  进程控制块中的内容是:调度信息、现场信息

  进程由程序、数据、PCB组成

  其中PCB是灵魂,程序、数据是肉体

  PCB表的组织方式

  线性:直接找,一个个找,没有额外的开销,只是速度慢点

  索引:建个表,慢慢找,有额外的开销,但是速度挺快的

  链接:按照相同的状态的进程分块,一个个找。

  进程控制

  创建、撤销、完成,通过原语完成

  fork()的使用

  fork是在父进程下开一个子进程的函数。执行一次,返回两个结果,一个是父进程返回的子进程的PID 也就是子进程的代号。还有一个是子进程返回的0

  fork()后的代码是两个进程共有的,会执行两次后面的代码。结果返回一个child:x=2 parent:x=0


© zw.wlqib.com  春花烂漫网    版权所有  渝ICP备12007688号