第一章 概述
什么是操作系统
定义:
在功能方面:分为对上对下两个层面:
对上是对用户提供服务:(控制角度)
- 用户角度上,操作系统是一个控制软件
- 管理应用程序
- 为应用程序提供服务
- 杀死应用程序
对下(资源分配): - 资源管理
- 管理外设、分配资源
操作系统下的抽象:CPU<->进程,磁盘<->文件,内存<->地址空间
操作系统承上启下的作用,是一种特殊软件,即系统软件,直接面向硬件。一般应用程序访问的资源是由操作系统提供的,不能直接访问物理资源,特别是外设资源,而外设资源由操作系统一同统一管理,给上面的提供一个抽象接口。
操作系统层次结构:硬件之上,应用程序之下。
操作系统不属于某个特定功能(如编译器),他完成对硬件的管理和控制。
对外接口(面向应用程序)Shell (GUI)
对内(把计算机内部资源管理起来)Kernel (本课重点!)
Linux.Windows.Android的界面属于Shell
硬件资源:CPU,内存,磁盘
Kernel-操作系统内部组件,包括:
- CPU调度器
- 物理内存管理
- 文件系统管理
- 中断处理与IO设备驱动(与底层硬件直接打交道)
OS Kernel的特征:
- 并发(指一段时间内多个程序运行);而并行是指一个时间点上多个程序运行,要求多个CPU:计算机系统中同时存在多个运行的程序,需要OS管理和调度
- 共享:同时访问或互斥共享访问(一个时间点只有一个程序可访问一个资源)
- 虚拟:利用多道程序设计技术,让每一个用户都觉得有一个计算机专门为他服务(分时调度)
- 异步:程序的执行不是一步到底的,而是走走停停,向前推进的速度不可预知
但只要运行环境相同,OS要保证程序运行的结果也相同(即使异步,结果也要正确)
面向桌面操作系统、面向服务器操作系统等…