• 操作系统学习笔记3 | 操作系统简史


    读史使人明智。通过操作系统的历史,了解操作系统是怎么编出来的,为什么要有那些模块,哪些东西才是核心。


    参考资料:


    1. 多进程发展漫步

    由于裸机使用十分不便,操作系统自计算机诞生就开始出现了。

    • 1955年~1965年,上古神机 IBM7094 与批处理操作系统 IBSYS

      image

      • 一个接一个的执行Job,一旦某个Job执行结束或者执行出错,就去执行下一个Job;
      • 这时配置的批操作系统更像一个监控程序,用于顺序切换任务,并将出错信息输出到磁带;
    • 1965年~1980年,出现操作系统 OS/360(360表示全方位服务),计算机进入多个行业

      image

      • 很多故事都是从这个操作系统发展的

      • 多任务的需求催生了 多道程序 multiprogramming 的诞生

      • OS/360 的设计中开始出现多进程结构和进程管理的相似概念

        多进程结构是操作系统最核心的图像。

    • 1965年~1980年,MULTICS(来自MIT),计算机进入多个行业,每台计算机的使用人数增加

      image

      • 引入 分时系统timesharing 的概念
      • 给计算机的每个用户一定的时间来执行,定期进行切换,这样每个人的任务都是一段段向前推进的,不会出现搁置太久情况
      • 分时 主要用于server,而 PC 中也有这样的思想
    • 1980年~1990年,UNIX,小型化计算机开始出现,越来越多的个人可以使用计算机

      image

      • UNIX是一个简化的MULTICS,核心概念差不多,但更灵活和成功
    • 1990年~2000年,Linux,个人计算机开始普及,很多人可以用计算机并接触Unix

      image

    2. 总结

    从 IBSYS -> OS\360 -> MULTICS -> Unix -> Linux,核心其实是多进程管理的思想。

    • 核心思想、技术:
      • 冯·诺依曼思想:用户通过执行程序来使用计算机;
      • 进程管理:要让多个程序合理推进
      • 多进程、多用户推进任务需考虑内存复用
    • 软件实现:
      • 对于操作系统,真正实现它很重要
      • 需要合作、需要群体协作。
    • 学习重点:
      • 掌握操作系统的多进程图谱并实现

    3. 文件系统发展漫步

    历史总是多线条的,下面从另一条再看历史。

    • PC与DOS

      • PC的推广更是推动了计算机及操作系统的发展,1975年 Digital Research 为 Altair 8800 开发了操作系统 CP/M

      • CP/M 为用户提供了命令,能够执行命令对应的程序,并且给用户通过命令行操作文件的可能。

      • 1980年,CP/M 的基础上开发 QDOS

        这里 QDOS 意指 Quick and Dirty OS,还不是 Disk Operation System

        如果QDOS继续发展,可能没有Bill Gates的故事。

      • image

    • 从QDOS到MS-DOS

      • 1975年,BASIC语言解释器,后续磁盘文件管理系统 FAT

      • 而编程环境和文件管理,都是用户实在关心的

      • QDOS 成功在把 FAT 和 BASIC解释器 包含进来

      • 改名MS-DOS 和 IBM PC 一起出售

        Disk OS.

        微软的第一个操作系统即MS-DOS。

      image.png

    • 从 MS-DOS 到 Windows

      • 计算机开始商业化,通过文件、成熟的开发环境、图形界面使用计算机更加方便。
      • image.png
    • Mac OS && iOS

      • 思路与 Windows 相似,更关注人机交互的界面、文件、媒体。
      • image.png

    4. 再总结

    从CP/M -> QDOS -> MS-DOS -> Windows 以及 Unix -> System -> Mac OS -> iOS:

    • 核心思想、技术:

      • 仍然以多进程管理为基本结构

      • 加入了图形界面、编程环境和文件管理等内容,更重视用户的体验

    • 软件实现:

      • 如何通过文件存储代码、执行代码、操作屏幕
      • 如何让文件和操作变成图标,点击或者触碰?
    • 学习重点:

      • 掌握、实现操作系统的多进程图谱
      • 掌握、实现操作系统的文件操作视图
    • 多进程(CPU与内存)与文件(IO、磁盘、文件)是本课程剩余内容的两大主题

      image

    5. 后面的学习

    接下来具体就会

    • 多进程图谱

      管理进程:fork

      • CPU管理

      • 内存管理

        地址,为什么*p=7可以访问内存。

    • 文件视图

      • 磁盘管理

      • 终端设备管理

        操作设备也是操作文件 ,比如:

        # 操作显示器
        dev tty0
        

    image

  • 相关阅读:
    Kaadas凯迪仕助力亚运盛会,尽展品牌硬核科技与智能锁行业风采
    Node-RED系列教程-27node-red操作邮件节点
    细节控有福了!显微镜级别的检测手法
    流媒体协议之RTSP详解
    【机器学习】音乐表示Music Representation
    力扣刷题day28|122买卖股票的最佳时机II、55跳跃游戏、45跳跃游戏II
    hyperscan技术
    计算机组成原理(二)运算方法和运算器
    如何编写 Pipeline 脚本
    控制结构练习题
  • 原文地址:https://www.cnblogs.com/Roboduster/p/16591130.html