zoukankan      html  css  js  c++  java
  • 并发编程--------操作系统

    一、操作系统的发展史

    1.手工操作----穿孔卡片

      对应于程序和数据的已穿孔的纸带(或卡片) --------> 装入输入机 --------> 启动输入机 --------> 把程序和数据输入计算机内存 ---------> 通过控制台开关启动程序针对数据运行 ---------> 计算完毕 ---------> 打印机输出计算结果 --------> 用户取走结果并卸下纸带(或卡片)

      缺点:①用户独占全机。不会出现因CPU资源已被其他用户占用而等待的现象,但CPU资源的利用率低。

         ② CPU等待手工操作。CPU的利用不充分。

      20世纪50年代后期,出现人机矛盾:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成批处理

    2.批处理----磁带存储

      批处理系统:加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)

    (1) 联机批处理系统

      用户作业 --------> 输入机 -------> 成批地把作业输入磁带 ---------> 依次把磁带上的作业读入主机内存并执行 -------> 把计算结果向输出机输出

      优点:减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。

      缺点:主机处于“忙等”状态:在作业输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入输出设备完成工作。

    (2) 脱机批处理系统  

      优点:极大地缓解了人机矛盾及主机与外设的矛盾。

      缺点:每次主机内存中仅存放一道作业,每当它运行期间发出输入输出(IO)请求后,高速的CPU边处于等待低速的IO完成状态,致使CPU空闲。

    3.多道程序系统 ------ 提高了CPU的利用率

      多道:计算机内存中同时存放几道相互独立的程序。

      特点:①宏观上并行------从宏观上看是多道程序在一起运行

         ②微观上串行------实际上是各道程序轮流地用CPU,交替运行

            ③空间隔离---------多道程序同时运行,只有内存空间的隔离,才能让数据更加安全、稳定

         ④时空复用---------遇到IO操作就切换程序,使得CPU的利用率提高了,计算机的工作效率也随之提高

    4.分时系统------降低了CPU的利用率,提高了用户体验

      由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好像自己独占机器一样。

      分时系统分时间片工作,在没有遇到IO操作时就用完了自己的时间片被切走了,这样的切换工作其实并没有提高CPU的效率,反而使计算机的效率降低了。但是我们牺牲了一点效率,却实现了多个程序共同执行的效果,这样你就可以在计算机上一边听音乐一边聊qq了。

    5.实时系统 ------ 提高了用户体验,但没有提高CPU利用率

      实时控制系统:飞机飞行、导弹发射

      实时信息处理系统:订票、银行系统、情报检索系统

      优点:及时响应、高可靠性

    二、通用操作系统

    兼具以下两种或两种以上的操作系统

    1.多道批处理系统

    2.分时系统

    3.实时系统

    三、操作系统的进一步发展

    1.个人计算机操作系统

    2.网络操作系统

    3.分布式操作系统(重要)

    四、操作系统的作用

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

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

      细说的话,操作系统应该分成两部分功能:

        1.隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源更好、更清晰的模型(采用调用接口)。应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。

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

      操作系统所处的位置如图所示:

      

  • 相关阅读:
    109 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 05 问题解析--通过一个方法完成学生和专业的双向关联
    108 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 04 问题解析--数组未实例化造成的空指针异常
    107 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 03 编写方法完成学生个数统计功能
    106 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 02 新增属性完成学生信息存储
    105 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 01 新增需求及分析
    session与cookie的区别和联系
    session和cookie的区别
    Web服务器主动推送技术
    webSocket的场景应用
    TCP、Http和Socket 优劣比较
  • 原文地址:https://www.cnblogs.com/yanyufeng/p/9377869.html
Copyright © 2011-2022 走看看