# 1. 操作系统初步认识

操作系统基本的一些功能概述

  1. 操作界面
  2. 管理系统资源
  3. 配置系统参数
  4. 文件存储数据

应用程序运行需要系统提供哪些支持

  1. ext文件要存储在外设中,比如硬盘
  2. 启动需要装入到cpu
  3. 为程序分配内存
  4. 如果对于一些外设调用,比如控制台输出,进行调配
  5. 死循环/异常等等,cpu如何处理
  6. 程序退出,归还内存和资源

# 2. 操作系统功能和定义

# 操作系统的功能

  1. 进程管理(CPU管理)
    • 进程控制:创建、暂停、唤醒、撤销
    • 进程调度:策略、优先级
    • 进程通信:进程通信
  2. 内存管理
    • 内存分配
    • 内存共享
    • 内存保护
    • 虚拟内存
  3. 设备管理
    • 设备的分配和调度
    • 设备传输(与cpu、内存)控制
    • 实现设备无关性
    • 设备驱动
  4. 文件管理
    • 存储空间管理
    • 文件操作
    • 目录操作
    • 权限控制管理

对于所有操作系统,必须要有cpu管理和文件管理功能。对于其他操作系统,例如物联网的系统(没有设备、文件),或者windows(附加网络管理)

# 操作系统的定义

操作系统是一个大型系统程序。提供用户接口,给应用程序分配和调度软硬件资源。

总体来说,操作系统在整个计算机系统中的定位如下所示,承上启下

image-20190925210101424

# 3. 操作系统发展

发展的动力源于:用户需求和硬件进步。

# 单道批处理系统

人工将多个作业输入到磁盘,形成作业队列。操作系统自动进行:装入-运行-撤出。

特点总结:批量(作业队列)、自动(无需手工)、串行。

在单道系统中,CPU的利用效率如下图。外设和CPU交替空闲和忙碌,利用效率低。

image-20190925212703148

# 多道批处理系统

内存中存放中多道程序,当某道程序因为某种原因(比如IO)不能继续运行而放弃CPU,操作系统调度另一个程序运行。

特点总结:多道、(宏观上)并行、(微观上)串行。

image-20190925213417240

如上图所示,程序穿插运行,使得CPU和外设都尽量处于忙碌中。

# 4. 分时技术与分时操作系统

多道批处理系统,交互能力差。即使一个系统完成io,但是还要等另一个系统之后,此系统的运行是停滞的

# 中断技术和通道技术

60年代中期,硬件出现了2大进展:

  1. 中断技术:cpu接受中断信号,停下当前工作,转去处理外部事件。处理完毕后,回到原来工作的中端处(断点)继续原来工作。
  2. 通道技术:专门处理外设和内存之间的数据传输的处理机。

# 多终端计算机

任务分为:科学计算任务(CPU密集) 与 事务性任务(交互性高、响应快速)。

同时,出现了多终端计算机。采用分时技术,让每个终端没有中断的感觉。

image-20190925220647859

# 分时技术

主机以很短的时间片为单位,把cpu轮流分给每个终端使用,直到全部作业被运行玩。

每个终端的等待周期 = 时间片 x (终端数量 - 1)

因此,对于分时系统,特点有:多路调制性、独占性(感觉上)、交互性(及时响应)。Unix就是一个具有硬件平台无关、特殊文件(外设是文件)等特性的分时操作系统

# 5. 典型操作系统类型

微机操作系统:MacOS、Windows

实时操作系统:军事、工业控制

嵌入式操作系统:软硬件一体化。例如安卓、嵌入式Linux

网络操作系统:普通系统+网络通信+网络服务