1.1操作系统做什么
操作系统负责程序的启动过程,负责程序的执行过程,同时在执行过程中不断为用户程序的执行提供各种各样的支持。比如说创建进程,分配内存,执行进程等。
1.2操作系统是什么
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合:
(1)组织和管理计算机的软硬件资源;
(2)组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能。
操作系统的管理须有效、合理、方便使用,即提高资源利用率和系统效率,软硬件资源分配合理。
操作系统的作用:
(1)自底向上——资源的管理者:
a.跟踪记录资源的使用状况,使用数据结构记录空闲资源,分配给谁使用,允许时间等;
b.确定资源分配策略——算法:静态分配策略,有可能导致资源浪费;动态分配策略,资源高效利用;
c.实施资源的分配和回收;
d.提高资源利用率;
e.保护资源的使用;
f.协调多个进程对资源请求的冲突。
资源管理的五大基本功能:
a.进程/线程管理(CPU管理):进程线程状态,控制,同步互斥,通信,调度
b.存储管理:分配/回收,地址转换,存储保护,内存扩充
c.文件管理:文件目录,文件操作,磁盘空间,文件存取控制
d.设备管理:设备驱动,分配回收,缓冲技术
e.用户接口:系统命令,编程接口。
硬件资源:CPU,内存,设备;软件资源:文件、管理信息等。
(2)各种系统服务的提供者:进程的创建、执行,文件和目录的操作,I/O设备的使用;
(3)对硬件机器的扩展,是硬件之上的第一层软件。操作系统在应用程序与硬件之间建立一个等价的扩展机器(虚拟机),对硬件抽象,提高可以执行;比底层硬件更易于编程。
1.3操作系统的主要特征
(1)并发:处理多个同时性活动的能力。
在计算机系统中同时存在多个程序运行,单CPU上:宏观:程序同时执行;微观:任何时刻只有一个程序真正在执行,在CPU上轮流执行。
相似概念:并行:与并发相似,但多指不同程序同时在多个硬件部件上执行。
(2)共享:操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源),分为互斥共享和同时共享。
操作系统要对系统资源进行合理分配和使用,资源在一个时间段内交替被多个进程所用。
(3)虚拟:一个物理实体映射为若干个对应的逻辑实体——分时或分空间。
虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
(4)随机:操作系统必须随时对以不可预测的次序发生的时间进行响应并处理。
1.4典型操作系统的架构
1、windows系统
(1)用户态:系统进程,服务进程,用户进程,环境子系统,动态链接库;
(2)内核态:系统服务分发器,内核态可调用接口,执行体,内核,设备驱动程序,硬件抽象层(HAL),图形与窗口;
(3)硬件;
2、unix操作系统
3、linux操作系统
4、android操作系统
1.5操作系统分类——传统分类和tenenbaum分类
操作系统随计算机硬件技术、应用需求的发展、软件新技术的出现而发展,其最终目标是:充分利用硬件,提供更好的服务。
传统操作分类:
(1)批处理操作系统——提高资源利用率,增加作业处理吞吐量,其问题为输入输出时,CPU处于等待状态,可采用卫星机,将输入输出暂存在磁带或磁盘。
(2)分时操作系统
分时操作系统有一台主机,连接许多终端,终端无存储,无CPU,用户在终端敲入命令等待主机回答,即一台主机同时要为多个终端服务
时间片:操作系统将CPU的时间划分为若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片。追求目标为:及时响应。
(3)通用操作系统——将分时系统和批处理系统结合
原则:分时优先,批处理在后。“前台”:需要频繁交互的作业;“后台”:时间性要求不强的作业。
(4)实时操作系统——计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实施设备和实时任务协调一致的工作。
a.实时过程控制:工业控制、航空军事控制
b.实时通信处理:电讯、银行、飞机订票
追求目标——a.对外部请求在严格时间范围内做出响应
b.高可靠性
(5)个人计算机操作系统——在某一时间内为单用户服务
追求目标——a.界面友好,使用方便
b.丰富的软件
(6)网络操作系统——基于计算机网络在各种计算机操作系统上按网络体系结构协议标准开发的软件。
功能:网络管理,通信,安全,资源共享和各种网络应用。
追求目标:相互通信,资源共享。
(7)分布式操作系统——或以计算机网络为基础,或以多处理机为基础,基本特征是处理分布在不同计算机上。
特征:是一个统一的操作系统,允许若干个计算机可相互协作共同完成一项任务。操作系统可将各种系统任务在分布式系统中任何处理机上运行,自动实现全系统范围内的任务分配,自动调度,均衡各处理机的工作负载。
优点:处理能力增强,速度快,可靠性增强,具有透明性。
(8)嵌入式操作系统——运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。通常工作在反应时或对处理时间有较严格要求的环境中。
TANENBAUM分类:(1)大型机操作系统(2)服务器操作系统(3)多处理机操作系统(4)个人计算机操作系统(5)掌上计算机操作系统(6)嵌入式操作系统(7)传感器节点操作系统(8)实时操作系统(9)智能卡操作系统:智能卡——一种包含有一块CPU芯片的卡片,严格的运行能耗和存储空间的限制。