一、绪论
操作系统没有公认的精确定义 ,它是一个软件系统,实现两个功能:
- 为用户程序提供资源集的抽象
- 管理计算机资源
操作系统与用户交互的程序,基于文本的通常称为shell,而基于图标的则称为图形用户界面(GUI),用户接口程序
处于用户态的最低层次,处于用户态的最低层,允许用户运行其他的程序,诸如电子邮件、音乐播放器,这些程序也
大量使用操作系统。
多数计算机有两种运行模式:
- 内核态(管态),操作系统运行在此模式,能够执行任何指令。
- 用户态,用户软件运行在此模式,使用机器指令中的子集。
操作系统软件的分类:操作系统位于应用软件之下,为应用软件提供服务。
内核是OS内部组件,管理硬件资源,包括CPU(CPU调度、进程、线程)、内存(物理内存、虚拟内存),文件系统管理(由硬盘抽象)、中断处理和设备驱动(底层硬件)
OS的层次结构:硬件之上,应用程序之下
OS内核的特征包括
- 并发 计算机系统中同时存在多个运行的程序,需要OS管理和调度
- 共享 多路复用资源:时间上复用以及空间上复用
- 虚拟 利用多道程序设计技术,让每个用户都觉得有一算机专门为他服务,将CPU虚拟为进程、磁盘虚拟为文件、内存虚拟为地址空间
- 异步 程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知,只要运行环境相同,OS需要保证程序运行的结果也要相同
OS历史
- 单用户系统 装载器+通用子程序库 昂贵组件的低利用率
- 批处理系统 顺序执行与批处理
- 多道程序系统 保持多个工作在内存中并且在各工作间复用CPU
- 分时 定时中断用于工作对CPU的复用
- 个人计算机:每用户一个系统服务
- 分布式计算:每个 用户多系统服务
OS实例:Unix家族、linux家族,windows家族
OS结构:
- 单体系统 MS-DOS ,没有拆分为模块,接口和功能水平没有很好地分离
- 层次式系统 每层建立在低层之上 ,最底层(layer0), 是硬件,最高层(layerN) 是用户界面,
每一层仅使用更低一层的功能(操作)和服务。
- 微内核 尽可能把内核功能移到用户空间,用户模块间的通信使用消息传递,好处是灵活,安全 缺点是性能
- 客户机-服务器模式
- 虚拟机 虚拟机管理器将单独的机器接口转换成很多的虚拟机,每个虚拟机都是一个原始计算机系统的有效副本,并能完成所有的处理器指令。
- 外核 让内核分配机器的物理资源给多个应用程序,并让每个程序决定如何处理这些资源.,程序能链接到操作系统库(libOS) 实现了操作系统抽象
计算机由处理器、存储器、IO设备组成,这些部件通过总线连接.内存分为RAM和ROM,RAM又叫主存。