操作系统网课笔记^_^
操作系统的目标
- 运行用户程序——核心目标
- 更高效使用计算机——面向系统
- 更方便使用计算机——面向用户
不同用户/系统/阶段有不同侧重点,早期侧重高效,目前侧重方便。
用户视角:
PC用户:追求方便,易用、高性能
主机用户:关注资源利用率
手持设备用户:关心方便、电池续航时间
正是由于不同用户,不同的应用场景对操作系统有不同分要求,就需要设计不同的操作系统,以适合用户和应用的需求。这也是操作系统多样化的原因。
系统视角:
- 操作系统是资源分配器
(1)管理所有资源
(2)面对冲突的资源请求,决定如何分配资源,以便系统能有效公平运行。
- 操作系统是一个控制程序
管理用户程序运行,以防止计算机资源的错误使用或使用不当
由于在系统层面对操作系统的要求基本一致这就使得绝大多数的操作系统具有共性,都包括CPU管理、内存管理、文件管理和设备管理等内容。
操作系统的定义
观点一:(极大化)
“当你预定一个操作系统时零售商所装的所有东西”就是操作系统
观点二:(极小化)
内核(Kernel)才是操作系统。
内核是一直运行在计算机上的程序,内核不运行则计算机无法运行。
现代操作系统
- 一个或多个CPU(或核)和内存
- 若干通过总线相连的设备控制器和I/O设备
- 总线
CPU可以从内存读取指令和数据,并执行指令,也就是运行程序,而各个I/O设备,则由各自的控制器控制。
CPU和设备控制器可并行工作,并竞争内存。
CPU通过设备控制器控制设备运行的过程
以从磁盘读入数据为例来演示CPU和磁盘控制器的协作过程。
- CPU发出I/O指令,通过总线传输到磁盘控制器;
- CPU可以执行其他进程指令,磁盘控制器收到指令后控制磁盘执行指令;
- 磁盘把数据传输到磁盘控制器的本地缓冲区;
- 磁盘控制器触发中断,通知CPU数据已经读好;
- CPU响应中断,并且把磁盘缓冲区中的数据读入内存,完成了一次读取数据。
中断驱动
中断是指当出现需要时,CPU暂时停止当前进程的执行,转而执行处理新情况的中断处理程序,当执行完该中断处理程序后,则重新从刚才停下的位置继续当前进程的运行。
中断服务程序
为了区分不同的中断,每个设备有自己的中断号,系统有0~255一共256个中断,系统有一张中断向量表,用于存放256个中断的中断服务程序入口地址。每个入口地址对应一段代码,即中断服务程序。
中断需要CPU的支持,一般CPU至少有一个引脚用于接收中断。
系统启动
计算机加电->运行引导程序->引导区装入内存->执行引导区代码->引导操作系统的启动
例如,linux系统首先加载root目录下的kernel,内核加载成功后,第二个加载的是root下bin目录下的init的initialise程序。