[oeasy]python031_[趣味拓展]unix起源_Ken_Tompson_Ritchie_multics

本文涉及的产品
性能测试 PTS,5000VUM额度
可观测可视化 Grafana 版,10个用户账号 1个月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 回顾了上次内容关于调试的基本概念后,本文介绍了Unix操作系统的起源。从早期计算机任务的独占执行方式讲起,到1960年代 Dartmouth 开发出分时算法,使得一台主机能够面对多个终端,轮流使用CPU时间片。随后,贝尔实验室、通用电气和MIT合作开展Multics项目,项目成员Kenneth Thompson与Dennis Ritchie在此期间开发了一款名为《Space Travel》的游戏。然而,因金融动荡等原因,Multics项目最终被裁撤。Thompson和Ritchie后来利用实验室闲置的一台PDP-7计算机仅用三周时间就开发出了Unix操作系统的第一版,初衷是为了能够继续玩游戏。

[趣味拓展]unix起源_Ken_Tompson_Ritchie_multics 🥋

回忆上次内容

  • 上次 动态设置了 断点
  • 断点 可以把代码
  • 切成一段一段的
  • 可以 更快地调试
  • 调试的目的 是 去除 bug
  • 别害怕 bug
  • 一步步 总能找到 bug
  • 这 就是 程序员基本功
  • 调试 debug
  • 在bug出现的时候
  • 甚至还没有出现操作系统
  • 那操作系统
  • 是怎么开始有的呢??🤔

出现

  • 1960年以前
  • 计算机中的 任务
  • 都是 以独占的方式执行

  • 批处理 命令
  • batch
  • 把指令都提前写好
  • 进入cpu一把执行结束

分时算法

  • 1960年
  • Dartmouth 出现分时算法
  • cpu分时系统
  • Compatible Time-Sharing System

  • 可以让主机
  • 同时 面对多个终端
  • 以非独占的方式
  • 轮流使用cpu时间片

操作系统

  • 多任务、多用户的操作系统
  • 诞生

  • 贝尔实验室、通用电气、MIT
  • 也想要制作 基于超级主机 的
  • 分时操作系统

multics

  • 联合系统开发计划
  • multics
  • 启动

两人

  • 项目组里面有两个打工人
  • Kenneth Thompson
  • Dennis Ritchie

  • 在 multics项目主机Ge635上
  • 自制游戏的 《space travel》

《space travel》

  • 模拟物理环境
  • 在各个星球上着陆的游戏
  • 根据质量、周期、引力弓之类的
  • 在太阳系穿梭

暴风雨

  • multics很注重
  • 多用户
  • 多任务
  • 多层次
  • 但是
  • 则惑
  • 想要得越多
  • 越不容易聚焦

  • 1969 年
  • 发生金融动荡
  • 这个商业项目
  • 由于进度不可控
  • 最终被裁撤

两人

  • 项目组被裁撤后
  • 贝尔实验室中
  • 无所事事的两人

  • 主机Ge635没了
  • 游戏也没法玩了

新的希望

  • Thompson希望能搞到一个PDP系列主机
  • 好继续玩star travel
  • 他写报告 申请买一个PDP-10
  • 大概需要 12万美元
  • 结果是 请求被驳回

  • Thompson 并没有放弃寻找
  • 不久之后
  • 发现了意外之喜

unix

  • Thompson 在实验室角落发现
  • 有一台几乎全新的PDP-7
  • 1964年生产的

  • Thompson 利用multics中积累的经验
  • 开始做操作系统
  • Thompson
  • 拉上 Ritchie
  • 在 multics 文件系统的基础上
  • 实现了 文件读写

unix

  • 目标
  • 只有一个
  • 为了 玩游戏
  • 少则得

  • 这个系统
  • 被戏称为 unics
  • 和multics项目的相比
  • 最大的特点就是
  • 非常简单
  • 抱一为天下式
  • 如何 让计算机和这些文件
  • 进行互动呢?

三周

  • Thompson 的妻子
  • 休了三周假
  • 带着1岁的儿子回娘家

  • Thompson
  • 有了三周不受打扰的工作时间

三周做了 一个操作系统

  • 三周目任务

  • 第1周. 实现了 shell 环境
  • 第2周. 实现了 editor 编辑器
  • 第3周. 实现了 assembly compiler 汇编语言 编译器

操作系统

  • 这个世界从此上出现了
  • 一种叫 操作系统的东西
  • operating system

  • 操作系统
  • 在纯硬件 裸金属 上 建立了 软件环境
  • 为 具体应用 提供 基础

multics模拟器

  • 今天可以去模拟multics

总结

  • 这次我们了解了unix系统
  • 在multics项目失败后
  • 汤普森和里奇
  • 为了 玩游戏
  • 自制了 unix
  • 这个世界从此有了
  • 操作系统
  • operating system
  • os

相关文章
|
1月前
|
Unix 编译器 Shell
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
本文回顾了计算机语言与操作系统的起源,探讨了早期 Unix 操作系统及其与 C 语言的相互促进发展。Unix 最初用汇编语言编写,运行在 PDP-7 上,后来 Thompson 和 Ritchie 开发了 C 语言及编译器,使 Unix 重写并成功编译。1974 年 Ritchie 发表论文,Unix 开始被学术界关注,并逐渐普及。伯克利分校也在此过程中发挥了重要作用,推动了 Unix 和 C 语言的广泛传播。
55 9
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
|
3天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
11 1
|
23天前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
19 3
|
21天前
|
算法 Unix 数据安全/隐私保护
Python编程--UNIX口令破解机
Python编程--UNIX口令破解机
24 1
|
10天前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
13 0
|
1月前
|
Python
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
26 4
|
1月前
|
Unix 编译器 C语言
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ordinal_
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ord
19 0
|
2月前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
29 2
|
2月前
|
程序员 Python
[oeasy]python0028_女性程序员_Eniac_girls_bug_Grace
回顾上次内容,我们了解到 `.py` 文件中的代码是按顺序一行行被解释执行的,可以使用 `pdb3 hello.py` 来调试程序。此外,我们探讨了“bug”这一术语的由来,它最早是在 1947 年由 Grace Murray Hopper 发现的一只真正的飞蛾所引起的计算机故障,从此“debugging”成了查找并修复程序错误的过程。早期的程序员大多为女性,因为她们通常更加细心且有耐心,这些特质对于检查错综复杂的线路和编程工作至关重要。编程与编织有着相似之处,都需要细致和有条理的操作。最后,我们认识到 bug 的存在是程序员工作的基础,没有 bug 就不需要程序员去修正它们。
40 3
|
2月前
|
Unix Python
如何使 Python 脚本在 Unix 上可执行
【8月更文挑战第24天】
23 0