目录
通过本章学习,了解操作系统如何在计算机加电后正常运行
Q:为什么应用程序不能直接访问外设?
A:操作系统是特殊的系统软件:
①具有对整个计算机系统的全部的控制权 ②具有特权指令 ③内核是可信任的第三方
通过操作系统可以为上层应用与下层硬件提供简单一至接口,在开发上层应用的时候可以屏蔽下层硬件的device的复杂性和差异性,让上层应用具有可移植性和一致性。 |
2.1 启动计算机
操作系统一开始并没有直接放在内存当中让CPU执行,而是存储在DISK(硬盘),再由BIOS支持
①BIOS 基本I/O系统:检查硬件及外设状况并且加载相应软件
②Bootlodar 引导加载程序:j操作系统的额代码和数据从硬盘加载到内存当中
1.bootloader一般存放在第一个主引导扇区(计算机由高地址开始寻找),为了让计算机更快寻找
2.当BIOS加载bootloader后,CPU的控制权就由bootloader掌握
3.指针跳转到操作系统的起始地址
③OS 操作系统:通过bootloader加载OS(操作系统)到内存当中
2.2 操作系统与设备和程序的交互
2.2.1 系统调用:
应用程序主动向操作系统发出system call
2.2.2 异常:
应用程序非主动产生非法指令或者其他破坏处理状态
2.2.3 中断:
来自不同硬件设备的计时器和网络中断
2.2.4 三种交互状态的特性:
2.2.5 同步和异步的定义:
- 同步:事件,操作和进程是有序进行的,一个操作接着一个操作有序进行,应用程序发出请求,操作系统会阻塞该程序,直到请求操作完成
- 异步:事件,操作和进程是独立进行的,不必等待其他操作的完成,独立支线,程序会通过某种方式(如回调函数、事件通知、信号等)得到通知。因此,异步操作使程序执行流程得以继续
注:系统调用地处理时间,应用发出请求地时间点是同步的,但是返回请求地点可以是同步或者异步