第一章 操作系统概观
1.操作系统定义:
操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。
2.操作系统目标
- 方便用户使用
- 扩大机器功能
- 管理系统资源
- 提高系统效率
- 构筑开放环境
3.资源管理的主要技术
复用 虚化 抽象
3.1复用
操作系统让众多进程共享有限的物理资源
- 空分复用:资源可以进一步分割成更多和更小的单位供进程使用
- 时分复用:进程可以在一个时间片内以独占方式使用整个物理资源
进程能够空分复用主存资源进入主存
进程可以时分复用处理器以执行代码
3.2资源虚化
本质是对资源进行转化、模拟或整合,把一个物理资源转变为逻辑上的多个对应物。
空分复用和虚化的比较
- 空分复用所分割的是实际存在的物理资源
- 虚化则实现假想的虚拟同类资源
3.3资源抽象
资源复用和资源虚化的主要目标是解决物理资源数量不足的问题,资源抽象则用于处理系统的复杂性,重点解决资源的易用性。
- 指通过创建软件来屏蔽硬件资源的物理特性和接口细节
- 简化对硬件资源的操作、控制和使用
- 不考虑物理细节,对资源执行操作
4.操作系统的功能
- 处理机管理
- 存储管理
- 设备管理
- 文件管理
- 网络与通信管理
- 用户接口
5.操作系统的主要特性
- 并发
- 共享
- 异步
- 虚拟
5.1并发
并发性:两个或两个以上的时间或活动在同一时间间隔内发生
并行性:两个或两个以上的时间或活动在同一时刻发生。
5.2共享
操作系统中的资源可被多个并发执行的进程所使用。分为互斥访问和同时访问。
5.3异步
异步性给系统带来潜在危险,有可能导致与时间有关的错误。
5.4虚拟
虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。
6.多道程序设计
多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行交替计算的方法。从宏观上看,多道程序并发运行,它们都处于运行过程中,但都未运行结束。 从微观上看,多道程序的执行是串行的,各道程序轮流占用CPU,交替地执行。
根本目的:提高CPU使用率,充分发挥计算机系统部件的并行性。
缺点:增长作业周转时间
7.系统调用
系统调用还是为了扩充及其功能、增强系统能力、方便用户使用而在内核中建立的过程。它是用户程序或其他系统程序获得操作系统服务的唯一途径。
8.系统调用与过程(函数)调用的区别
- 调用形式不同:过程(函数)使用一般调用指令,其转向地址包含在跳转语句中,但系统调用不包含处理程序入口,仅仅提供功能号,按功能号调用。
- 被调用代码的位置不同:在过程(函数)调用中,调用程序和被调用代码在同一程序内,经过连接编译后作为目标代码的一部分。当过程(函数)升级或修改时,必须重新编译连接。系统调用的处理代码在调用程序之外(在操作系统中),系统调用处理代码升级或修改时,与调用程序无关。
- 提供方式不同:过程(函数)往往由编译系统提供,不同编译系统提供的过程(函数)可以不同;系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量就固定不变了。
- 调用的实现不同:程序使用一般机器指令(跳转指令)来调用过程(函数),是在用户态运行的;程序执行系统调用,是通过中断机构来实现的,需要从用户态转变到核心态,在管理态执行。
9.内核
9.1概念
内核是提供支持系统运行的基本功能的一组程序模块。内核运行于核心态,具有访问硬件设备和主存空间的权限,是仅有的能够执行特权指令的程序。
9.2功能
- 资源抽象 用软件抽象硬件资源,评比低层的物理细节
- 资源分配 把所抽象的各种资源分配给进程,并负责回收
- 资源共享 根据资源的类型和特性,提供不同的机制以确保进程获得所需资源,允许进程共享资源并提供资源共享的同步和互斥机制
9.3特性
- 内核是由中断驱动的。
- 内核的执行是连续的(不可抢占)。
- 内核在屏蔽中断状态下执行。
- 内核可以使用特权指令。