zoukankan      html  css  js  c++  java
  • 操作系统简介

    一. 为何要有操作系统

    1. 一般而言,现代计算机系统是一个复杂的系统。如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了,所以为了优化使用,计算机安装了一层系统软件,称之为操作系统,它的任务就是为用户程序提供一个更好,更简单,更清晰的计算机模型并管理所有设备。

    2. 程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。

    二.操作系统的位置

    1.      简单的来理解,操作系统就是一个协调、管理和控制计算机硬件和软件资源的控制程序。

    计算机的操作系统

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

    三. 操作系统的功能

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

       2. 将应用程序对硬件资源的竞态请求变得有序化 。

    四.操作系统的发展

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

    第一代计算机的产生背景:用机械取代人力,第一代计算机的产生是计算机由机械时代进入电子时代的标志。

       工作过程:程序员在墙上的机时表预约一段时间,然后程序员拿着他的插件版到机房里,将自己的插件板街道计算机里,这几个小时内他独享整个计算机资源,后面的一批人都得等着,后来出现了穿孔卡片,可以将程序写在卡片上,然后读入机而不用插件板

    特点:没有操作系统的概念,所有的程序设计都是由纯粹的机器语言编写的

    优点:程序员在申请时间段内独享整个资源,即时的调试自己的程序,发现bug可以即时出理

    缺点:没有合理的时间利用

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

    第二代计算机的产生背景:由于当时的计算机非常昂贵,很自然的想办法较少机时的浪费。通常采用的方法就是批处理系统。

    工作过程:a程序员将卡片拿到1401机处,b1401机将批处理作业读到磁带上,c操作员将输入带送至7094机,d7094机进行计算,e操作员将输出磁带送到1401机,f1401机打印输出

    特点:有了操作系统的概念,最早的操作系统是人力与计算机结合的系统,需要人参与

    优点:批处理,节省时间

    缺点:1.需要人参与控制,搬磁带 2.计算机过程仍然是顺序计算-》串行 3.影响开发效率,无法及时调试

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

    如何解决第二代计算机的问题1:

    卡片被拿到机房后能够很快的将作业从卡片读入磁盘,于是任何时刻当一个作业结束时,操作系统就能将一个作业从磁带读出,装进空出来的内存区域运行。

    同时的外部设备联机操作:SPOOLING,该技术同时用于输出。当采用了这种技术后,就不在需要IBM1401机了,也不必将磁带搬来搬去了(中间俩小人不再需要)

    如何解决第二代计算机的问题2:

    第三代计算机的操作系统广泛应用了第二代计算机的操作系统没有的关键技术:多道技术(详见第五节)

      cpu在执行一个任务的过程中,若需要操作硬盘,则发送操作硬盘的指令,指令一旦发出,硬盘上的机械手臂滑动读取数据到内存中,这一段时间,cpu需要等待,时间可能很短,但对于cpu来说已经很长很长,长到可以让cpu做很多其他的任务,如果我们让cpu在这段时间内切换到去做其他的任务,这样cpu不就充分利用了吗。这正是多道技术产生的技术背景

    如何解决第二代计算机的问题3:

    多个联机终端+多道技术

    第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,分时系统才开始流行

    分时操作系统:把计算机与许多终端用户连接起来,分时操作系统将系统处理时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样,有效的增加资源的使用率。

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

    五、多道技术

        多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

        时间上的复用:当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似于我们小学数学所学的统筹方法。

        空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。每个客户都获取了一个大的资源中的一小部分资源,从而减少了排队等待资源的时间。

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

    要了解更多请点击http://www.cnblogs.com/linhaifeng/p/6295875.html

  • 相关阅读:
    关于图片或者文件在数据库的存储方式归纳
    js默认比较第一个数字大小
    项目中empty遇到的一个问题
    thinkphp 一个页面使用2次分页的方法
    mysql处理海量数据时的一些优化查询速度方法
    项目中的一个和分页总数有关的子查询
    Mysql乱码
    HTML 5 <input> placeholder 属性
    form 表单jquery验证插件使用
    在网站制作中随时可用的10个 HTML5 代码片段
  • 原文地址:https://www.cnblogs.com/sunxiansheng/p/7602224.html
Copyright © 2011-2022 走看看