1、操作系统的概念、目标和作用
操作系统的概念:简单地说,操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类资源进行调度,以及方便用户使用的程序的集合。
操作系统从其产生至发展大今天始终围绕着两个主要的目标。一是要为用户使用计算机系统提供方便。二是要调度计算机中的各种资源以保证计算机系统的高性能。所以操作系统需要达到以下四点目标:
(1)方便性:配置OS(Operating System)后可以提供给用户一个便于运行及开发程序的环境。
(2)有效性:指提高系统资源利用率和系统的吞吐量。
方便性和有效性上溢设计操作系统时最重要的两个目标。
(3)可扩充性:用于适应计算机硬件和计算机网络等发展的需求,具体表现在是否能很容易的增加新的模块。
(4)开放性:指系统能遵循世界标准规范,特别是遵循开放系统互联国家标准。
OS的作用要从用户和计算机资源两个不同角度来看。
(1)OS提供用户和计算机硬件之间的接口。从用户的角度来看,由于OS提供了这种软件接口,他能更方便、快捷、安全、可靠地操纵计算机硬件和运行程序。
(2)OS提供对计算机资源的管理。作为处理器、存储器、I/O设备、信息(信息和程序)这四类计算机系统资源的管理者,OS分别提供了:处理器管理,存储其管理,I/O设备管理,文件管理的功能。
(3)OS提供扩充机器。在逻辑上覆盖OS后,便得到一台功能增强,使用方便的多层扩充机器或多层虚拟机器。
2、操作系统的发展过程和分类
(1)无操作系统的计算机系统
先是人工操作方式,后有借助磁带或磁盘的脱机输入输出方式。脱机输入输出方式相对于人工操作方式减少了CPU的空闲时间,提高了I/O速度。
(2)单道批处理系统
单道指内存中仅有一道程序在运行,批处理是指在系统监督程序(Monitor)的控制下磁带里的一批作业能一个接一个地连续处理,即成批处理。
单道批处理系统在解决人机矛盾和CPU与I/O设备速度不匹配的矛盾中形成,略微提高了系统资源的使用率。具有自动性、顺序性、单道性。
(3)多道批处理系统
多道批处理系统的作业在外存上排成“后备队列”,由作业调度程序从队列中挑选几个作业调入内存,这样当一个占据内存空间的作业不使用CPU而忙于I/O时CPU可以选择内存里的其他作业进行运行。
多道批处理系统提高了CPU的利用率,也提高了内存和I/O设备的利用率,增加了系统吞吐量。具有多道、无序、调度等特征。
(4)分时系统
分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
分时系统允许一台主机为多个用户服务,及时响应用户的请求。具有多路性、独立性、及时性和交互性。
(5)实时系统
实时系统要求系统及时响应外部事件的请求,在规定时间内处理完。按截至时间可将实时任务分为硬实时任务(必须在截止时间内完成)和软实时任务(不太严格地在截止时间前执行完)。
以上的单道系统、多道系统、分时系统和实时系统可以看成是按使用环境对操作系统类别的一种划分。此外,还可以从用户的数目上对操作系统分类,有:单用户单任务操作系统,如CP/M,PC-DOS;单用户多任务操作系统,如OS/2,Windows;多用户多任务操作系统,如UNIX,VMS等。
3.操作系统的基本特征
1.并发:两个或两个以上的程序在同一时间间隔内得到执行(要注意并非同一时刻)。
通常的程序是不能并发执行的,为使多个程序能并发执行,系统必须分别为每个程序建了进程。简单来讲,进程是指在系统中能独立运行并作为资源分配的基本单元,它是由程序、数据、堆栈等组成的,能够争夺CPU的使用权来并发执行,是一个能独立运行的活动实体。
由于进程拥有自己的资源,故使调度付出的开销较大。为此引入线程,通常一个进程可以包含若干个线程,它们可以利用进程所拥有的资源,作为独立运行和独立调度的基本单位。
并行性:指两个或两个以上的事件在同一时刻发生。
2.共享性:在内存中并发执行的多个进程可以共同使用系统中的资源。
有两种方式,分别是:一、互斥共享方式,仅当A进程访问完并释放该资源后,才允许另一进程对该资源进行访问。把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。二、同时访问方式,如磁盘设备。
3.虚拟技术:把一个物理实体变为若干个逻辑上的对应物。
4.异步性(不确定性):多道程序环境下,各个进程是以不可预知的速度执行的,但只要运行环境不变,作业经多次运行都会有相同的结果,这就是进程的异步性。
4.操作系统的主要功能
1.处理机管理功能
也就是CPU管理,包括(1)进程控制、(2)进程同步、(3)进程通信、(4)CPU调度等。
2.存储器管理
其只要任务是为多道程序的运行提供良好的运行环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。内容包括(1)内存分配、(2)内存保护、(3)地址映射、(4)内存扩充等。
3.设备管理功能
其主要任务是完成用户进程提出的I/O请求;为用户进程分配其所需要的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。内容包括(1)缓冲管理、(2) 设备分配、(3)设备处理。
4.文件管理功能
文件管理的主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。为此,文件管理应具有(1)文件存储空间的管理、(2)目录管理、(3)文件的读/写管理、(4)文件的共享与保护等。
5.提供用户接口
接口包括:用户接口,程序接口