学习资源: https://www.bilibili.com/video/av46264774/

一、操作系统概述

1.1 操作系统初步认识

  1. 操作系统与普通软件有什么区别? 功能上的区别(见1.2 功能)
  2. 没有安装操作系统,计算机能运行程序吗? 能(bios)。
  3. 没有安装操作系统,普通用户能正常使用吗? 不能

基本功能:

  • 提供操作界面
  • 控制程序运行
  • 管理系统系统资源
  • 配置系统参数
  • 监控系统状态
  • 工具软件集合

思考:

  • hello.exe 文件如何存放? (硬盘)
  • hello.exe 如何启动?
  • 如何为hello.exe分配内存? (内存)
  • printf如何输出字符串? (设备)
  • while 死循环会不会独占CPU?
  • 程序结束如何退出系统? (释放内存等)

1.2 操作系统功能和定义

功能:

  • 进程管理(CPU管理), 多个进行并发运行

    • 进程控制: 创建、暂停、唤醒、撤销
    • 进程调度: 调度策略,优先级
    • 进程通信: 进程间通信
  • 内存管理

    • 内存分配
    • 内存共享
    • 内存保护
    • 虚拟内存

    思考

    1. 有没有遇到因为内存小导致运行失败的情况?

      可能运行速度慢,但一定可以运行

    2. 一个循环程序,不断的申请(malloc) 100M内存,在内存1G的机器上,一共可以申请多少次?

      答: 实测可以19次, 1.85G内存,大于实际内存 1G。而且应用程序、操作系统没有崩溃。

    3. 假如5个相同的上述程序同时运行呢?

      操作系统仍然不会崩溃。每个程序的申请内存依然是1.85G。

  • 设备管理

    • 设备的分配和调度
    • 设备的无关性
    • 设备传输控制(设备和CPU,设备和内存)
    • 设备驱动
  • 文件管理

    • 存储空间管理(硬盘)
    • 文件的操作
    • 目录的操作
    • 文件和目录的存取权限管理
  • 网络管理

定义: 操作系统是一个大型系统程序

  • 提供用户接口(图形界面、命令),方便用户控制计算机
  • 负责为应用程序分配和调度软硬件资源,并控制与协调应用程序并发活动,帮助用户存取和包含信息。

操作系统的地位:

(一)操作系统概述-学习笔记

1.3 操作系统发展历史

用户需求提升硬件技术进步是操作系统发展的两大动力。

计算机硬件发展的四个典型阶段

  • 电子管时代 1946-1955
  • 晶体管时代 1955-1965
  • 集成电路时代 1965-1980
  • 大规模集成电路时代 1980-

速度、容量、稳定性、可靠性都得到逐步提高。

操作系统发展的四个典型阶段

  • 手工操作(无操作系统) 50年代早期

    结构特点:

    • 硬件: 电子管、接线面板
    • 程序: 二进制程序,打孔: 纸袋和卡片

    使用特点:

    • 程序准备、启动、结束: 手工处理,繁琐耗时

    缺点:

    • 效率低: CPU有效运行时间极低
    • 用户独占
    • 缺少交互
  • 单道批处理系统 50年代

    • 管理员事先将多个作业输入到磁盘形成作业队列
    • 操作系统依次自动处理队列中的每个作业(装入-运行-撤出…)
    • 程序的装入和撤出: 自动完成,效率高
    • 运行完毕,通知用户取结果

    特点:

    • 批量: 作业队列
    • 自动: 识别作业,装入和撤出
    • 单道: 依次、串行

    (一)操作系统概述-学习笔记

    外设与CPU交替空闲和忙碌,CPU和外设利用率低。

  • 多道批处理系统 60年代初

    在内存中存放多道程序,当某道程序因为某种原因(例如执行I/O操作时)不能继续运行而放弃CPU时,操作系统便调度另一程序投入运行。这样可以使CPU尽量忙碌提高系统效率。

    • 提高系统CPU利用率
    • 提高系统吞吐量

(一)操作系统概述-学习笔记

A,B两道程序相互穿插运行,使CPU和外设都尽量忙碌。

特点:

  • 多道: 内存同时存放多道程序
  • 并行: 宏观上
  • 串行: 微观上

缺点:

  • 作业处理时间长

  • 交互能力差

  • 运行过程不确定

  • 分时系统 60年代中

1.4 分时技术与分时操作系统

60年代硬件的两个重大进展:

  • 中断技术 CPU收到外部信号(中断信号)后, 停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作。
  • 通道技术 专门处理外设内存之间的数据传输处理机

分时操作系统的背景

  • 事务性任务的涌现
    • 交互性高
    • 响应快速
  • 要求支持多任务、多用户
  • 多终端计算机
    • 高性能计算机(运算, CPU和内存) + 多个终端(输入和显示)
    • 主机采用分时技术轮流为每个终端服务,每个终端都感觉到是“独占”主机。

概念

  • 主机以很短的"时间片"为单位,把CPU轮流分配给每个终端使用,直到全部作业被运行完。
  • 由于时间片很短,在终端数量不多的情况下,每个终端都能重新获得CPU,使得每个终端都能得到及时响应。
    • 等待周期 = 时间片 x 终端数量

分时系统的特点

  • 多路调制性,多用户联机使用同一台计算机
  • 独占性, 用户感觉独占计算机
  • 交互性,及时响应用户的请求

UNIX第一个实用化的分时系统操作

  • 实现操作系统的可移植性
  • 实现了硬件无关性
  • 引进了"特殊文件"的概念: 把外设看作文件,实现对外设统一管理

(一)操作系统概述-学习笔记

1.5 典型操作系统类型

操作系统的进一步发展(分时系统的衍化)

  • 微机操作系统 (windows, macos, linux)
  • 多处理机操作系统
  • 网络操作系统 (普通操作系统 + 网络通信 + 网络服务)
  • 实时操作系统 (某些任务要优先紧急处理, 强调作业完成的时限)
  • 嵌入式操作系统 (andriod, linux)

相关文章: