操作系统(1)概论

来源:互联网 发布:建筑长宽数据 编辑:程序博客网 时间:2024/05/30 22:49

1、在操作系统中有以下重要概念:

内存管理机制、进程线程调度、信号、内核对象、系统调用、协议栈的实现等,以及理解如何寻址内存、如何管理虚拟存储、如何实现中断等,深刻理解和掌握这些是很重要的。

2、操作系统层是最靠近硬件的软件层,负责管理和控制计算机硬件并对其作首次扩充和改造,主要做好资源的调度和分配、信息的存取与保护、并发活动的协调与控制工作,把上层的支撑软件和应用软件与计算机硬件隔离开来,为其运行提供良好的基础和强有力的支撑。

3、OS有权分配资源,而其他程序只能使用资源。OS实现资源管理机制,运行应用程序提供资源管理策略。
4、OS的资源管理技术:资源管理、资源虚化、资源抽象、组合使用抽象和虚化技术。

5、OS中的基础抽象:进程、虚存、文件。

计算机系统的物理资源分为两大类:计算类、存储及接口类。

1)进程抽象:

进程是对于进入贮存的当前运行程序在处理器上操作的状态集的一个抽象,他是并发和并行操作的基础。每个进程都是一个自治执行单元,执行时需要使用计算机资源,至少需要处理器(包括程序计数器、通用寄存器、堆栈指针寄存器和其他寄存器)和主存。
(2)虚拟抽象:

物理主存被抽象成虚拟主存,给每个进程造成一种假象,认为它正在独占和使用整个主存。
进程可以获得一个偌大的来内需地址空间,其中存放着可执行程序和数据,可以使用虚拟地址来引用物理主存单元。而虚拟存储器是通过结合对主存和磁盘的管理来实现的。
(3)文件抽象:

文件是磁盘等设备的抽象,通过将文件中的字节映射到存储设备的物理块中来实现文件抽象。程序员通过创建打开读写和关闭操作类控制文件,而磁盘的所有I/O操作细节都对用户隐藏起来。

OS有两项基本任务:防止硬件资源被失控的应用程序滥用;屏蔽复杂的硬件操作细节。
以上三种抽象存在一种包含关系,文件是对设备的抽象,虚寸是对主存和设备的抽象,进程是对处理器、主存和设备的抽象。而进程是相对独立的自治单元,进程之间仅能通过内核锁提供的有限数目的原语或系统调用进行交互。

每一个应用程序运行在自己的虚拟机上,在一台虚拟机上运行的程序称为“进程”。

6、虚拟计算机——虚拟机是有操作系统通过共享硬件资源的方式来实现的,它定义进程运行的逻辑计算环境。

(1)虚处理器没有中断。
(2)每个进程都有自己的虚处理器,用以实现多进程的并发执行。
(3)OS禁止某些特权指令在虚处理器上执行。

进程通过使用系统调用可以做到:创建新进程(虚拟机),与其他进程(虚拟机)进行通信,申请资源,操作文件,执行I/O操作等。

7、操作系统的作用:

1)作为用户接口和服务提供者。
2)作为扩展机和虚拟机。                        

3)作为资源的管理者和控制者。

8、处理器管理:

对处理器的管理最终归结为对进程和线程的管理和调度,包括:进程控制和管理、进程同步和互斥、进程通信、进程死锁、线程控制和管理、处理器调度(又分为高中低级调度)
9、存储器管理功能:

主存分配、地址转换与存储保护、主存共享、存储扩充。
10、设备管理功能:

通过设备中断处理、提供缓冲区管理、提供设备独立性实现逻辑设备到物理设备之间的映射、设备的分配和回收、实现共享型设备的驱动调度、实现虚拟设备。
11、文件管理任务:

提供文件的逻辑组织和物理组织方法、提供文件的存取和使用方法、实现文件的目录管理、实现文件的共享和安全控制、实现文件的存储空间管理。

12、OS的主要特性
(1)并发性:

是指两个或两个以上的活动或事件在同一时间间隔内发生。当一个程序正在等待执行I/O操作时,就要求它让出CPU,调度另一个程序占有CPU运行。
并行活动一定是并发的,反之并发活动文未必是并行的,并行性是并发性的特例,而并发性是并行性的扩展。
(2)共享性:

指计算机系统中的资源可以被多个并发执行的程序共同使用,而不是被某个程序独占。主要有三方面:

1)透明资源共享:

必须妥善处理资源隔离和授权访问。存储器隔离机制允许两个应用程序同时加载到主存的不同区域,但是任何虚拟机都不能访问其他虚拟机的主存块;处理器隔离机制强制虚拟机串行地共享物理处理器。

 2)显式资源共享:

一个程序在使用某种资源时,其他欲访问此资源的程序必须等待,仅当占有者访问完毕并释放资源后,才允许资源呗再次分配。

(3)异步性:

又称随机性,并发程序是以异步方式运行的。OS必须保证只要运行环境相同,多次运行同一程序,都会获得完全相同的计算结果。

13、程序接口与系统调用
(1)系统调用:

内核提供一系列具备预定功能的内核函数,通过一组称为系统调用的接口呈现给用户。内核的主体是系统调用的集合,可以将内核看成特殊的公共子程序。
程序的运行空间分为内核空间和用户空间。应用程序不能直接访问内核数据,也无法直接调用内核函数,它们只能在用户空间操纵用户数据,调用用户空间函数。系统调用是一种中介角色把用户和硬件隔离开来,应用程序只有通过系统调用才能请求系统服务并使用系统资源。

(2)API、库函数和系统调用:

一个库函数(封装函数)就是一种API,它介于应用程序和操作系统之间。API是一个函数定义,说明如何获得给定的服务。Windows操作系统不会公开系统调用,仅提供以库函数形式定义的API,称为Win32 API。库函数属于应用程序,在用户态运行,系统调用属于系统程序,在核心态运行。

(系统调用的实现要点)一是编写系统调用服务函数,二是设计系统调用的入口地址表,三是陷阱处理机制。

14、内核:

是一组程序模块,通常驻留在内核空间,运行与核心态,具有访问硬件设备和所有主存空间的权限,是仅有的能够执行特权指令的程序。内核可以控制所有进程。

(1)内核的功能:资源抽象、资源分配、资源共享。
(2)属性:内核是由中断驱动的,是不可抢占的,内核部分程序在屏蔽中断状态下执行,内核可使用特权指令。

15、进程线程:

进程是系统进行保护和资源分配的单位,线程则是进程中的一条执行路径,允许每个进程中有多个线程,而线程是系统调度的独立单位。
16、管程:

是管理共享资源的一种同步机制,对管程的调用表示对共享资源的请求与释放,管程可被多个进程或管程嵌套调用,但是它们只能互斥地访问管程。
17、类程:

用于管理私有资源,可以看成是子程序概念的一种扩充。
18、实时OS:

由4部分组成:数据采集、加工处理、操作控制、反馈处理。三种典型:过程控制系统、信息查询系统、事务处理系统。

 

 

 

原创粉丝点击