操作系统基础

为什么要有操作系统

  现在的计算机都是由大量的复杂硬件组成。假想下如果计算机没有操作系统的话,我们来操作计算机的话是不是就会变得非常复杂?如果我们这时候需要操作计算机完成某些工作,就需要我们自行操作寄存器,I/O的高低电平,自己写处理器的中断程序等。如果,我们不会这些底层硬件的相关操作呢?那么我们就无法继续使用我们的电脑。所以操作系统的存在替我们屏蔽了底层硬件的操作,提供给我们一个接口,我们可以通过这个接口来更简单的操作计算机。并且,操作系统还管理着计算机所有的硬件资源和软件资源,以及控制软件对硬件资源使用的有序化。

 

操作系统的位置

  操作系统管理着整个计算机的硬件和软件资源,操作系统位于硬件与应用程序之间的位置。操作系统本质也是一个应用程序,分为操作系统内核(运行在内核态,管理着计算机的所有硬件)、系统调用(运行在用户态,为应用程序提供一个系统调用接口)两部分。

 

操作系统的功能

  1.为应用程序提供使用硬件资源的抽象。

    例如:操作系统给我提供了文件这样的一个定义,当我们在操作文件进行读写数据的时候,就是在对硬盘进行读写操作,我们无需再管怎么控制磁盘进行读写数据。操作系统为我们屏蔽了大量的底层硬件操作,让计算机的使用变得简洁清晰效率。

  2.管理硬件资源。

    现代的操作系统都可以同时运行多个任务程序,程序之间对硬件的使用都是一种竞争关系,操作系统可以在相互竞争的程序之间有序的对计算机硬件资源进行分配。

 

操作系统的发展

  1.第一代计算机(1940-1955)

    第一代计算机基于真空管技术,典型的产品有1951年生产的UNIVAC,由Mauchly and Eckert设计。第一代计算机的特点:无操作系统,采用机器指令或者汇编语言,CPU执行程序的方式是串行执行,也就是说CPU执行完第一个程序的时候才会读取下一个程序开始执行。人们想使用计算机时需要申请某一时间内段使用,程序出问题了可以即时的修正,但这时其他人就无法使用了。

  2.第二代计算机(1955-1965)

    第二代计算机采用晶体管制造的电子计算机,采用批处理系统。第二代计算机相比于第一代计算机节省了机时,但是计算机在运行过程中仍然需要人工参与(输入设备输出设备跟计算设备是分开的,需要人工搬运数据),计算机的计算过程依然是串行计算。相比于第一代计算机那种独占的使用方式,第二代变成统一规划到某一批次的处理任务中去了。等待结果和重新调试需要等同批次的程序运行完毕。

  3.第三代计算机(1965-1980)

    第三代计算机以中小规模集成电路来构成计算机的硬件。与第二代计算机相比采用了SPOOLING技术,使计算机在计算的过程中不在需要人工的参与。第三代计算机相比于第二代计算机的操作系统使用了第二代没有的 “多道技术”。第三代计算机一开始也是使用批处理系统,后来诞生了“分时操作系统”。

    分时操作系统:多个联机终端+多道技术。比如同时有10个客户端加载到了内存,有7个空闲,3个在运行,CPU就采用多道的方式处理这三个程序。一般客户端提交的指令都很简短很少有耗时长的,索引计算机能够为许多用户提供快速的交互式服务,所有的用户都以为自己独享了计算机资源。

  4.第四代计算机(1980-现今)

    第四代计算以大规模和超大规模集成电路构成计算机。

 

多道技术

  多道技术分为空间复用和时间复用。

  空间复用:将内存分成几部分,每个部分放入一个程序,同时程序之间的内存彼此隔离。这样同一时间内内存中就可以放入过个程序。

  时间复用:时间复用指的是CPU的工作时间复用,比如当一个程序在等待I/O操作的时候,这时别的程序可以调用CPU进行其他工作,这样如果内存中的程序足够多话,CPU的利用率可以最大化。

posted @ 2017-05-19 16:32  neuropathy_ldsly  阅读(211)  评论(0)    收藏  举报