现代操作系统(第1章 引论)

操作系统的任务是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理硬件设备。

用户与操作系统交互的程序,基于文本的通常称为shell,基于图标的称为GUI(Graphics User Interface),都不是操作系统的一部分。

image

操作系统是软件中最基础的部分,运行在内核态(也称为管态、核心态)。

用户接口程序(shell或者GUI)处于用户态程序中的最低层次,允许用户运行其他程序。

1.1什么是操作系统

操作系统有两个基本上独立的任务,即为应用程序员(实际上是应用程序)提供一个资源集的清晰抽象,并管理这些硬件资源,而不仅仅是一堆硬件。

1.1.1 作为扩展机器的操作系统

抽象是管理复杂性的一个关键。好的抽象可以把一个几乎不可能管理的任务划分为两个可管理的部分。其第一部分是有关抽象的定义和实现,第二部分是随时用这些抽象解决问题。

硬盘驱动(disk driver)是硬件的抽象,文件是硬盘的抽象。

操作系统的任务是创建好的抽象,并实现和管理它所创建的抽象对象。

操作系统的一个主要任务是隐藏硬件,呈现给程序(以及程序员)良好、清晰、优雅、一致的抽象。

image

1.1.2 作为资源管理者的操作系统

把操作系统看作向应用程序提供基本抽象的概念,是一种自顶向下的观点。按照另一种自底向上的观点,操作系统则用来管理一个复杂系统的各个部分。从这个角度看,操作系统的任务是在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配。(eg:将多个程序同时打印出的结果送到磁盘上缓冲区、为不同程序和用户调解互相冲突的资源请求)

资源管理包括用以下两种不同方式实现多路复用(共享)资源:在时间上复用和在空间上复用。

1.2 操作系统的历史

1.2.1 第一代(1945~1955):真空管和穿孔卡片

1.2.2 第二代(1955~1965):晶体管和批处理系统

1.2.3 第三代(1965~1980):集成电路和多道程序设计

多道程序设计(multiprogramming)——伪并行
分时(timesharing)

1.2.4 第四代(1980年至今):个人计算机

1.2.5 第五代(1990年至今):移动计算机

1.3 计算机硬件简介

1.3.1 处理器

1.3.2 存储器

1.3.3 磁盘

1.3.4 I/O设备

1.3.5 总线

1.3.6 启动计算机

1.4 操作系统大观园

1.5 操作系统概念

1.5.1 进程

1.5.2 地址空间

1.5.3 文件

1.5.4 输入/输出

1.5.5 保护

1.5.6 shell

1.5.7 个体系统重复发育

大型内存

保护硬件

硬盘

虚拟内存

1.6 系统调用

posted @ 2022-09-10 09:09  kirin-dev  阅读(89)  评论(0)    收藏  举报