操作系统导论

操作系统的发展过程

  1. 未配置操作系统的计算机

    1. 人工操作方式

    程序员将事先已穿孔的纸带,装入纸带输入机,然后将纸带上的程序输入计算机,然后让计算机运行这些程

    1. 脱机输入输出方式
  2. 单道批处理系统

吧一批作业以脱机的形式输入到磁带上,一个接一个的处理,在内存中始终只保持一道作业

  1. 多道批处理系统

吧用户的作业放在外存中,并排成一个队列,然后作业调度程序按照一定的算法,从队列中选若干个祖业调入内存,使他们共享CPU和系统中的各种资源,这样可以在运行程序A时,利用其IO做操而暂停执行的CPU空挡时间,再调度一道程序B运行

  1. 分时系统

在一台主机上连接了多个终端组成的系统,多个用户可以通过自己的终端,以交互的方式使用计算机,并共享主机的资源

  1. 实时系统(Real Time System)

指系统能即时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。

操作系统的基本特性

  1. 并发

    1. 并发和并行。并行性是指两个或多个事件在同一时刻发生,而并发性是指两个或多个事件在同一时间间隔内发生
    2. 引入进程。在没有进程的系统中,同一个应用程序的计算程序和IO程序只能顺序执行,也就是只有在计算程序之行告一段落后才允许IO程序执行。

    但是为计算程序和IO程序分别建立一个进程后,这两个进程便可以并发执行。

    1. 进程。指在系统中能独立运行并作为资源分配的基本单位,是由一组机器指令、数据、堆栈组成的。
  2. 共享

是指系统中的资源可供多个并发执行的进程共同使用。主要有两种资源共享的方式:

    1. 互斥共享

    比如打印机,虽然可以提供给多个进程使用,但是,一段时间只允许一个进程访问该资源,必须等待其释放资源后,另一进程才可以进行访问。吧这种一段时间内只允许一个进程访问的资源叫做临界资源。

    1. 同时访问共享

    系统中还有另一类资源,允许一段时间内多个进程同时对他们进行访问。比如若干个用户通知访问一个文件

    1. 虚拟

    通过某种技术将一个物理实体变成若干个逻辑上的对应物的功能。前者是实际存在的,后者是用户感觉上的东西,OS中主要用时分复用和空分复用实现虚拟。

    1. 异步

    对于内存中的每个进程,何时能获得处理机运行?何时又因提出某种资源请求而暂停?进程以怎样的速度向前推进?这些都是不可预知的。也就是说进程是以不可预知的速度向前推进的,即进程的异步性。

    操作系统的主要功能

    1. 处理机管理(合理的给CPU分配任务)

      1. 进程控制

      在多道程序的环境下为使作业能并发执行,必须为没到作业创建一个或几个进程,并为之分配资源,当进程运行结束,应立即撤销该进程

      1. 进程同步

      进程同步机制能使多个进程有条不紊的运行。该机制主要作用就是为多个进程(含线程)的运行进行协调。常用的协调方式:

      1. 进程互斥方式,指进程在对临界资源访问时,应采用互斥方式
      2. 进程同步方式,指在相互合作去完成同步任务的进程间,由同步机构对他们的执行次序加以协调

      实现进程互斥的机制是为每个临界资源加一把锁W,当锁打开时,可以对该资源访问。实现进程同步最常用的机制是信号量机制

      1. 进程通信

      当有一组相互合作的进程去完成一个共同任务时,在他们之间往往需要交换信息。

      当和做的进程处于同一计算机时,一般采用直接通信方式。由源程序直接将消息挂到目标进程的消息队列,以后由目标进程利用接收命令从其消息队列中取出消息

      1. 调度

        1. 作业调度,从后备队列中按照一定的算法选择若干个作业,为其分配所需的资源,将作业调入内存后,分别为他们建立进程
        2. 进程调度,从进程的就绪队列中按照一定的算法选出一个进程并执行
    2. 存储器管理(进行内存分配,内存回收,地址映射)

      1. 内存分配

      内存分配主要任务是,为每道程序分配内存空间,减少不可用的内存碎片,允许正在运行的程序申请内存空间

      OS内存分配的两种方式:

      • 静态内存分配。作业的内存空间在装入时就已经确定,在作业装入后运行过程中不允许申请新的内存空间,也不允许作业在内存中移动
      • 动态分配。作业的内存空间在装入时虽然确定,但在作业装入后运行过程中允许申请新的内存空间,以适应程序和数据动态增长,允许作业在内存中移动
    3. 设备管理

      1. 完成进程提出的IO请求,为进程分配IO设备
      2. 提高CPU和IO设备的工作率)
    4. 文件管理

    对用户文件和系统文件进行管理

    Last modification:October 20th, 2019 at 12:00 pm
    如果觉得我的文章对你有用,请随意赞赏