操作系统简介
操作系统定义
操作系统并没有精确的定义方式,可以从控制程序和资源管理等方面来定义操作系统
操作系统是一个控制程序
一个系统软件
控制程序执行过程,防止错误和计算机的不当使用
执行用户程序,给用户程序提供各种服务
方便用户使用计算机系统
操作系统是一个资源管理器
应用程序与硬件之间的中间层
管理各种计算机软硬件资源
提供访问计算机软硬件资源的高效手段
解决资源访问冲突,确保资源公平使用
操作系统地位
操作系统位于硬件和应用程序之间,操作系统负责管理硬件资源,为应用程序提供接口来访问管理计算机资源
操作系统实现对于计算机CPU,内存,磁盘的抽象虚拟化管理,实现进程,地址空间和文件系统等功能
操作系统软件分类
操作系统属于系统软件,主要包括命令行和内核
Shell--命令行接口 GUI--图形用户接口 Kernel--操作系统的内部
操作系统内核特征
并发 计算机系统中同时存在多个运行的程序,需要OS管理和调度
共享 “同时”访问 互斥共享
虚拟 利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务
异步 程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知;只要运行环境相同,OS需要保证程序运行的结果也要相同
操作系统实例
Unix家族
Linux家族
Window家族
操作系统演变
单用户系统(’45-’55)
操作系统=装载器+通用子程序库
批处理(’55-’65)
顺序执行与批处理
多道程序(’65-’80)
保持多个工作在内存中并且在各工作间复用CPU
分时(’70-)
定时中断用于工作对CPU的复用
分布式操作系统
操作系统结构
简单结构
MS-DOS – 在最小的空间,设计用于提供大部分功能 (1981~1994)
没有拆分为模块 MS-DOS 在接口和功能水平没有很好地分离,主要用汇编编写
分层结构
将操作系统分为多层 (levels)
每层建立在低层之上 最底层(layer 0), 是硬件 最高层(layer N) 是用户界
每一层仅使用更低一层的功能(操作)和服务。
微内核结构(Microkernel)
尽可能把内核功能移到用户空间
用户模块间的通信使用消息传递
好处: 灵活/安全… 缺点: 性能
外核结构(Exokernel)
让内核分配机器的物理资源给多个应用程序, 并让每个程序决定如何处理这些资源.
程序能链接到操作系统库(libOS) 实现了操作系统抽象
保护与控制分离
操作系统核心的概念有 进程与线程 内存管理 文件管理 IO管理等。
参考地址:清华大学 操作系统 陈渝 http://os.cs.tsinghua.edu.cn/oscourse/OS2015/