0X2A

848操作系统(一) 操作系统概述

2020-09-12 · 5 min read

操作系统概述

操作系统的一些概念

操作系统的目标

方便些 有效性 可扩充性

操作系统的作用

提供用户与计算机硬件系统之间的接口、资源管理、资源抽象。

操作系统特征

  1. 并发
  2. 共享
  3. 虚拟
  4. 异步

操作系统的发展与分类

无操作系统计算机系统

  1. 真·人工 智能。
    • 用户独占全机
    • CPU需要等待人工操作
  2. 脱机输入输出
    也就是把输入磁带的工作交给了外围机,多了一个速度稍快一点的中间商,CPU无意义的等待时间稍有减少。

批处理系统

  1. 单道批处理系统
    也就是内存中只有一个作业,但系统对作业的处理是成批的。这样就不用人工也不用中间商去处理作业,解决了这两哥们速度都比较慢的问题。

    • 自动性。也就是处理完一个之后自动处理磁带后面的作业。
    • 顺序性。磁带里的作业是按顺序进入CPU,也就是FIFO。
    • 单道性。内存只有一个程序运行,完成这个程序后才换别的(while(1)大成功!)
      虽然但是,单道批处理系统还是很沙雕的,比如在进行IO处理的时候,CPU只能等慢吞吞的IO设备返回数据才能继续,导致CPU利用率并不高。
      同时,为了能运行比较大的作业,需要内存足够大,但实际上很多的任务都属于中小型,因此大部分的内存大多时候都是多余的。
  2. 多道批处理系统
    既然IO的时候CPU闲得慌,那就让万恶的资本主义人类就让IO设备运作时,切换到别的程序运行,这样在提高了资源利用率的同时也能提高系统的吞吐量。同时还能在宏观上形成一种我能同时运行多个程序的错觉,实际在微观上还是串行处理的。
    但由于作业是排队处理的,因此作业的周转时间会比较长,而且缺少交互能力,用户一旦把作业提交给系统,就只能做着摸鱼到系统完成作业。不用debug的程序员资本主义是不喜欢滴!
    同时多道批处理系统需要解决的问题非常多:

    • 处理机争用问题
    • 内存分配和保护问题
    • IO设备分配问题
    • 文件组织和管理问题
    • 作业管理问题
    • 接口问题

分时系统

分时系统将CPU的运行时间分成了许多个时间片,这样就可以让每个程序都公平的享受到计算资源,同时用户交互就有了可能性。分时系统有以下特征:

  1. 同时性。也就是多路性,多个用户可以同时使用一台电脑。
  2. 交互性。交互页面天下第一!
  3. 独立性。进程之间可以不受影响独立操作。
  4. 及时性。所有用户的请求都能够及时响应(虽然单个任务而言响应时间是变差了的)

实时系统

就是牛逼的高级的 可以设置优先级的,避免了分时系统的无法处理紧急事件的情况。实时操作系统也分为软硬两种。硬一点的是严格要求在规定时刻内需要响应的,软的就是偶尔可以摸摸鱼。

操作系统的运行环境

操作系统的运行机制

  1. 时钟管理
    提供标准时间,并且为时间片轮转等功能提供了可能性
  2. 中断机制
    微机原理,懂的都懂
  3. 原语
    底层可被调用的小程序,有以下特点:
    • 处于操作系统底层,最接近硬件的部分
    • 具有原子性,一旦执行必须执行到底
    • 运行时间较短,且频繁被调用
  4. 系统控制的数据结构及处理
    常见的系统操作有如下
    • 进程管理
    • 存储器管理
    • 设备管理

易错点

  1. 现代操作系统的最基本两个特征是:并发共享(没有虚拟)
  2. 系统调用目的是请求系统服务,而不是申请系统资源。
  3. 通道是一种硬件设备,独立于CPU工作,使得多道程序概念得以实现
  4. 用户态到核心态这一步骤是由硬件实现的
  5. 访管指令只能在用户态实现,作用是切换到核心态
  6. 中断过程中,PC的值由中断隐指令保存,而操作系统保存通用寄存器的内容
  7. 用户程序出现错误(除以0、中断等),也会切换为核心态