第一章:操作系统概论
第一节:操作系统的概念
一、计算机系统
1、计算机系统定义:是按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。
2、计算机系统构成:硬件系统和软件系统。
3、硬件系统组成:中央处理器(CPU)、主存储器、辅助存储器、各种输入/输出设备。
二、操作系统的定义(管理资源、控制程序、提供服务)
1、操作系统定义:★ 在计算机中,集中了资源管理功能、控制程序执行、并向用户提供各种服务功能,使用户更灵活、方便、有效的使用计算机的软件称为操作系统。
2、操作系统的三大作用:★
- 资源的管理者、
- 向用户提供各种服务、
- 对硬件机器的扩展
三、操作系统的特征
1、并发性:是指在计算机系统中同时存在着若干个运行着的程序,从宏观上看,这些程序在同时向前推进、
2、共享性:操作系统需与多个用户共享系统中的各种资源,比如CPU、内存、外部设备等。
3、随机性:操作系统不能对所运行的程序的行为以及硬件设备的情况作出事先的假定。即操作系统不能预知程序什么时候运行,什么时候因为什么原因暂停,什么时候能得到资源继续运行,什么时候运行结束等,这些都是不可预知的。
四、研究操作系统的观点
1、软件的观点:
操作系统是一种大型系统软件,它是多种功能程序的集合。有外在特性和内在特性。
外在特性:接口
内在特性:与硬件交互
2、资源管理的观点:
操作系统负责登记谁在使用什么样的资源,系统中还有哪些资源空闲,当前响应了谁对资源的请求,以及回收那些不再使用的资源等。
3、进程的观点:
把操作系统看做由多个同时独立运行的程序和一个对这些程序进行协调的核心。
侧重于分析系统各部分的并行工作,研究处理各项管理任务的分割以及这些管理任务相互之间的关系,比如:竞争关系、进程通信。
4、虚机器的观点:
在操作系统的支持下,用户不需要直接使用硬件机器(裸机),而是使用操作系统提供的各种手段来控制和使用计算机。
例如,把所有设备和文件的操作抽象为统一的打开、关闭、读、写等,用户感觉不到底层的操作差异。
把操作系统的全部功能,包括系统调用、命令、作业控制语言等、称为操作系统虚机器。
5、服务提供的观点:
从用户的角度、站在操作系统之外观察操作系统。认为该服务提供者为用户提供了比裸机功能更强、服务质量更高、更方便灵活的虚拟机。
五、操作系统的功能(谐音:进村拥吻蛇)
1、进程管理
①进程管理的实质:对中央处理器进行管理。或者称为处理机管理。
②多道程序技术:多个程序同时放入内存,如果一个程序因为等待某个条件而不能运行,就把处理器专用权转交给另一个可运行程序。
③进程的引入:为了描述多道程序的并发而引入
④进程的简单定义:一个程序的运行过程
进程管理的内容:进程控制、进程同步、进程间通信、调度。
2、存储管理
(1)任务:管理计算机内存的资源
(2)功能:
①:内存的分配与回收:当多个程序共享有限的内存资源时。要考虑如何为多个程序分配有限的内存空间,以及程序运行完毕还需要内存回收。
②:内存保护:存储在内存中的多个程序和数据应该彼此隔离、互不干扰。
③:内存扩张:将辅助存储器作为内存的扩充空间
3、文件管理
(1)任务:有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题、以便用户方便、安全地访问文件。
(2)功能:
①:文件存储空间的管理
②:目录管理
③:文件系统的安全性
4、设备管理
(1)设备管理的含义:指计算机系统中除了处理器和内存以外的所有输入、输出设备的管理。
(2)功能:负责外部设备的分配、启动和故障处理
(3)采用的技术:中断技术、通道技术、虚拟机技术、缓冲技术,尽可能发挥设备和主机的并行能力。
5、用户接口
(1)从用户观点看,操作系统是用户与计算机之间的接口。
(2)任务:为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统高效地运行。
第二节:操作系统体系结构
一、Windows操作系统的体系结构
1、内核:线程调度、陷入处理和异常调度、中断处理和调度、多处理器同步、供执行体使用的基本内核对象。
2、硬件抽象层HAL:系统可移植性的关键部分,为运行在Windows操作系统上的硬件平台低级接口,隐藏了各种与硬件有关的细节,如I/O接口等专用的和依赖于计算机平台的函数。
3、执行体:属于内核,以系统函数的形式提供了系统的服务,可通过Win32API进行访问。
4、系统进程和系统线程:执行系统代码。
二、UNIX操作系统的体系结构
1、内核层:
是操作系统管理和控制中心,常驻内存。有两种接口:内核与硬件的接口和内核与shell的接口。
内核本身分为两个部分:进程控制子系统和文件子系统。
2、系统层
内核层与应用层之间,供程序员并发调用,包括进程管理、文件管理、终端状态。
3、应用层:
面向用户操作的界面
三、Linux操作系统的体系结构
四个部分:内核、shell。文件系统和应用程序
四、Android操作系统的体系结构
四个部分:从高到低:应用程序层、应用框架层、系统运行库层和Linux内核层。
第三节:操作系统的发展
1、手工阶段
2、监控程序
3、多道批处理
4、分时与实时操作系统
5、UNIX通用操作系统
6、个人计算机操作系统
7、Android操作系统
第四节:操作系统的分类
一、批处理操作系统
1、基本工作方式
(1)用户将作业交给系统操作员
(2)系统操作员将许多用户的作业组成一批作业, 输入到计算机系统中,在系统中形成一 个自动转接的连续的作业流
(3) 启动操作系统
(4)系统自动、依次执行每个作业
(5)由操作员将作业结果交给用户
2、特点与分类:
特点:成批处理,用户不能干预自己作业的运行。
目标:系统资源利用率高,作业吞吐率高。
分类:简单批处理和多道批处理。
3、设计思想:
在监控程序启动之前,操作员有选择地把若干个作业合并成一批作业,将这批作业安装在输入设备上,然后启动监控程序。监控程序将自动控制这批作业的执行。
作业的运行与衔接都由监控程序自动控制,从而有效地提高了作业运行的效率。
4、作业控制说明书:
作业控制说明书是由作业控制语言写的一段程序,他通常存储在被处理作业的前面。
作业的运行由作业说明书来传递给监控程序,运行过程中,监控程序读入并解释作业说明书,以控制各个作业步的执行。
5、一般指令和特权指令
操作系统的运行模式:用户模式和特权模式
处理器的状态:目态和管态
机器指令:一般指令和特权指令
系统调用:用户程序不能直接使用特权指令,它们必须向操作系统请求这些功能,这些功能通过系统调用完成。
6、系统调用的过程
(1)当系统调用发生时,由中断或异常处理程序,把控制流程转移到监控程序内的一些特定位置,处理机模式变为特权模式。
(2)由监控程序执行被请求的功能
(3)恢复现场,运行模式变为用户模式,控制权交给用户程序。
7、SPOOLing技术
是多道程序设计的关键技术之一,也称为假脱机技术。
二、分时系统
1、基本工作方式
在分时系统中,一主机连接了若干个终端,每个终端可由一个用户使用。用户通过终端交互地向系统终端提出命令请求,系统接收用户命令后,采用时间轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
2、特点:
- 多路性
- 交互性
- “独占性”
- 及时性