笔记内容及图片整理自XJTUSE “操作系统” 课程ppt,仅供学习交流使用,谢谢。
什么是操作系统
操作系统的定义
计算机硬件只能识别0、1机器码,直观性差,用户难以使用,因而在计算机硬件上覆盖一层管理计算机硬件、方便用户使用的系统软件尤为重要。
我们把操作系统定义为用以控制和管理计算机系统资源,方便用户使用的程序和数据结构的集合。
用户角度,操作系统是侍者;
系统角度,操作系统是管家;
如果说,CPU是计算机硬件的核心,是计算机系统的心脏,那么操作系统则是计算机软件的核心,是计算机系统的大脑,在计算机用户和计算机硬件之间起媒介作用。
计算机系统部件
硬件——提供基本的运算资源
操作系统——在各种应用程序和用户之间控制与协调对硬件的使用
应用程序——定义解决用户问题的资源使用方式(编译、数据库、事务程序等)
用户——人、机器、其他计算机等
操作系统的发展
操作系统的发展动力
1)系统角度,提高计算机资源利用率和系统性能
2)用户角度,便捷高效地实现人机交互
3)技术发展
操作系统的发展历程
第一代 (1946年-1955年): 真空管时代,无操作系统;
第二代 (1955年-1965年): 晶体管时代,简单批处理系统;
第三代 (1965年-1980年): 集成电路时代,多道程序批处理系统;
第四代 (1980年 - 至今): 大规模和超大规模集成电路时代,分时系统……
第一代——人工操作
计算机专业人员使用机器语言手工操作。
缺点
1)用户独占系统的全部硬件资源,设备利用率低
2)I/O通过手工装入/卸取纸带或卡片,CPU等待时间长
提升效率的途径:脱机I/O,使用磁带作为I/O中介,从而不需要在主计算机上进行手工操作
第二代——简单批处理系统
把一批作业以脱机方式输入到磁带,利用磁带把任务分类编成作业顺序执行,每批作业由专门监督程序自动依次处理。
简单批处理系统解决了高速计算机的处理与人工干预之间的速度矛盾,实现了作业自动过渡。
特征
顺序性:磁带上的各道作业顺序进入内存,各作业的完成顺序与他们进入内存的顺序相同
单道性:内存中仅允许一道程序运行
自动性:批处理系统允许由专门监督程序实现作业自动过渡
优点:减少了CPU的空闲时间,提高了主机CPU和I/O设备的使用效率,提高了吞吐量
缺点:CPU和I/O设备使用忙闲不均
第三代——多道程序批处理系统
内存中同时存放几个作业,使之都处于执行的开始点和结束点之间,多个作业共享CPU、内存、外设等资源。
多道程序批处理系统能显著提高资源利用率。
60年代通道和中断技术的出现解决了输入输出等待计算的问题。
通道是一种专用部件,负责外部设备与内存之间信息的传输。
中断指主机接到外界的信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一外来事件,处理完后,主机又回到原来工作点继续工作。
简单批处理系统的CPU在使用I/O设备时处于空闲状态。
多道程序批处理系统在一个程序使用I/O时可以运行另外一个程序,只要系统中总是存在可执行的作业,解决了简单批处理系统CPU和I/O设备使用忙闲不均的缺点。
特征
无序性:作业的完成顺序与它进入内存的顺序之间无严格的对应关系
多道性:内存中同时驻留多道程序并发执行,从而有效地提高了资源利用率和系统吞吐量
调度性:作业调度、进程调度
优点:CPU,内存,I/O设备的资源利用率高,系统吞吐量大
缺点:无交互能力,用户响应时间长,单个作业平均周转时间长
第四代——分时系统
用户的新需求:多用户处理+人机交互
分时系统
分时是指多个用户之间分享使用同一台计算机,多个程序之间分时共享硬件和软件资源。
多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入。
前台和后台程序分时:后台程序不占用终端输入输出,不与用户交互,而现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台。
分时技术:把CPU的时间分成若干个大小相等(或不等)的时间单位,称为时间片(如100毫秒),每个终端用户获得CPU(获得一个时间片)后开始运行,当时间片到,该用户程序暂停运行,等待下一次运行。
特征
多路性:众多联机用户可以同时使用同一台计算机
独占性:各终端用户感觉到自己独占了计算机
交互性:用户与计算机之间可进行“会话”
及时性:用户的请求能在很短时间内获得响应
实时系统
在分时系统的基础上分化产生实时系统,通常作为控制设备在诸如控制科学实验、医学影像系统、工业控制系统等严格确定的时间限制的应用。
特征
实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能
过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;过载是指进入系统的任务数目超出系统的处理能力
高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件)
实时系统与批处理系统和分时系统的区别
1) 专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统
2) 实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构
3) 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统
4) 事件驱动和队列驱动:接受外部消息,分析消息,调用相应处理程序进行处理
5) 可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业
并行系统
提高计算机系统性能有两条途径:提高各个组成部分的速度、增大处理的并行程度。
为了提高计算机系统性能,在分时系统的基础上分化产生并行系统,通常是一个有紧密通信的、多于一个CPU的多处理器系统,处理器共享内存和时钟,一般通过共享内存进行通信。
优点:增大吞吐量、经济、可靠性、发生故障只会部分降低性能而不会完全失效
分布式系统
在分时系统的基础上分化产生分布式系统,这是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。
分布式系统具有一个统一的操作系统,它可以把一个大任务划分成很多可以并行执行的子任务,并按一定的策略将它们动态地分配给各个计算机执行,并控制管理各个计算机的资源分配、运行及计算机之间的通信,以协调任务的并行执行。
硬件角度:各个计算机是自治的,通过网络互联。
软件角度:用户看到的是一台逻辑计算机。
优点:资源共享、共享装载提升效率、可靠性
网络操作系统
网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合。
网络操作系统的功能
1)通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等
2)网络通信功能:通过网络协议进行高效、可靠的数据传输
3)资源管理:协调各用户使用
4)网络服务:文件和设备共享,信息发布
5)网络管理:安全管理、故障管理、性能管理等
6)互操作:直接控制对方比交换数据更为困难
分布式操作系统与网络操作系统的比较
1)耦合程度:
分布式系统是紧密耦合系统。分布式OS是在各机上统一建立的“OS同质”,直接管理CPU、存储器和外设,统一进行全系统的管理;
网络通常容许异种OS互连,各机上各种服务程序需按不同网络协议“协议同质”。
2)并行性:
分布式OS可以将一个进程分散在各机上并行执行“进程迁移”;
网络则各机上的进程独立。
3)透明性:用户是否知道或指定资源在哪个设备上。
分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;
网络操作系统中对网络资源的使用要由用户明确指定。
4)健壮性:分布式系统要求更强的容错能力。
嵌入式系统
嵌入式系统是在各种设备、装置或系统中完成特定功能的软硬件系统。它是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”,嵌入式系统通常工作在对处理时间有较严格要求的环境中。
特征
完成某一项或有限项功能,而不是通用型的;
在性能和实时性方面有严格的限制;
能源、成本和可靠性通常是影响设计的重要因素;
占有资源少、易于连接;
系统功能可针对需求进行裁剪、调整和生成以便满足最终产品的设计要求。
个人计算机系统
供个人使用的计算机系统,可采用大型操作系统研发的技术,但不需要高级CPU使用的保护技术。
操作系统的功能
进程管理
目标:完成进程资源分配和调度等功能
功能
进程控制:创建、撤销、挂起、改变运行优先级等操作主动改变进程状态
进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能
进程同步:协调并发进程之间的推进步骤,以协调资源共享
进程通信:进程之间的信息交换
内存管理
内存管理的任务是对要运行的作业分配内存空间,作业运行结束时便要收回其所占用的内存空间。操作系统要对每一个作业的内存空间和系统内存空间实施保护。
目标:提高内存利用率、方便用户使用、提供足够的存储空间
功能:存储分配与回收、存储保护、地址重定位、内存扩充
设备管理
目标:完成用户的I/O请求,为用户分配I/O设备,提高I/O速度,提高CPU与I/O设备利用率
功能:缓冲管理、设备分配与回收、设备处理、虚拟设备、设备独立性
文件管理
目标:实现外存上的信息资源“按名存取”
功能
文件存储空间管理:如何存放信息,以提高空间利用率
目录管理:文件检索
文件存取控制:文件保护
用户接口
目标:为用户使用计算机系统提供一个友好的访问OS的接口
操作系统提供2类接口
作业级接口:行命令、菜单、或图形化的操作界面(GUI)、语音以及作业控制语言等
程序级接口:供用户程序和系统程序调用操作系统功能,也称系统调用
操作系统的特征
并发(concurrency)
并发指多个事件在同一时间段内发生。
操作系统是一个并发系统,它要完成对各进程间的并发、系统与应用间的并发等并发过程的管理。对于多道程序批处理系统,宏观上并发,微观上交替执行。
共享(sharing)
共享指多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用,资源在一个时间段内交替被多个进程所用。
互斥共享(如音频设备):资源分配后到释放前,不能被其他进程所用
同时访问(如磁盘文件):资源在一个时间段内被多个进程交替使用
虚拟(virtual)
虚拟指一个物理实体映射为若干个对应的逻辑实体,分时或分空间。这是操作系统管理系统资源的重要手段,可提高资源利用率。
CPU:每个用户(进程)的“虚处理机”
存储器:每个进程都占有的地址空间(指令+数据+堆栈)
显示设备:多窗口或虚拟终端
异步性(asynchronism)
异步性也称为不确定性,指进程执行顺序和执行时间的不确定性。
由于在分时系统中,多个进程并发执行,因而不可预知每个进程的运行推进快慢,要通过进程互斥和同步手段来保证无论快慢,执行结果都相同。