banner
NEWS LETTER

第一章:引言

Scroll down

1. 什么是操作系统?

  • 定义:操作系统是计算机系统中最基本的系统软件,它作为用户与计算机硬件之间的中介,管理和控制计算机的所有硬件和软件资源。
  • 目标
    • 对用户:提供一个功能强大、使用方便的工作环境。它把复杂的硬件操作封装成简单、统一的接口(比如图形界面或系统调用)。
      • 例子:你不需要知道硬盘的扇区、磁道是什么,只需要在文件管理器中点击文件夹就能打开文件。操作系统帮你完成了底层的读写操作。
    • 对系统:合理地组织和管理计算机的工作流程,确保硬件资源被高效地利用
      • 例子:当多个程序同时运行时,操作系统负责决定哪个程序使用CPU,哪个程序的数据先存入内存,防止它们互相冲突。

2. 计算机系统组成(自上而下)

  1. 用户:使用计算机的人或其他计算机。
  2. 应用程序:解决用户具体问题的软件,如浏览器、Word、游戏。
  3. 操作系统:控制应用程序,并作为与硬件打交道的平台。
  4. 硬件:提供基础计算能力的物理设备,如CPU、内存、硬盘、键盘鼠标。

类比:把计算机想象成一个餐厅。
* 硬件是厨房、灶台、食材。
* 应用程序是厨师做的一道道具体的菜(如麻婆豆腐、宫保鸡丁)。
* 操作系统是餐厅的经理和后厨调度:他接收用户的点单(应用程序),指挥厨师(CPU)工作,管理食材的取用(内存/硬盘),协调出菜顺序(进程调度),并为你提供舒适的用餐环境(用户界面)。
* 用户就是顾客。


3. 操作系统的不同角色

  • 资源分配器:像交通警察,管理有限的资源(CPU时间、内存空间),并分配给各个程序和用户。
  • 控制程序:管理和监督用户程序的执行,防止程序出错或恶意操作对系统造成损害。
  • 内核:操作系统的核心部分,是唯一一个始终运行在计算机上的程序。我们常说的“操作系统启动”,其实就是将内核加载到内存中。

4. 计算机系统组织与操作

核心思想:并发

  • CPU和I/O设备可以同时工作
  • 例子:当你在Word中打字时(CPU处理输入),音乐播放器同时在播放歌曲(声卡进行I/O输出)。它们是在并发执行的。

关键机制:中断

  • 是什么:当某个设备需要CPU处理时(比如你按下了键盘、硬盘读取完了数据),它会向CPU发送一个信号,这个信号就是中断
  • 作用:中断让CPU不必不停地询问设备“你好了吗?”,而是设备主动“通知”CPU。这大大提高了CPU的效率。
  • 例子:你点击鼠标,鼠标控制器产生一个中断,CPU接收到后,暂停当前工作,去处理你的点击事件,然后再返回原来的工作。

I/O操作方式

  • 同步I/O:程序发起一个I/O请求后(如读取文件),必须等待I/O完成后才能继续执行。
    • 例子:就像你去一家餐厅点餐,你必须站在那里等厨师做好,然后才能离开。效率低下。
  • 异步I/O:程序发起I/O请求后,不等待结果,立刻继续执行后续代码。当I/O完成后,通过中断通知程序。
    • 例子:就像你点外卖,下单后你就可以去做别的事(继续执行程序),外卖到了会给你打电话(中断通知)。

直接内存访问

  • 是什么:一种由专门的硬件(DMA控制器)完成的I/O方式,允许设备不经过CPU,直接与内存交换大块数据。
  • 好处:极大地减轻了CPU的负担。
  • 例子:没有DMA时,就像经理(CPU)亲自把一堆砖(数据)从卡车上(硬盘)一块一块地搬到仓库里(内存)。有了DMA后,经理只需要指挥一个专门的搬运队(DMA控制器)去搬,搬完了再来通知他一下。经理就可以腾出时间去做更重要的工作。

5. 存储结构

存储层次结构

计算机的存储设备像一个金字塔,从上到下,速度变慢,容量变大,成本变低。
* 寄存器 -> 缓存 -> 主内存 -> 固态硬盘/磁盘 -> 光盘/磁带

缓存

  • 是什么:将低速存储中常用的数据,复制一份到高速存储中。
  • 目的:提升访问速度。
  • 例子
    • CPU缓存:CPU内部有一小块高速内存,存放最常用的指令和数据。
    • 磁盘缓存:将磁盘中常用的数据暂时放在内存中。当你第二次打开同一个文件时,感觉特别快,就是因为文件可能还在内存缓存里。

6. 操作系统结构

多道程序设计

  • 背景:早期计算机一次只能运行一个程序。当这个程序进行I/O操作时(如读写文件),CPU就空闲了,造成浪费。
  • 思想:在内存中同时存放多个程序。当一个程序需要等待I/O时,操作系统就切换去执行另一个程序,从而保持CPU始终忙碌。
  • 例子:就像一个厨师(CPU)同时照看几口锅(程序)。当A锅在炖煮(等待I/O)时,他就去翻炒B锅(执行程序),然后再回来照看A锅。

