操作系统学习笔记(1)——绪论
1、操作系统是什么?
是配置在计算机硬件的第一层(最基本)软件,是对硬件系统的首次扩充。
2、操作系统的设计目标
方便性、有效性、可扩充性、开放性
3、操作系统的作用与功能?
作用:控制管理计算机的全部硬件资源,合理组织内部各部件的协调工作,为用户提供和操作编写界面的集合。
功能:(1)处理机管理:完成处理机资源的分配调度等功能,调度单位可谓进程或线程。
(2)存储器管理:管理存储资源,为躲到程序运行提供有力支持;便于用户使用存储资源,提高存储空间利用率。主要功能:存储分配、存储共享、地址转换和保护、存储扩充。
(3)设备管理:管理各类外围设备,完成I/O请求;提高I/O设备的利用率;提供每种设备的设备驱动程序和中断处理程序;隐蔽硬件细节,提供方便简单的设备使用方法。
(4)文件管理:对系统中信息资源的管理。对用户文件和系统文件进行有效管理,实现按名存取;实现文件发共享、保护和保密,保证文件的安全性;提供用户一整套方便使用的文件操作命令。
(5)网络管理:网上资源管理功能;数据通信管理功能;网络管理功能
(6)用户接口:为了使用户能灵活、方便地石营计算机和系统功能,操作系统提供了一组使用其功能的手段,称为用户接口。
4、操作系统的特性:
1)并发性:宏观并行,微观串行;
好处:提高资源利用率;
问题:带来了诸如多道程序执行过程中的终端、同一程序在不同硬件上的调度转换、同一CPU上不同程序的现场切换、存储保护以及合作进程如何同步等问题。
2)共享性:共享指计算机系统中的资源可被对各并发执行的用户程序和系统程序共同使用。
共享形式:顺序性共享、竞争性共享。
操作系统中共享的两种方式:
互斥共享方式:在一段时间内只允许一个进程访问的资源成为临界资源或独占资源。
同时访问方式:允许一段时间内有多个进程同时对它们进行访问。
共享性和并发性是操作系统两个最基本的特性,两者互为依存。
3)不确定性:也称异步性,指进程已不可预知的速度向前推进。系统事件的发生是具有随机性和不确定性。
4)共享性、并发性与不确定性的关系:
操作系统的不确定性是并发和共享的必然结果。
为了实现并发和共享,操作系统必须有能力随时响应和正确处理各种随机事件。
5)虚拟性:虚拟是指物理上没有提供,但逻辑上具备的功能。
时分复用技术:利用处理机的空闲时间运行其他程序,提高处理机的利用率。
空分复用技术:利用储存器的空闲时间存放其他程序,提高内存的利用率。
5、评价操作系统性能:系统效率、系统可靠性和安全性、系统可维护性、易用性、可扩充性、开放性。
6、操作系统进行资源管理
目的:实现资源共享、提高资源利用率。
方式:(1)记录资源使用状况
(2)合理分配资源(静态分配策略、动态分配策略)
(3)完成分配
(4)回收资源
7、操作系统的发展:
1) 人工操作方式
用户独占全机,CPU等待人工操作;人工操作严重降低了计算机资源的利用率,所谓人机矛盾。
2)脱机输入/输出(I/O)方式
引入磁带,将数据程序输入到磁带上,需要程序和数据时,再从磁带上高速调入内存;
输入输出方式:联机输入/输出方式;
优点:减少CPU的空闲时间;提高I/O速度。
3)单道批处理系统
流水线式的串行工作方式;
单道批处理系统时解决 人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的;
批处理系统旨在提高系统资源的利用率和系统吞吐量。
缺点:系统资源不能充分利用,造成内存的浪费。
4)多道批处理系统
设计概念:提高资源利用率和系统吞吐量;
优缺点:资源利用率高、系统吞吐量大。平均周转时间长、无交互能力。
5)分时系统
定义:分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统。该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机的资源。
特征:多路性、独立性、及时性、交互性。
分时系统的主要目标:对用户相应的及时性,即不至于用户等待每一个命令的处理时间过长。
地位:多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。分时系统的产生是为了满足用户需求所形成的一种新型OS。它与多道批处理系统之间有着截然不同的性能差别,用户的需求具体表现在以下方面:人机交互、共享主机、便于用户上机。
分时系统特有的调度算法:时间片轮转调度算法。
时间片:把计算机的资源(尤其是CPU时间)进行时间上的分割,每个时间段成为一个时间片,每个用户一次使用时间片。
(6)实时系统
系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并能控制所有实时人物的协调运行。
特征:多路性、独立性、及时性、交互性、可靠性。
8、进程与程序
进程:是系统进行资源分配和调度的一个独立单位。其是动态的(产生->执行->消亡),可单独一个进程运行,也可以多个进程并发运行(参考百米赛跑,每个人就是一个进程),且运行方式是异步的。
程序:程序是一组有序指令的集合。是静态的,存放在某种介质上,不具有活动的含义。
程序和进程主要区别:
程序是要执行的一组明确的有序操作。另一方面,正在执行的程序的实例是一个进程。
程序的本质是被动的,因为它在执行之前什么也不做,而进程本质上是动态的或活动的,因为它是执行程序和执行特定操作的实例。
程序具有更长的使用寿命,因为它存储在磁盘中,直到它不会被手动删除,而进程的生命周期较短且有限,因为它在进程完成后终止。
在进程中,资源需求要高得多; 它可能需要处理,内存,I / O资源才能成功执行。相反,程序只需要磁盘来存储