首页 > 其他分享 > 操作系统学习笔记3 | 操作系统简史

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

时间:2022-08-16 12:24:41浏览次数:81  
标签:文件 操作系统 QDOS 笔记 简史 进程 OS 计算机

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


参考资料:


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

标签:文件,操作系统,QDOS,笔记,简史,进程,OS,计算机
From: https://www.cnblogs.com/Roboduster/p/16591130.html

相关文章

  • 《正念》读书笔记2
       无为之为,无为不是懒惰,而是与之相反,是让一切顺其自然,使一切按其本来的方式发展,要达到无为的境界,我们要付出很多努力,这是一种挥洒自如的努力,需要用一生时间培养的“......
  • 《被讨厌的勇气》读书笔记2
      人的一切烦恼都来自人际关系,而要解决人际烦恼,就需要进行课题分离,就是他人的课题和自己的课题进行分离。目的就是共同体感觉。其中人际关系中最重要的是自我接纳,他人......
  • 国产最好用的操作系统——deepin,为什么不适合生产环境
    前几天看了罗永浩的视频,他推荐了一本Intel创始人的书,看了这本书后想到书中大谈Intel和Microsoft的合作才创建下了今天的PC世界。看到这我就有些不爽了,现在美国各种控制和制......
  • LCA学习笔记
    简介LCA(LowestCommonAncestor)中文名是最近公共祖先。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。LCA问题的求解有多种方法,如:倍增、Tarjan、树......
  • ST表学习笔记
    简介ST表是用于解决可重复贡献问题(满足\(x\)操作\(x=x\),如\(max(x,x)=x\))的数据结构,它在区间查询最值时可以做到\(O(n\logn)\)预处理,\(O(1)\)查询,是种优秀的......
  • BIT学习笔记
    基础树状数组:先放一张图:图中黑色的框为\(a\)数组(原数组)。图中黑色的框为\(t\)数组(树状数组)。我们可以得到$t[i]=\sum_{j=1}^{j\le2k}{a[i-2k+j]}$。在这里......
  • Day02笔记
    01.引用的使用场景(重点)1.引用作为函数参数//1.引用作为函数参数voidfunc(int&a,int&b){ intsum=a+b; cout<<"sum="<<sum<<endl;}voidtest01(){......
  • Day1笔记
    01.C++概述(了解)c++语言在c语言的基础上添加了面向对象编程和泛型编程的支持。02.第一个程序helloworld(掌握)#define_CRT_SECURE_NO_WARNINGS#include<iostream>using......
  • 2022-08-15 第六小组 高佳誉 学习笔记
    Mysql数据库数据库数据库【按照数据结构来组织、存储和管理数据的仓库】。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据对于公司......
  • 《The Clean Coder》读书笔记
    序章有时候,获取正确决策的唯一途径,便是勇敢无畏地说出“不”字......我们要明白,委屈专业原则以求全,并不是问题的解决之道。舍弃这些原则,只会制造出更多的麻烦......第一......