分时系统

  • 思想:是多道程序设计的延伸,但CPU切换的频率非常快(几十到几百毫秒),以至于每个用户都觉得整个计算机系统是自己独占的。
  • 核心时间片 —— 每个程序一次只能运行一个极短的时间。
  • 例子:你现在可以一边听音乐,一边写文档,一边开着浏览器查资料。这些程序就是在通过分时技术共享CPU。

7. 操作系统的关键操作

双模式运行

  • 是什么:CPU提供两种运行模式:用户模式内核模式
  • 用户模式:运行普通应用程序。在此模式下,程序不能直接执行某些特权指令(如直接操作硬件)。
  • 内核模式:运行操作系统内核代码。可以执行所有指令,包括特权指令。
  • 目的保护。防止应用程序出错或恶意操作,破坏了整个系统。
  • 例子:一个普通的应用程序(如游戏)想读写硬盘,它不能自己动手,必须通过系统调用(一种受控的接口)请求操作系统内核来帮忙。此时,CPU会从用户模式切换到内核模式,执行完操作后再切换回去。这就好比普通公民(用户程序)不能直接调动警车(硬件),必须通过报警(系统调用)由警察(操作系统内核)来处理。

定时器

  • 是什么:一个硬件组件,可以在指定时间后向CPU发出中断。
  • 目的:防止一个程序无限循环或长期霸占CPU。
  • 例子:操作系统在切换到一个程序前,会先设置好定时器。如果这个程序运行时间过长,定时器中断就会触发,操作系统就能夺回控制权,切换到下一个程序。

8. 操作系统的主要管理功能

进程管理

  • 进程正在运行的程序。程序是静态的(硬盘上的一个.exe文件),进程是动态的(这个.exe被加载到内存中执行)。
  • 线程:进程内的更小执行单元。一个进程可以包含多个线程,它们共享进程的资源。
    • 例子:Word是一个进程。它可能有一个线程负责处理你的键盘输入,另一个线程负责在后台进行拼写检查,第三个线程负责定时保存。
  • 操作系统负责:创建/结束进程线程、进程同步、进程通信、死锁处理。

内存管理

  • 职责:决定哪些数据在什么时候进入内存、放在内存的什么位置、如何分配和回收内存空间。
  • 目的:提高内存利用率,方便多道程序运行。
  • 例子:内存就像一个大房子的许多房间。操作系统就是管理员,负责给新来的住户(程序)分配空房间,当住户离开时回收房间,并记录哪些房间正在被使用。

文件系统管理

  • 职责:将物理上分散在磁盘各处的数据,组织成用户易于理解的文件和目录结构
  • 例子:硬盘就像一个巨大的、没有分类的仓库。文件系统则像在仓库里建立了货架、箱子和标签,让你能通过“C:.txt”这样的路径快速找到你想要的数据。

第一章课后练习题

  1. OS的功能是 ______。
    A. 解释和执行源程序
    B. 编译源程序
    C. 转换编码
    D. 控制和管理系统资源

  2. 分时操作系统的目标是追求 ______。
    A. 立即响应
    B. 多线程
    C. 速度
    D. 并行执行

  3. 哪一项不是手持系统的问题?
    A. 有限的内存
    B. 慢速的处理器
    C. 小的显示屏幕
    D. 不是实时系统

  4. 哪种操作系统允许用户和进程之间交互?
    A. 批处理操作系统
    B. 多道批处理操作系统
    C. 分时操作系统
    D. 实时操作系统

  5. 以下哪个应用程序不应归类为面向批处理的?
    A. 文字处理(特指word文档的文字编辑)
    B. 生成月度银行对账单
    C. 生成员工W-2税表
    D. 计算圆周率到百万位小数

  6. 从计算机的角度来看,操作系统是与硬件最密切相关的程序。在这个背景下,我们可以将操作系统视为一个 ______。
    A. 资源分配器
    B. 工作站
    C. 服务器
    D. 接口


参考答案:
1. D 2. A 3. D 4. C 5. A 6. A

如果您喜欢我的文章,可以考虑打赏以支持我继续创作.

其他文章
目录导航 置顶
  1. 1. 1. 什么是操作系统?
  2. 2. 2. 计算机系统组成(自上而下)
  3. 3. 3. 操作系统的不同角色
  4. 4. 4. 计算机系统组织与操作
    1. 4.1. 核心思想:并发
    2. 4.2. 关键机制:中断
    3. 4.3. I/O操作方式
    4. 4.4. 直接内存访问
  5. 5. 5. 存储结构
    1. 5.1. 存储层次结构
    2. 5.2. 缓存
  6. 6. 6. 操作系统结构
    1. 6.1. 多道程序设计
    2. 6.2. 分时系统
  7. 7. 7. 操作系统的关键操作
    1. 7.1. 双模式运行
    2. 7.2. 定时器
  8. 8. 8. 操作系统的主要管理功能
    1. 8.1. 进程管理
    2. 8.2. 内存管理
    3. 8.3. 文件系统管理
  9. 9. 第一章课后练习题
请输入关键词进行搜索