操作系统基础知识

   一、为何要有操作系统

         操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。程序员无法把所有的硬件操作细节都了解到,管理这些硬件并加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的。

   二、操作系统的位置

        

         操作系统位于计算机硬件与软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。

   三、操作系统的功能

         两部分功能:

         一是隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好、更简单、更清晰的模型(系统调用)。应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。比如,磁盘资源的抽象是文件系统(C盘、D盘、E盘...下的目录及文件),有了文件的概念,我们直接打开文件,读或者写就可以了,无需关心记录是否应该使用修正的调频记录方式,以及当前电机的状态等细节。

 

          二是将应用程序对硬件资源的竞态请求变得有序化,例如:很多应用软件其实是共享一套计算机硬件,比方说有可能有三个应用程序同事需要申请打印机来输出内容,那么a程序竞争到了打印机资源就打印,然后可能是b竞争到打印机资源,也可能是c,这就导致了无序,打印架可能打印一段a的内容然后又去打印c...,操作系统的一个功能就是将这种无序变得有序(多路复用)

          (凡涉及到硬件的都由操作系统来控制)

   四、操作系统的发展

          第一代计算机(1940~1955):真空管和穿孔卡片

          第二代计算机(1955~1965):晶体管和批处理系统

          第三代计算机(1965~1980):集成电路芯片和多道程序设计

          第四代计算机(1980~至今):个人计算机

   五、多道技术

          处理来自多个程序发起的多个(多个即多路)共享(共享即复用)资源的请求,简称多路复用

         

          多路复用有两种实现方式

          1.时间上的复用

          当一个资源在时间上复用时,不同的程序或用户轮流使用它,第一个程序获取该资源使用结束后,在轮到第二个。。。第三个。。。

          例如:只有一个cpu,多个程序需要在该cpu上运行,操作系统先把cpu分给第一个程序,在这个程序运行的足够长的时间(时间长短由操作系统的算法说了算)或者遇到了I/O阻塞,操作系统则把cpu分配给下一个程序,以此类推,直到第一个程序重新被分配到了cpu然后再次运行,由于cpu的切换速度很快,给用户的感觉就是这些程序是同时运行的,或者说是并发的,或者说是伪并行的。至于资源如何实现时间复用,或者说谁应该是下一个要运行的程序,以及一个任务需要运行多长时间,这些都是操作系统的工作。

          2.空间上的复用

          每个客户都获取了一个大的资源中的一小部分资源,从而减少了排队等待资源的时间。

例如:多个运行的程序同时进入内存,硬件层面提供保护机制来确保各自的内存是分割开的,且由操作系统控制,这比一个程序独占内存一个一个排队进入内存效率要高的多。

          有关空间复用的其他资源还有磁盘,在许多系统中,一个磁盘同时为许多用户保存文件。分配磁盘空间并且记录谁正在使用哪个磁盘块是操作系统资源管理的典型任务。

          这两种方式结合起来便是多道技术。

 

posted @ 2017-03-13 15:10  黄土地上的黑石头  阅读(205)  评论(0编辑  收藏  举报