计算机基础系列之何为操做系统

what's the 操做系统?

  首先,咱们要知道,为何要有操做系统。现代的计算机系统主要是由一个或者多个处理器,主存、硬盘、键盘、鼠标、显示器、打印机、网络接口及其余输入输出设备组成。现代计算机的组成部分极其复杂,咱们不可能所有了解完再去写开发,因此就须要用到操做系统。程序员只须要作本身的本职开发工做,应用软件直接使用操做系统提供的功能来间接使用硬件。程序员

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

  操做系统的功能主要有两个,一个是隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。应用程序员有了这些接口后,就不用再考虑操做硬件的细节,专心开发本身的应用程序便可。好比,磁盘资源的抽象是文件系统(C盘,D盘,E盘...下的目录及文件),有了文件的概念,咱们直接打开文件,读或者写就能够了,无需关心记录是否应该使用修正的调频记录方式,以及当前电机的状态等细节。操做系统的实际客户是应用程序(应用程序员负责开发应用程序,于是也能够说应用程序员是操做系统的客户)。另外一个是将应用程序对硬件资源的竞态请求变得有序化。spa

 


 

 

操做系统的发展。(了解便可,记住也并无什么卵用。。)操作系统

    第一代计算机(1940~1955):真空管和穿孔卡片           特色:没有操做系统的概念,全部的程序设计都是直接操控硬件。优势:程序员在申请的时间段内独享整个资源,能够即时地调试本身的程序(有bug能够马上处理)。缺点:浪费计算机资源,一个时间段内只有一我的用。设计

    第二代计算机(1955~1965):晶体管和批处理系统        特色:有了操做系统的概念,有了程序设计语言。优势:批量处理,节约时间。缺点:整个流程须要人参与控制,计算的过程仍然是顺序计算,程序员原来独享一段时间的计算机,如今必须被统一规划到一批做业中,等待结果和从新调试的过程都须要等同批次的其余程序都运做完才能够(这极大的影响了程序的开发效率,没法及时调试程序)。调试

    第三代计算机(1965~1980):集成电路芯片和多道程序设计         第三代计算机的操做系统普遍应用了第二代计算机的操做系统没有的关键技术——多道技术(须要记住的知识)。cpu在执行一个任务的过程当中,若须要操做硬盘,则发送操做硬盘的指令,指令一旦发出,硬盘上的机械手臂滑动读取数据到内存中,这一段时间,cpu须要等待,时间可能很短,但对于cpu来讲已经很长很长,长到可让cpu作不少其余的任务,若是咱们让cpu在这段时间内切换到去作其余的任务,这样cpu不就充分利用了吗。这正是多道技术产生的技术背景。多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(好比cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用空间上的复用。空间上的复用:将内存分为几部分,每一个部分放入一个程序,这样,同一时间内存中就有了多道程序。时间上的复用:当一个程序在等待I/O时,另外一个程序可使用cpu,若是内存中能够同时存放足够多的做业,则cpu的利用率能够接近100%。空间上的复用最大的问题是:程序之间的内存必须分割,这种分割须要在硬件层面实现,由操做系统控制。若是内存彼此不分割,则一个程序能够访问另一个程序的内存。为了解决这个问题,第三代计算机普遍采用了必须的保护硬件(程序之间的内存彼此隔离)。接口

     第四代计算机(1980~至今):我的计算机内存

 总结:

  操做系统是有古人类写的为现代人类提供方便的软件,要写出一份完善的操做系统是一件很是人能作到的事。资源

  操做系统的做用是使咱们在不了解硬件为什么物的状况下能方便的对硬件进行操控,有了操做系统应用程序员就不用再考虑操做硬件的细节,专心开发本身的应用程序便可,用户使用电脑进行平常操做也显得边界无疑。重点是,操做系统能将应用程序对硬件资源的竞态请求变得有序化,即多路复用。开发

相关文章
相关标签/搜索