参考书籍为汤老师经典教材,本博客旨在作为自己学习笔记并与大家分享。
1. 操作系统的目标和作用
1.1 目标:
方便、有效、可扩充、开放性;
1.2 作用:
- 作为用户和计算机硬件系统之间的接口:用户可以通过1)命令方式2)系统调用方式3)图形、窗口方式 使用计算机
- 作为计算机系统的管理者:
- 实现了对计算机资源的抽象:
2. 操作系统的发展过程
2.1 单道批处理
单道批处理系统是在解决人机矛盾以及 CPU 与 I/O 设备速度不匹配问题的过程中形成的。换言之,批处理系统旨在提高系统资源的利用率和系统吞吐量。但这种单道批处理系统仍然不能很好地利用系统资源,故现已很少使用。该系统的主要特征如下:
- 自动性。在顺利情况下,在磁带上的一批作业能自动地逐个地依次运行,而无需人工干预。
- 顺序性。磁带上的各道作业是顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序,在正常情况下应完全相同,亦即先调入内存的作业先完成。
- 单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。
2.2 多道批处理
在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。为了进一步提高资源的利用率和系统吞吐量,引入了多道程序设计技术,由此而形成了多道批处理系统(Multiprogrammed Batch ProcessingSystem)。
OS 中引入多道程序设计技术可带来以下好处:
- 提高 CPU 的利用率。
- 可提高内存和 I/O 设备利用率。
- 增加系统吞吐量。
优缺点如下:
- 资源利用率高。由于在内存中驻留了多道程序,它们共享资源,可保持资源处于忙碌状态,从而使各种资源得以充分利用。
- 系统吞吐量大。系统吞吐量是指系统在单位时间内所完成的总工作量。能提高系统吞吐量的主要原因可归结为:第一,CPU 和其它资源保持“忙碌”状态; 第二,仅当作业完成时或运行不下去时才进行切换,系统开销小。
- 平均周转时间长。作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
- 无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序是极不方便的。
2.3 分时系统
分时系统(Time Sharing System)与多道批处理系统之间有着截然不同的性能差别,它能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率。它被经常应用于查询系统中,满足许多查询用户的需要。分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。分时系统与多道批处理系统相比,具有非常明显的不同特征:
- 多路性。允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。宏观上,是多个用户同时工作,共享系统资源;而微观上,则是每个用户作业轮流运行一个时间片。多路性即同时性,它提高了资源利用率,降低了使用费用,从而促进了计算机更广泛的应用。
- 独立性。每个用户各占一个终端,彼此独立操作,互不干扰。因此,用户所感觉到的,就像是他一人独占主机。
- 及时性。用户的请求能在很短的时间内获得响应。此时间间隔是以人们所能接受的等待时间来确定的,通常仅为 1~3 秒钟。
- 交互性。用户可通过终端与系统进行广泛的人机对话。其广泛性表现在:用户可以请求系统提供多方面的服务,如文件编辑、数据处理和资源共享等。
2.4 实时系统
所谓“实时”,是表示“及时”,而实时系统(Real Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
参考:什么叫实时操作系统,什么叫非实时操作系统,两者有什么区别?
3 操作系统的基本特性
并发、共享、虚拟和异步这四个基本特征。其中,并发特征是操作系统最重要的特征,其它三个特征都是以并发特征为前提的。
3.1 并行与并发
并行性和并发性(Concurrence)是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。简单地说:
打个比喻
两个人在喂两个孩子吃饭,这叫并行,因为是同时进行的
如果是一个人喂两个孩子吃饭,轮流着每人喂一口,这叫并发,因为是交替进行的
引用版权声明:https://blog.csdn.net/zhao18933/article/details/46699931
帮助理解并行并发:线程的并发、并行以及高并发
3.2 共享性
在操作系统环境下,所谓共享(Sharing),是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,相应地,把这种资源共同使用称为资源共享,或称为资源复用。目前主要实现资源共享的方式有如下两种:互斥共享;同时访问。
并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。
3.3 虚拟技术
操作系统中的所谓“虚拟”(Virtual),是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,仅是用户感觉上的东西。相应地,用于实现虚拟的技术称为虚拟技术。在操作系统中利用了两种方式实现虚拟技术,即时分复用技术和空分复用技术。
3.4 异步性
进程是以人们不可预知的速度向前推进,此即进程的异步性(Asynchronism)。
异步性是指进程以不可预知的速度向前推进。内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成等,都是不可预知的。
是程序并发执行时,程序之间的相互制约关系导致了并发程序这种“执行——暂停——执行”这种间断性的活动规律。
比如,当正在执行的进程提出某种资源请求时,如打印请求,而此时打印机正在为其他某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行。可见,由于资源等因素的限制,进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。
异步性就是描述进程这种以不可预知的速度走走停停、何时开始何时暂停何时结束不可预知的性质。
也就是说,如果传统意义上的程序没有在操作系统中为之配备进程控制块(PCB),没有用它来描述进程基本情况和活动过程,进而控制和管理进程,这样就会使程序在并发执行的时候失去其封闭性,也失去了可再现性。
但是,如果操作系统采用了进程同步机制,虽然程序具有异步性(走走停停、以不可预知的速度前进),但仍能保证进程并发执行的结果是可再现的。
所以,只要在操作系统中配置有完善的进程同步机制,且运行环境相同,作业经多次运行都会获得完全相同的结果。因此,异步运行方式是允许的。
引用版权声明:https://blog.csdn.net/liuchuo/article/details/51986221
4 操作系统的主要功能
4.1 处理机管理功能
4.2 存储器管理功能
4.3 设备管理功能
4.4 文件管理功能
4.5 操作系统与用户之间的接口
5 OS结构设计
5.1 传统OS结构
5.2 客户/服务器模式 C/S
5.3 面向对象的程序设计
5.4 微内核OS结构
微内核描述
1) 足够小的内核;2) 基于客户/服务器模式;3) 应用“机制与策略分离”原理;4) 采用面向对象技术。
微内核基本功能:
1) 进程(线程)管理;2) 低级存储器管理;3) 中断和陷入处理。
微内核优点:
1) 提高了系统的可扩展性;2) 增强了系统的可靠性;3) 可移植性;4) 提供了对分布式系统的支持;5) 融入了面向对象技术。