计算机速成课 第十八集 操作系统

1. 操作系统诞生背景

  • 1940,1950 年代的电脑,每次只能运行一个程序,程序员在打孔卡纸上写程序
  • 然后拿到一个计算机房间,交给操作员,计算机空闲下来的时候,操作员会把程序放入,然后运行,输出结果,停机
  • 运行一个程序通常需要几个小时,几天甚至几周
  • 以前计算机慢的时候,手动放程序的做法可以接受,但是随着计算机越来越快,放程序的时间比运行程序的时间更长
  • 我们需要一种方式,让计算机自动运作,于是「操作系统」诞生了。

2. 操作系统介绍

  • 简称 OS,其实也是程序
  • 有操作硬件的特殊权限,可以运行和管理其他程序
  • 一般是开机第一个启动的程序。其他所有程序都由操作系统启动
  • 开始于 1950 年代
  • 第一个操作系统,加强了程序加载方式(指批处理)。
  • 批处理(batch processing):之前只能一次给一个程序,现在可以一次多个。当计算机运行完一个程序,会自动运行下一个程序,这样就不会浪费时间,找下一个程序的纸卡
  • 外部设备:和计算机连着的其他设备。(因此程序员有的时候需要了解设备的硬件细节,一般是阅读手册来写代码)。现在是「即插即用」,以前是「祈祷能用」
  • 为了程序员写软件更容易,操作系统充当软件和硬件之间的媒介:提供 API 来抽象硬件,叫「设备驱动程序」,程序员可以用标准化机制和输入输出硬件交互

3. 1950年代尾声

  • 这个时候,电脑已经非常快,经常是处理器闲着,等着外部慢的机械设备,比如打印机和读卡器

4. 1950 年代后期,

  • Atlas:世界上第一台超级计算机,由英国曼彻斯特大学开始研发
  • 1962 年,出现 Atlas Supervisor
    • 不仅可以自动加载程序
    • 还可以在单个 CPU 上同时运行几个程序(通过调度来实现这一点)
    • 最终达到:多个程序可以同时运行,在单个 CPU 上共享时间,这种能力被称为「多任务处理」multitasking
    • 给每个程序分配专属内容,
      • 解决程序切换的时候的数据丢失问题
      • 隔离后更好,可以实现「内存保护」,同时可以防止病毒程序
    • 虚拟内存
      • 程序可以假定内存总是从地址 0 开始
      • 内存地址「虚拟化」
      • 实际物理位置被操作系统隐藏和抽象了
      • 动态内存分配:
        • 使程序的内存大小可以灵活增减
        • 简化了一切,为操作系统同时运行多个程序提供了极大的灵活性

分时操作系统

  • 每个用户只能用一小部分处理器、内存等
  • 最有影响力的是 Multics :多任务信息与计算系统,
    • 于 1969 年发布
    • 是第一个从设计时就考虑到安全的操作系统
    • 复杂度超过当时的平均水准
    • 操作系统占 1MB 内存,这在当时很多,可能是内存的一半
    • 被 Unix 的设计者称为没有获得商业成功是因为「过度设计」,功能太多

Unix

  • 操作系统分为两部分
    • 1 操作系统的核心功能
      • 内核:内存管理、多任务、输入/输出处理
    • 2 一堆有用的工具
  • 由于其具有的简单性,可以在更便宜更多的硬件上运行
  • 1970-1980 年代最流行的操作系统之一

Windows

  • 风行开始于 90 年代
  • 磁盘操作系统(MS-DOS)只有 160KB,一张磁盘就可以容纳
  • 1981 年发布,成为早起家用电脑最受环境的操作系统
  • 虽然系统崩溃很讨厌但还可以接受,因为用户可以重启
  • 1985年,发布早期 Windows,也会出现蓝屏
    • 蓝屏代表程序崩溃的非常严重,把系统也带崩溃了
    • 新版的 Windows 有更好的保护,不会经常崩溃

今日操作系统

  • Mac OS, Windows, Linux, iOS, Android
  • 虽然一般只有一个用户,就是正在使用设备的你,但是操作系统依然有「多任务」、「虚拟内存」、「内存保护」,因此可以同时运行多个程序
  • 一边在浏览器看视频,一边使用修图软件,播放音乐等
  • 如果没有操作系统这几十年的发展,这些都不可能

2022.4.23

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章