第6章 操作系统简介
Dr. 沙行勉
计算机的启动
认识操作系统
操作系统对硬件资源管理
操作系统对应用程序提供较安全可靠的服务
操作系统对多运行环境的管理
文件系统
2018-1-8
1
第1节 计算机的启动
2018-1-8
Dr. 沙行勉
2
启动自检阶段
初始化启动阶段
启动加载阶段
内核装载阶段
登录阶段
计算机启动流程
2018-1-8
Dr. 沙行勉
3
不论是台式机、笔记本、手机,所有设备在开机启动过程中都会包括三个共同的阶段:启动自检阶段、初始化启动阶段、启动加载阶段。
这三个阶段主要由BIOS(Basic Input Output System)来完成的。
BIOS是一组程序,包括基本输入输出程序、系统设置信息、开机后自检程序和系统自启动程序。
1.1 启动自检阶段
2018-1-8
Dr. 沙行勉
4
加电自检的功能是检查电脑整体状态是否良好。通常完整的POST自检过程包括对CPU、ROM、主板、串并口、显示卡及键盘进行测试。一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。
按一下电源按钮,计算机就进入启动自检阶段。如右图。
电脑刚接通电源,将读取BIOS程序,并对硬件进行检测。
这个检测过程也叫做加电自检(Power On Self Test,简称POST)。
1.2 初始化启动阶段
2018-1-8
Dr. 沙行勉
5
启动自检阶段结束之后,若自检结果无异常,接下来计算机就进入初始化启动阶段。
根据 BIOS 设定的启动顺序,找到优先启动的设备,比如本地磁盘,CD Driver,USB 设备等等。然后准备从这些设备启动系统。
初始化启动阶段还包括设置寄存器、对一些外部设备进行初始化和检测等。
1.3 启动加载阶段
2018-1-8
Dr. 沙行勉
6
初始化阶段完成之后,接下来将读取准备启动的设备所需的相关数据。由于系统大多存放在硬盘中,所以BIOS会指定启动的设备来读取硬盘中的操作系统核心文件。
由于不同的操作系统具有不同的文件系统格式(如FAT32,NTFS,EXT4等等),因此需要一个启动管理程序来处理核心文件的加载,这个启动管理程序就被称为Boot Loader。
Boot Loader的作用主要有两方面:首先,提供菜单让用户选择不同的启动项目,通过不同的启动项目开启计算机的不同系统。其次,能加载核心(Kernel)文件,直接指向可启动的程序区段来启动操作系统。
1.4 内核装载阶段
2018-1-8
Dr. 沙行勉
7
操作系统利用内核程序,开始测试并驱动各个外围设备,包括存储装置、CPU、网卡、声卡等等。
在这个阶段,有的操作系统会对硬件进行重新检测。
在操作系统开始使用内核程序测试和驱动外围设备时,操作系统的核心才接管了BIOS的工作。
1.5 登录阶段
2018-1-8
Dr. 沙行勉
8
登录阶段,计算机主要完成以下两项任务:
启动机器上安装的所有需要自动启动的Windows服务
显示登录界面
练习题
2018-1-8
Dr. 沙行勉
9
在安装Windows系统的个人电脑中,将希望开机运行的程序设置为开机自动启动。要如何设置?
假设你有多个操作系统,如何使PC从指定windows7启动?
BIOS的程序存放在ROM中,请思考Andriod手机中的ROM与BIOS的ROM有何区别?PC机刷BIOS与Andriod手机刷机、刷ROM有何区别?
提示:手机Android的ROM,是整个操作系统和一些常用的程序。
第2节 认识操作系统
2018-1-8
Dr. 沙行勉
10
什么是操作系统?
中断
什么是操作系统
2018-1-8
Dr. 沙行勉
11
操作系统管理计算机资源,是软件与硬件的中间接口。
操作系统也是世界上最懒的管理者,因为它无时无刻不在“睡觉”。
操作系统的常态是睡觉,它不会主动做任何事的。它是被“中断”后才起来做服务的,做完后又睡觉了。
叫醒操作系统的方式叫做“中断”。中断的来源有三。有从硬件来的要求中断,有从软件来的要求中断,也有运行时碰到异常时来的要求中断。
操作系统不是神,它的执行也需要CPU。它不过是一个复杂的软件罢了(现在的Linux是个百万行的程序),操作系统被叫醒后也需要CPU才能执行。
2.1 中断
2018-1-8
Dr. 沙行勉
12
每当需要操作系统处理事务时,沉睡中的操作系统将会被唤醒,完成相应事务的处理。唤醒操作系统的行为叫做“中断”,你可以认为是“中断”操作系统的睡眠。
比如用户在从键盘按下“A”时,键盘会发出中断信号去叫醒操作系统,告诉他:“嘿,键盘的A按键已经按下去了,你处理一下吧”,这时,操作系统醒来处理这个事件。
又如用户程序在执行的过程中,需要读写文件,程序会产生一个中断请求,叫醒操作系统去处理读写文件事务。
另外