写在前面
现代操作系统原理与实现是上海交通大学并行与分布式系统研究所(IPADS)所长陈海波老师团队于2020年发表的大作,该书系统介绍了操作系统中经典的问题,并对学术界和工业界前沿的技术进行了详细描述。这么一本好书正是我特别需要的,补充自己在操作系统领域的贫乏知识。年初的时候借着公司内部项目组买书的红利,买了一本过来,但因为工作比较忙(太懒~~)一直放在书堆中吃灰,直到十月革命的枪声。。走远了。。直到十月中旬才想起来还有个压箱底儿的大宝贝儿一直没看,遂决定系统性研读这本操作系统教材。
第一章 – 操作系统概述
作为教材的第一章,一开始以一个Hello World程序可执行文件如何存储在计算机中、如何加载到内存并在CPU中运行、如何将“Hello World”这行字符输出到屏幕、两个Hello World程序如何同时在一个CPU中运行为切入点带着读者走进操作系统。
什么是操作系统?
总体而言,操作系统有两个职责:一是对硬件进行管理和抽象,二是为应用提供服务并进行管理。硬件和应用的新变化和新需求(新的硬件加入、应用对时延的要求等)驱动着操作系统不断演进。
操作系统简史
随着1946年世界公认的第一台通用计算机ENIAC诞生后,人们一直在思考如何管理计算机上的程序。GM-NAA I/O作为第一个操作系统具备了批处理的特性。从OS/360到UNIX,操作系统演进步入了分时与多任务操作系统阶段,UNIX中首次引入Shell,并通过管道等IPC方式将不同人物连接起来。UNIX和C语言的成功为两位作者赢得了1983年图灵奖。1991年,目前世界上最成功的、适用范围最广的开源操作系统诞生了,它的父亲是一位来自芬兰的年轻程序员Linus Torvalds。80年代,凭借着从施乐借鉴(剽窃)来的图形用户界面(GUI )操作系统的概念,乔布斯和盖茨将Macintosh和Windows操作系统成功应用到个人计算机中。现代操作系统一步步演进为当下我们在使用的各种计算机。人类的智慧勾勒出一部操作系统捡屎~
操作系统接口
系统调用接口 – 向内核请求服务。POSIX接口 – 为能同时在不同UNIX操作系统上运行的软件定义的一套标准的操作系统API,自由软件先驱RMS起的名字。领域应用接口:各个应用领域定义的应用开发接口,如汽车领域的AUTOSAR等。