操作系统的目标和功能
用户是雇主,操作系统是工人,计算机实体是生产资料。雇主不会自己生产,但是工人会(管理者),要通过命令工人(接口),进而工人进行生产,实现生产资料的价值(扩充机器)。
发展阶段
1.2.1手工阶段
缺点:1⃣️用户独占全机。不会出现因为资源已经被其他用户占用而等待的现象,但资源利用率低。2⃣️cup等待手工操作,cpu的利用极大不充分
解决办法:用高速及其代替相对较慢的手工操作来对作业进行控制
1.2.2批处理阶段(操作系统开始出现)
1、单道批处理系统
系统对作业的处理是成批进行的,但内存中始终保持一道作业。
单道的问题:每次主机内存中仅仅存放一道作业,每当它运行期间,发出输入或者输出请求后,高速的cpu变处于等待低速的I/O的完成。为了进一步提高资源利用率和系统吞吐量,进入了多道程序技术。
2、多道批处理系统
允许多个程序同时进入内存(就绪),并允许它们交替在cpu中运行,它们共享系统中的各种硬件和软件资源。当一道程序因I/O请求而暂停运行时,cpu便立即进行另一道程序。它没有用某种机制提高某一技术方面的瓶颈问题,而是让系统的各个组成部分尽量去“忙”,花费极少时间进行切换,达到系统之间各部件之间并行工作,使其整体在单位时间内效率翻倍。
1.2.3分时系统
1.2.4实施操作系统
背景:为了能够在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实施操作系统。
分类:
硬实时系统:时间必须绝对的在规定时刻(范围)内发生。
软实时系统:能接受偶尔违反时间,并且不会引起任何永久性的损害。
特点:及时性,可靠性。
1.2.5 网络操作系统和 分布式操作系统
网络操作系统把计算机网络中的各个计算机游记结合起来,提供一种统一的,经济而有效的使用各台计算机的方法,实现各个计算机之间的相互传送数据。
分布式计算机系统是由堕胎计算机组成并满足下列条件的系统:
1.3操作系统的运行环境
1.3.1运行机制
1.3.2中断和异常
解决,用户态和核心态之间的切换。
1.3.3系统调用
并行和并发的区别和联系哦~~~
【并行性】是指俩个或者多个事件在同一时刻发生。【并发性】是指两个或者多个事件在同一时间间隔内发生。
特权指令和非特权指令
【特权指令】有特殊权限的指令。由于此类指令权限最大,如果使用不当,将导致整个系统崩溃。如:清内存、置时钟、分配系统资源、修改虚拟内存的段表或也表、修改用户权限等 ——如果所有的程序都可以使用这些指令,那么系统将极度不稳定——为保证系统安全,此类指令只能用于操作系统或者其他系统软件,不直接提供给用户——特权指令必须在核心态执行,核心态下可以使用全部指令,用户态下只能使用非特权指令。
当在用户态下使用特权指令时,将产生中断来组织用户使用特权指令,保证系统的安全可靠,从用户态转化到核心态的唯一途径就是中断或异常。
访管指令与访管中断
【访管指令】是一条可以在用户态下执行的指令。在用户程序中,因要求「操作系统提供服务」而优意识地使用访管指令,从而产生了一个中断事件「自愿中断」,将操作系统转换为核心态,称为访管中断。
用户程序——访管指令——访管中断——核心态——得到操作系统服务
- 在多道程序(仍是单核)环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理器系统中每一时刻却仅仅能有一道程序执行,故微观上这些程序只能是分时的家交替执行。
- 倘若在计算机系统中有多个处理器,则这些可以并发执行的程序便可以被分配到多个处理器上,实现并行执行,即利用每个处理器来处理一个可并发执行的程序。
- 通用系统使用——时间片轮转系统
- 批处理系统的缺点是缺少交互性
- 多道的优点是提高cup利用率和系统吞吐量
- 中断不在用户态
- 用户态下因要使用特权指令引起的中断——访管中断
- 进程的调度是操作系统解决的问题,而主要不依赖硬件
- 中断发生后,进入中断的程序是——操作系统
- 用户态——硬件(中断机制)——核心态
- 用户态:(请求)系统调用,外部中断、缺页、命令解释程序
- 用户在程序中调用操作系统提供的一些子功能。系统中的共享资源被操作系统统一管理,因此,凡事欲资源有关的操作,必须由操作系统代理完成。
- 设备管理
- 文件管理
- 进程控制
- 进程通讯
- 内存管理
- “系统调用”在核心态(操作系统核心态)。
- 用户态Trap入核心态:用户程序要求OS服务(系统调用)、中断、用户程序产生错误状态、用户程序企图执行特权指令、核心态转向用户态由一条指令实现。
- 用户态Trap入核心态,不仅是状态的切换,使用的堆栈也可能需要由用户堆栈切换为系统堆栈,但这个系统堆栈也是属于这个进程的。
- 用户态——访管指令——操作系统——特权指令——底层
- (中断)硬中断、外中断:来自cpu执行指令以外的时间的发生,如:I/O结束中断,表示的是:输入/输出已经完成,希望处理机能向设备发下一个I/O请求,同时让完成了I/O的程序继续运行。(设备要求中断,与当前运行程序无关)
- (异常)软中断:内中断、例外、陷入(Trap),指源自CPU执行指令内部的事件,如程序的非法操作吗、地址越界、算术溢出、虚存系统的缺页以及专门的陷入指令引起的事件。(依赖于程序的现场运行,且异常不能被屏蔽,一旦出现立即处理。(CPU内部要求中断)
- 计算机中,CPU通常执行着两个不同性质的程序:一个是操作系统内核程序;另一种是用户自编程序或者系统外层的应用程序。
- 操作系统内核程序:是后者的管理者,因此“管理程序”要执行一些特权指令,而“被管理者”出于系统安全考虑,不能执行这些指令。
- 特权指令:计算机中不允许用户直接调用,或不允用户程序或者系统外层应用程序使用的指令,如:I/O指令、置中断指令,存取用于内存保护的寄存器、从程序状态字到程序状态字寄存等指令。
- 用,用户态(目态)和核心态(管态)来严格区分两类程序。
- 核心态:主要包括与硬件紧密相关的模块(时钟管理、中断处理、设备驱动等);运行频率较高的程序(进程管理、存储器管理、设备管理等)
- 内核:计算机配置的底层软件,是计算机功能的延伸。
- 时钟管理
- 功能一:计时,操作系统需要通过时钟管理,向用户提供标准的系统时间;
- 功能二:通过时钟中断的管理,可以实现进程的切换。
- 分时系统中,时间片到了之后就切换进程
- 实时系统中,以截止时间控制运行的实现
- 批处理中,通过时钟管理来衡量一个作业的运行程度
- 中断机制
- 引入中断的初衷是,提高多道程序运行环境中cpu的利用率(一只切切切,然后cpu就一直忙忙忙)
- 依赖中断:键盘或鼠标的信息输入、进程的管理和调度、系统功能的调动、设备驱动、文件访问等。(可以说,现代操作系统是靠中断驱动等软件)
- 原语(基本与中断相关)
- 系统底层的一些可以被调用的小程序,最接近硬件的部分
- 原子性
- 运行时间短,且调用频繁
- 实现:关中断——执行——开中断
- (设备驱动,cpu切换、进程通信等功能)
- 系统控制的数据结构和处理
- 进程管理:进程状态管理、进程调度和分派、创建与撤销PCB
- 储存器管理:储存器空间的分配和回收、内存信息的保护程序、代码兑换程序等
- 设备管理:缓冲区管理、设备分配和回收等
- 时钟管理
- 提高单机资源利用率低技术:「多道程序设计技术」
- 批处理系统缺点:无交互能力
- 多道的特点:同时性、交互性、独立性、及时性;失去了顺序性
- 「中断技术」使得多道批处理系统和I/O设备可以和CPU设备并行(宏观)工作
- 多道系统,开销不小的,它需要很多额外的开销来进行切换和组织。
- 实时系统通常采用:抢夺式的高优先比策略
- 机床控制也要实时系统
- 1s=1000ms,1ms=0.001s
- 每台计算机的资源为所有用户共享
- 系统中任意若干台计算机又可构成一个子系统,并且可以重构
- 任何工作都可以分布在几台计算机上,并由它们并行工作、协同完成。
- 特点是:分布性、并行性。
- 任意两台计算机通过通信方式交换信息;
- 系统中每一台计算机都具有同等的地位,没有主机也没有从机
- 概念:把处理机的运行时间按分成,很短的时间骗,按时间片轮流把处理机分配各联机作业使用。
- 分时操作系统,是多个用于通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。
- 多道批处理系统实现作业自动控制,无需人工干预的系统,而分时系统实现了人机交互的系统。、
- 同时性。也称多路性,指允许多个终端用户同时使用一台计算机,这些用户可以同时或者基本同时使用计算机。
- 交互性。方便人机对话。
- 独立性。多个终端用户可以独立操作,互不影响。
- 及时性。用户请求能被及时响应。
- 多道特点:多道(多个程序都存放在内存之中)、宏观上并行(光速各种切换,大家一起运行)、微观上串行(一个cpu,大家轮流占有)
- 多道问题:1)如何分配cpu呢2)多道程序的内存如何分配3)I/O设备如何分配4)如何组织和存放大量的程序和数据,便于用户使用和保证其安全性和一致性。
- 多道优点:资源利用率高,各类资源充分使用;系统吞吐量达,cpu和其他资源都保持“忙”。
- 多道缺点:用户响应时间长,不提供人机交互能力,用户既不能了解自己程序的运行情况,也不能控制计算机。
- 自动性。在顺利的情况下,磁带上的一批作业能自动地逐个一次运行,而无需人工干预。
- 顺序性。磁带上的各道作业是顺序进入内存的,作业完成顺序和进入顺序一致。
- 单道性。内存中仅有一道程序运行,当该程序结束或者发生异常后,才换入其后继程序进入内存执行。
- 编译器实属应用程序,应用程序基于操作系统,在操作系统之上
- 【并发】两个或多个事件,在同一时间间隔内发生。「Concurrent」 常见单道中(不是单核)
- 【并行】两个或多个事件,在同一时刻发生。「Parallel」 常见多道中(不是多核)
- 单处理机系统中:进程和进程不能并行。可以并发。
- 用户可以通过命令接口和(GUI:Graphical User Inteface)系统调用来使用计算机。
- 【系统调用】是由操作系统提供给用户的,是命令接口中的命令。
- 操作系统提供给【应用程序】的接口是,系统调用。
- 系统调用的目的是请求系统服务
- 【用户接口】shell、命令解释器、广义指令、系统调用
- 操作系统作为计算机资源的管理者(雇主不需要管理,工人需要)
- 处理机管理
- 储存器管理
- 文件管理
- 设备管理
- 操作系统作为用户与计算机硬件系统之间的接口
- 命令接口
- 联机命令接口/交互式命令接口:用户通过控制台或者终端输入操作指令,向系统提出各种服务要求。用户每输入完一条指令,控制权就转入操作系统的命令解释程序,然后由命令解释程序对输入的命令解释并执行,完成指定功能。之后,控制权又转回控制台或者终端,此时又可以进行下一个请求。
- 脱机命令接口/批处理命令接口:由一组作业控制命令组成。脱机用户不能直接干预作业的运行,应实现用相应作业控制命令写成一份作业说明书,连同作业一起提交给系统。当系统调度到该作业时,通过命令解释程序逐条解释和执行说明书,从而间接地控制作业的运行。
- 命令接口
- 操作系统作扩充机器
- 软件被称为计算机系统的【灵魂】,而操作系统又作为软件的【核心】
- 计算机系统自下而上可以粗分为四个部分:硬件、操作系统、应用程序、用户。操作系统【管理】各种计算机硬件,为应用程序提供【基础】,并充当计算机硬件与用户之间的【中介】。
- 【硬件】提供了基本的计算资源,如中央处理器、内存、输入输出设备等。
- 【应用程序】规定了按何种方式使用这些资源来解决用户的计算问题,如字处理程序、电子指标软件、编译器、网络浏览器等。
- 【操作系统】控制和协调各用户的应用程序对硬件的【分配与使用】。
- 【操作系统】
- 是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口与环境的程序集合。计算机操作系统是随着计算机研究和计算机应用的发展逐步形成并发展起来的,它是计算机系统中最基本的系统软件。
- 操作系统的特征:并发、共享、虚拟、异步
- 「并发」:两个或者多个事件在同一时间间隔内发生。「操作系统的并发性」是指计算机系统中同时存在多个运行着的程序美因茨它具有处理和调度多个程序同时执行的能力。“引入进程的目的是使程序能并发执行”。
- 「并行」事件在同一时刻发生。
- 宏观并发,微观并行。
- 「共享」即资源的共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
- (1)互斥共享方式:一些资源,规定在一段时间内只允许一个进程访问该资源。而这种资源称为临界资源或独占资源。 计算机中大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源。
- (2)同时访问方式:一些资源,允许在一段时间内由多个进程“同时”对它们进行访问。而“同时”往往是宏观的,而微观上进程很可能是交替地对该资源进行访问即“分时共享”。
- 「虚拟」是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的;其逻辑对应物是虚的,是用于感觉上的事物。用于实现虚拟的技术称,虚拟技术。在操作系统中运用了许多虚拟技术:虚拟处理器、虚拟内存、虚拟外部设备等。
- 「异步」 在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是会出现走走停停,以不可预知的速度向前推进。
- 「并发」:两个或者多个事件在同一时间间隔内发生。「操作系统的并发性」是指计算机系统中同时存在多个运行着的程序美因茨它具有处理和调度多个程序同时执行的能力。“引入进程的目的是使程序能并发执行”。
- 共享和并发是操作系统两个最基本的特征,且两者互为存在条件:1⃣️资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享的问题。2⃣️若系统不能对资源共享实施有效的管理,就将影响到程序的并发执行,甚至根本无法执行。(不并发就无需共享,不能共享就不能实现并发)