个人操做系统复习——操做系统概述

  我以为学习某样知识的最大原动力在于,当你以为现有知识不足以解决当前问题的时候的求知欲。为了完全与系统底层作个了断。今天开始全面复习系统底层知识,从操做系统开始吧,到UNIX,再到虚拟机。我但愿本身能把一件事情的本质,用本身的话讲出来。设计模式

1、操做系统是什么

  计算机是什么?说白了,硬件加软件的集合。操做系统是什么?是操做最底层硬件的那层软件。有了操做系统,咱们就无需外部输入1010这样的二进制信息让计算机处理了,这么说吧,计算机硬件是一组资源,操做系统把这些资源都封装了,让你能够更方便的使用它。服务器

  对于计算机的资源,能够分为4类,按照教科书上的说法,就是处理器、存储器、I/O设备以及信息(数据和程序),说白了,指的就是CPU、内存、输入输出设备(鼠标、键盘、显示器等等)、硬盘和硬盘上的软件。操做系统封装了计算机硬件系统,而且管理计算机的4种资源,这就是操做系统的功能。很容易理解吧。网络

 

2、操做系统发展历程

  操做系统的发展历程很重要,它可让咱们意识到,技术改进最重要的做用,就是改变目前最迫切须要改变的东西。分布式

  这里三言两语介绍一下操做系统的发展历程。模块化

(1) 人工操做方式。

  传说中的纸带操做。把程序和数据用最简单的纸带记录下来,而后经过纸带输入(I/O)进计算机(内存),而后计算机运行。这时候咱们能够看到,计算机I/O和信息(硬盘程序、数据)都是经过简单的纸带来存储并传送的。速度固然慢。性能

(2) 脱机输入/输出方式。

  这个跟纸带也脱不了关系,不过是将纸带信息预先装进磁带上,而后计算机运行的时候,程序和信息从磁带调入内存。这样的速度固然大大提高了。咱们能够看到,这种方式,说白了就是给计算机增长了一个简单的硬盘,程序和数据放在硬盘上,而不是纸带上。学习

(3) 单批道处理系统。

  这是最先的操做系统了。CPU控制“监督程序”将磁带上的一个做业(程序和数据)调入内存,而后运行它,而后调用下一个做业入内存,再运行它。这样依次运行完磁带上的全部做业。系统内存中一个时刻只有一道程序在运行,CPU也只是单线程的处理完IO再处理程序这样循环。spa

(4) 多道批处理系统。

  这是效率很是高的一种操做系统。用户提交的做业在硬盘上并排成一个队列,而后调度程序把若干做业放进内存。某个做业执行的时候,遇到IO请求,不阻塞,不让CPU空闲,而是让CPU去执行内存中的另外一个做业。这样各个做业轮流执行,CPU等系统资源尽量的保持占用。操作系统

(5) 分时系统。

  这是一种多用户系统,主要特色就是多用户同时使用,每一个用户都有本身的终端对计算机进行操做。分时系统采用了很是经典的时间片,即每一个用户、每一个做业在一个时间片内,都依次运行,并只运行一个很短的时间,这样看上去好像每一个用户都独占了整个计算机同样。分时系统主要用于查询系统。线程

(6)实时系统。

  实时系统能够看做是一种面向内部的要求更高更精确的分时系统。不过这种“分时”不必定经过时间片来控制,也多是经过一个设定的截止时间来控制。系统内部是对多项实时任务的采集和控制。说白了,就是一种精确的多任务系统。

(7)微机操做系统。

  这个就很简单啦,分别有单用户单任务操做系统(CP/M、MS-DOS等)、单用户多任务操做系统(Windows9五、XP等)、多用户多任务操做系统(UNIX OS等)。

 

3、操做系统的结构

(1)无结构OS(第一代)

  这是最先期的操做系统,仅仅追求功能和实现,无需深究。

(2)模块化结构的OS(第二代)

  将OS划分为若干各自独立的模块,如进程管理模块、存储器管理模块、文件管理模块等,并将各模块划分为各自的子模块,这样不断细分,系统就有比较清晰的模块化结构。不过因为模块化结构设计中,各个模块的设计齐头并进,没有可靠的“决定顺序”,这种设计又被称为“无序模块法”。这一代OS在第一代的基础上加上了模块的划分,便前进了一大步。

(3)分层式结构的OS(第三代)

  自底向上的分层设计,最底层只面向硬件,功能单一而正确,此后每层看待下层都是透明的,功能不断丰富、往高层不断抽象,高层只依赖于它的底层。这也是面向对象思想的体现。这种结构与咱们熟知的网络协议体系结构很是相似。这种结构在软件设计上是很是常见的。简单说就是按层划分、不断抽象,每层只操做下一层。      

(4)微内核结构的OS(现代结构OS)

   微内核结构的OS将系统划分为两大部分:微内核和多个系统服务器。微内核指的是足够小的、能实现现代OS最基本功能的部分。它负责于硬件最基本的联系、与外层系统服务器通讯这两大基本功能。外层系统服务器指的是操做系统内部的,将各类系统服务都抽象为一种模块化的服务器结构,用一个进程来表示,如文件服务器、进程服务器等。咱们都知道,服务器的本质就是对消息的请求和响应,这十分适用于当今系统所要求的分布式处理。用一个足够简单和高效率的微内核来对各个服务器进行实际的处理,各个服务器是整体而言是模块化的,而服务器自己是创建在分层次的OS上的,这种设计模式不但可靠,并且扩展性和性能都很是优越。这种设计实在是优雅。

相关文章
相关标签/搜索