此章节不会出现综合题
第一节:什么是操作系统
操作系统概念:操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,可执行。
操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。
操作系统是覆盖在裸机上的第一层软件,编译程序、数据库管理系统以及其他应用程序都运行在操作系统之上,操作系统为这些软件提供运行环境。
操作系统处于硬件与应用程序之间。
一、用户与硬件之间的接口
接口是两个不同部分的交接面。接口分为硬件接口和软件接口。
计算机的所有功能最终都是由硬件的操作来实现的。
应用程序在操作系统上运行,对硬件的控制过程都封装在了操作系统的核心程序中。
有操作系统对硬件的抽象,且操作系统为应用程序提供运行环境,在操作系统上编写和运行应用程序就简单了。
操作系统屏蔽了对硬件操作的细节,提供了计算机用户与计算机硬件之间的接口,并且通过这个接口使应用程序的开发变得简单、高效。
操作系统必须完成的两个主要目标如下:
(1)与硬件部分相互作用,为包含在硬件平台上的所有底层可编程部分提供服务。
(2)为运行在计算机系统上的应用程序提供执行环境。
二、资源的管理者
现代计算机特点是支持多任务,允许在同一个系统内同时驻留多个应用程序。
多个应用程序共同使用计算机软硬件资源时,需要操作系统对这些资源进行有效的管理。
操作系统的主要功能:
(1)处理机管理
程序的执行须依靠处理机,任意时刻处理机都只能执行一个程序流。
在单处理机系统中执行多个程序流,须由操作系统的处理机调度程序来管理处理机的分配,以使多个程序共享处理机,从宏观上看多个程序能同时顺利执行。
(2)内存管理
在多任务系统中,内存可被多个应用程序共同占用,如何分配内存,如何回收内存,以及完成逻辑地址到物理地址的转换,以上都是内存管理要完成的功能。
(3)设备管理
设备管理主要完成接受用户的I/O请求、为用户分配I/O设备、管理I/O缓存和驱动I/O设备等功能。
(4)文件管理
大量需长时间保存的信息以文件的形式存放在外存中操作系统通过文件管理程序完成外存空间的分配、回收、文件的按名存取、文件的组织、共享与保护等功能
第二节:操作系统的发展
操作系统的发展从时间顺序上经历了从无操作系统到单道批处理系统、多道程序系统(多道批处理系统、分时系统)、微机操作系统,实时操作系统的发展过程。
一、无操作系统
第一代计算机(1945~1955)使用电子管作为主要的电子器件,无内存,无操作系统。
1946年宾夕法尼亚大学的埃尼阿克。
二、单道批处理系统
第二代计算机(1955~1965)使用的主要电子器件是晶体管,开始使用磁性存储设备,内外存容量增加计算机运算速度,出现了早期的单道批处理系统。
三、多道程序系统
早期的多道程序系统不具有交互功能,被称为多道批处理系统。程序员提交作业后,在作业运行结束输出结果之前,无法观察和控制作业的运行。
解决这一问题的需求非常迫切,于是出现了分时操作系统。
在分时操作系统的支持下,多个用户可以同时通过不同的终端使用主机,主机可以快速响应常用命令。
终端用户感觉自己独占计算机资源,并且实现用户与主机的及时交互。
在分时系统中同时登陆系统的多个用户提交的作业轮流执行,每个作业都是运行一小段时间就把主机资源让给另一个作业运行一段时间,多个作业交替执行,分时使用主机资源。
四、微机操作系统
随着个人计算机的出现,微机操作系统应运而生。第一个微机操作系统是Intel公司的CP/M系统,用于Intel8080。
20世纪80年代形成了新DOS版本MS-DOS。
1985年微软开始构建windows操作系统。
另,还有linux,mac os等一些支持个人计算机操作系统。
五、实时操作系统
随着计算机的广泛应用,出现了各种实时操作系统。实时操作系统是支持实时计算的系统。
实时系统不仅要求系统能正确地计算出结果,而且要求必须在规定的时间内计算出正确结果。
如果计算结果正确,但是时间超过了规定时间,依然被认为计算出错。
六、批处理系统、分时系统、实时系统的特点:
1.单道批处理系统的特点
单道批处理系统内存中只有一道作业,可以自动处理作业,其特点如下:
(1)自动性
单道批处理系统使计算机能够在操作系统控制下,自动地将作业从外存装入内存运行。当作业运行完毕后,自动撤销已运行完毕的作业,并依次从外存装入下一个作业,使之运行。
(2)顺序性
存放在外存中的作业按顺序依次被装入内存运行,先进入内存的作业先运行完毕。
(3)单道性
任何时刻内存中只有一道作业。
优点:减少了等待人工操作的时间。
缺点:CPU资源不能得到有效的利用。
2.多道批处理系统的特点
在多道批处理系统中,用户所提交的作业都先存放在外存中并排成一个队列,该队列被称为“后备作业队列”。由操作系统的作业调度程序按一定策略从后备作业队列中选择若干个作业调入内容,使它们共享CPU和系统中的各种资源,以达到提高资源利用率和系统吞吐量的目的。其特点如下:
(1)多道性
(2)无序性
多个作业完成的先后的顺序与它们进入内存的顺序之间没有严格的对应关系,先进入内存的作业不一定先被调度。
(3)调度性
多道程序系统必须具有作业调度和进程调度功能。
作业调度用来从后备作业队列中选择一个或多个要被装入内存的作业。
进程调度程序用来从内存中选择一个或多个进程,使其在CPU上运行。
(4)复杂性
优点:能够使CPU和内存IO资源得到充分利用,提供系统吞吐量。
缺点:系统平均周转时间长,缺乏交互能力。
3.分时系统的特点
分时操作系统允许多个用户通过终端同时使用计算机。是多道批处理系统的自然延伸,支持多个用户任务同时驻留内存,每个用户通过终端与主机交互时都能得到快速响应。
分时系统的特点是:多路性、独立性、及时性和交互性。
优点:提供了人机交互,可以使用户通过不同终端分享主机。
缺点:不能及时接收及时处理用户命令。
4.实时系统的特点
实时系统主要用于实时控制和实时信息处理领域。
实时系统必须能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
特点如下:
(1)多路性
(2)独立性
每个终端用户独立向实时系统提出服务请求,彼此互不干扰。
(3)及时性
实时信息系统对实时性的要求是以人所能接受的等待时间来确定的。
(4)交互性
(5)可靠性
七、操作系统产品现状
1.主机操作系统
2.服务器操作系统
3.微机操作系统
4.嵌入式操作系统
第三节:操作系统的特征
现代操作系统都支持多任务,具有并发、共享、虚拟和异步性特征。
1.并发
并发是指两个或多个事件在同一时间间隔内发生,而并行是指多个事件同时发生。
2.共享
指系统中的资源可供内存中多个并发执行的进程共同使用。
资源共享有两种方式:互斥共享和同时共享。
3.虚拟
值通过某种技术把一个物理实体变成若干逻辑上的对应物。
4.异步性
内存中的每个程序何时执行、暂停,何时完成都是不可预知的。
第四节:操作系统的功能
一、内存管理
内存管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用内存,提高内存的利用率,以及从逻辑上扩充内存以实现虚拟存储。
1.内存分配
主要任务是为每到程序分配内存空间。
有静态分配和动态分配两种方式。
静态方式:内存划分成固定大小和数量的区域;
动态方式:根据进程的请求分配,内存中分区大小和数量都是动态变化的。
2.内存保护
一是使操作系统内核的空间不会被用户随意访问,以保证系统的安全和稳定;
二是确保每道用户程序都在自己的内存空间中运行,互不干扰。
3.地址映射
CPU执行程序过程中访问内存时,需要把程序的逻辑地址转变为物理地址,这个转换的过程称为地址映射。
(1)逻辑地址与物理地址
目标程序中的地址称为逻辑地址,从0开始。
内存中的单元地址称为物理地址。CPU访问内存需要将物理地址送入地址总线,以选中要访问的内存单元。
(2)地址映射
将逻辑地址转换为对应的物理地址。
4.内存扩充
借助于虚拟存储技术,从逻辑上扩充内存容量,使系统能够向用户提供比物理内存大的存储容量。
(1)请求调入功能
(2)置换功能
二、进程管理
进程使程序的执行实体。(进程的内容将在第二章讲解)
三、设备管理
主要完成用户的I/O请求,为用户分配I/O设备。
设备管理的功能:
(1)缓冲管理
(2)设备分配
(3)设备处理
由设备驱动程序来实现CPU与设备控制器之间的通信。
(4)设备独立性和虚拟设备
设备独立性功能使应用程序独立于物理设备。
虚拟设备的功能是把一个物理设备变换为多个对应的逻辑设备,使一个物理设备能供多个用户共享。
四、文件管理
1.文件存储空间的管理
为每个文件分配必要的外存空间,提高外存利用率,并能有助于提高访问文件的速度。
2.目录管理
为每个文件建立目录项并对众多目录项进行有效组织。
3.文件的读、写管理和存取控制
根据用户的请求,从外存中读取数据或将数据写入外存。
五、提供用户接口
为了方便用户使用操作系统,操作系统向用户提供了用户与操作系统之间的接口。
1.命令接口
便于用户与计算机系统的交互。
分为联机用户接口和脱机用户接口。
联机用户接口为联机用户设计
脱机用户接口为批处理作业的用户提供。
2.图形用户接口
图形化(窗口)用户接口
3.程序接口
操作系统提供给程序员的接口是系统调用。
第五节:操作系统的体系结构
一、软件体系结构简介
软件体系结构,是一个复杂软件系统的高层结构,为软件系统提供了一个结构、行为和属性的高级抽象。
明确清晰的软件体系结构是一个贯穿软件体系整个生命周期的主线,是软件设计成功的基础和关键,也是对软件大型化、复杂化趋势的一种很好的应对决策。
二、操作系统体系结构的分析
操作系统体系结构研究整个操作系统内各组成成分,以及成分间和成分内部存在的相互关系。
几种操作系统体系结构模型:
(1)简单的监控程序模型,任意时刻系统中只能运行一个任务,整个系统的所有功能全部集中在一个单一模块中。
(2)单体结构模型,是软件工程出现以前的早期操作系统及目前一些小型操作系统采用的体系结构,所有的软件和数据结构都放在在一个逻辑模块中,对外层的用户程序提供一个完整的内核界面——系统调用。
具有单体内核结构的典型操作系统有UNIX,MS-DOS,Linux等。
(3)层次结构模型,将操作系统分解为多个小的。容易理解的层,系统功能被隔阂在不同的层中,每一层提供对系统功能的部分抽象,然后采用单向调用的顺序,形成一连串彼此连续的对系统功能的“抽象串”。最终形成对整个系统的完整抽象。
(4)客户/服务器模型与微内核结构,把传统操作系统内核中的一些组成部分放到内核之外作为一个独立的服务器进程来实现,在微内核中只保留了操作系统最基本的功能。
目前微内核的操作系统——是向通用方向发展,如Windows NT,另一个是嵌入式操作系统。
(5)动态可扩展结构模型,在运行的过程中,能够动态地实现系统行为扩展的结构,也可称之为弹性结构。