本文主要是介绍计算机操作系统|操作系统引论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
操作系统(Operating System,OS)
-
一组程序的集合,控制和管理计算机硬件和软件资源
-
计算机硬件上的第一层软件,是对硬件系统的首次扩充
-
计算机中最基本和最重要的系统软件,是其他系统软件和应用软件运行的基础
目标和作用
操作系统的目标
-
方便性:使计算机系统更易使用
-
有效性:提高资源利用率和系统吞吐量
-
可扩充性:方便对模块和功能的扩充、修改
-
开放性:遵循世界标准规范,方便兼容、互联
操作系统的作用
-
作为用户与计算机硬件系统间的接口:命令,系统(功能)调用,图形化接口(图标-窗口)
-
作为计算机资源的管理者:处理机的分配和控制,(存储器)内存的分配和回收,I/O设备的分配和操纵,文件(数据和程序)的读取、共享和保护
-
实现了对计算机资源的抽象:在裸机上铺设了多层软件,增强了系统的功能,隐藏了对硬件操作的细节
发展
操作系统的发展过程
-
无操作系统的计算机系统:人工操作方式,脱机输入/输出(Off-Line I/O)方式
-
单道批处理系统(Simple Batch Processing System)
-
多道批处理系统(Multiprogrammed Batch Processing System)
-
分时系统(Time Sharing System):人机交互,共享主机
-
实时系统(Real Time System):Solaris,Linux;Unix(大中小型机:多用户多任务)
人工操作方式的缺点
-
用户占用全机
-
CPU等待人工操作
脱机I/O方式的优点
-
减少了CPU的空闲时间
-
提高了I/O速度
单道批处理系统的缺点
-
系统中的资源得不到充分的利用
多道批处理系统的优缺点
-
资源利用率高
-
系统吞吐量
-
平均周转时间长
-
无交互能力
多道批处理系统需要解决的问题
-
处理机争用问题
-
内存分配和保护问题
-
I/O设备分配问题
-
文件的组织和管理问题
-
作业管理问题
-
用户与系统的接口问题
分时系统实现中的关键问题
-
及时接收
-
及时处理(作业直接进入内存,采用轮转运行方式)
分时系统的特征(与多道批处理系统相比)
-
多路性
-
独立性
-
及时性
-
交互性
实时系统的类型
-
工业(武器)控制系统
-
信息检查系统
-
多媒体系统
-
嵌入式系统
实时任务的类型
-
周期性vs非周期性
-
硬实时vs软实时
实时系统vs分时系统
-
多路性
-
独立性
-
及时性
-
交互性
-
可靠性
微机操作系统的发展
-
单用户单任务
-
单用户多任务
-
多用户多任务(Unix-Solaris/Linux)
操作系统发展的主要动力
-
不断提高计算机资源利用率
-
方便用户
-
器件的不断更新换代
-
计算机体系结构的不断发展
-
不断提出新的应用需求
基本特性和功能
操作系统的基本特性
-
并发性:并行vs并发,进程
-
共享性:互斥共享,“同时”访问
-
虚拟性:虚拟技术,时分复用(处理机,设备),空分复用(存储器)
-
异步性:多道程序中每个程序的执行速度未可知,但执行结果相同
操作系统的功能
-
处理机管理:进程控制,进程同步,进程通信,调度(作业/进程)
-
存储器管理:内存分配(静态/动态),内存保护,地址映射,内存扩充(调入/置换)
-
设备管理:缓冲管理,设备分配,设备处理
-
文件管理:文件存储空间的管理,目录管理,文件的读/写管理和保护
-
友好的用户接口:用户接口(联机/脱机/图形),程序接口
现代操作系统的新功能
-
系统安全:认证技术,密码技术,访问控制技术,反病毒技术
-
网络的功能和服务:网络通信,资源管理,应用互操作
-
支持多媒体:接纳控制,实时调度,多媒体文件的存储
结构设计
操作系统的结构设计
-
无结构:整体系统结构,一组过程的集合,每个过程可以任意地相互调用其他过程
-
模块化结构:按功能划分为若干个具有一定独立性和大小的模块
-
分层式结构:按功能流图的调用次序划分为若干个层次,每一层只能调用较低层,自底向上或自顶向下添加软件
-
微内核结构:以模块化、层次化结构为基础,采用客户/服务器模式(Client/Server Mode)和面向对象的程序设计技术,支持分布式系统
模块独立性的两个标准
-
内聚性
-
耦合度
模块接口法的优缺点
-
提高OS设计的正确性
-
可理解性和可维护性
-
增强OS的可适应性
-
加速OS的开发过程
模块化结构设计存在的问题
-
设计的接口规定很难满足实际需求
-
各模块同时设计,各种决定具有“无序性”,又叫“无序模块法”
-
分层设计的优缺点
-
易保证系统的正确性
-
易扩充和易维护性
客户/服务器模式的组成
-
客户机
-
服务器
-
网路系统
客户/服务器模式的交互过程
-
客户发送请求消息
-
服务器接收消息
-
服务器回送消息
-
客户机接收消息
客户/服务器模式的优点
-
数据的分布处理和存储
-
便于集中管理
-
灵活性和可扩充性
-
易于改编应用软件
面向对象技术的优点
-
通过“重用”提高产品质量和生产率
-
使系统具有更好的易修改性和易扩展性
-
更易于保证系统的“正确性”和“可靠性”
微内核操作系统
-
足够小的内核
-
基于客户/服务器模式
-
应用“机制与策略分离”原理
-
采用面向对象技术
微内核操作系统的基本功能
-
进程(线程)管理
-
低级存储器管理
-
中断和陷入处理
微内核操作系统的优点
-
提高了系统的可扩展性
-
增强了系统的可靠性
-
可移植性强
-
提供了对分布式系统的支持
-
融入了面向对象技术
传统操作系统vs微内核操作系统
传统操作系统两次上下文切换
-
一次是在执行系统调用后由用户态转向系统态时
-
另一次是在系统完成用户请求的服务后,由系统态返回用户态时
微内核操作系统四次上下文切换:
-
第一次发生在客户发送请求消息给内核,以请求取得某服务器特定的服务时
-
第二次发生在由内核把客户的请求消息发往服务器时
-
第三次是当服务器完成客户请求后,把相应消息发送到内核时
-
第四次是在内核将相应消息发送给客户时
这篇关于计算机操作系统|操作系统引论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!