一个NotionNext搭建的博客
数据库系统概论
大数据原理与应用
javaWeb应用开发基础教程
python
毕业设计
大数据技术综合应用
实训-航空数据系统
java面向对象程序设计
数据结构
算法分析与设计
SPARK
Python爬虫大数据采集与挖掘
云计算
概率论与数理统计
数字逻辑
计算机网络
计算机组成原理
linux
操作系统
人工智能导论
数据仓库与数据挖掘
数据可视化
大数据安全与隐私保护
c语言
C++
[第一章]操作系统引论
概念操作系统类型操作系统的目标和作用目标作用发展动力操作系统的发展过程操作系统的产生未配置OS的计算机系统(40年代)单道批处理阶段(50年代)多道批处理(60年代初)分时系统(60年代中)实时操作系统(60年代中)微机操作系统分类操作系统的基本特征并发进程程序、进程、线程的区别和联系共享虚拟异步特征之间的关系操作系统的主要功能处理机管理主要任务主要功能处理机的主要功能存储器管理主要任务主要功能设备管理主要任务主要功能文件管理主要任务主要功能提供友好的用户接口现代操作系统新增功能操作系统结构无结构OS模块化结构OS分层式结构OS微内核结构客户/服务器模式面向对象的程序设计技术微内核基本概念基本功能优点缺点其他内核操作系统的运行系统调用基本概念系统调用的目的与一般过程调用的区别类型课后作业
概念
操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各种作业进行调度,以及方便用户使用的程序集合。
操作系统英文:Operating System 简称OS
虚拟机角度
- 等价扩展计算机,更易编程
资源管理角度
- 跟踪资源,满足各个资源请求
操作系统类型
传统操作系统、线代操作系统
- 硬件大小
- 微型机、小型机、大型机
- 资源共享的级别
- 单任务、多任务、单用户、多用户、单道、多道操作系统
- 多任务、单用户→windows
- 单任务、单用户→dos
- 多任务、多用户→Unix
- 允许的交互类型
- 批处理、分时处理、个人机、实时操作系统
操作系统的目标和作用
目标
- 方便性
- 有效性
含义:提高资源利用率、提高系统吞吐量
- 可扩充性
- 开放性
作用
- 用户观点
- 用户和计算机硬件之间的接口
- 命令方式、图形方式、系统调用来使用计算机
- 资源管理观点
- 计算机系统资源的管理者
- 实现了对计算机资源的抽象
发展动力
- 不断提高计算机资源的利用率
- 方便用户
- 硬件提升
- 计算机体系结构的不断发展
- 新的应用需求
操作系统的发展过程
操作系统的产生
未配置OS的计算机系统(40年代)
- 人工操作
- 联机输入输出技术
- 主机控制输入输出
- 脱机输入输出技术
- 主机只和磁盘打交道,外围机控制输入输出

单道批处理阶段(50年代)
- 单道
- 内存中只有一道程序运行
- 批处理
- 不需要交互的周期性任务
- 每一批选一道作业进入内存一直到一批完成
- 特点:自动、顺序、单道、专职操作员、监控程序、开发过程可以使用高级语言
- 优点:作业转换时间减少,运行效率高
- 缺点:单道、批处理、一个操作系统只能在一台计算机上运行
多道批处理(60年代初)
- 动力:提高资源利用率和系统吞吐率
- CPU不必等待I/O可以执行其他程序
- 特点:多道、宏观并行、微观串行
- 优点:资源利用率高,系统吞吐量大
- 缺点:平均周转时间长、无交互能力
- 需解决:作业调度、CPU(/进程)调度、内存(/存储器)管理、设备管理、文件管理
分时系统(60年代中)
多终端(键盘显示器),多用户,分时使用,共享主机资源
- 动力:实现交互性
- 关键问题:如何让用户和自己的作业进行交互
- 解决方式:多用户分时使用,及时接收和及时处理。
- 工作过程:类似并发,多用户分得时间片的CPU使用权
- 及时接收和及时处理:输入缓冲区、作业进内存,多路复用,轮转运行
- 特征
- 多路性:同时性
- 独立性
- 及时性:用户请求能及时响应
- 交互性:可人机交互
- 多道和分时是现代操作系统中的两大主题
实时操作系统(60年代中)
正确、及时
- 特征:高响应、高可靠
- 分类
- 周期性
- 周期性实时任务、非周期性实时任务
- 截至时间
- 硬实时任务、软实时任务
- 分时和实时特征比较
- 多路性、独立性相同
- 及时性、可靠性,实时更强
- 交互性,分时更强
- 三种基本的操作系统
批处理、分时、实时
微机操作系统分类
- 多任务、单用户操作系统→windows
- 单任务、单用户操作系统→dos
- 多任务、多用户操作系统→Unix
操作系统的基本特征
并发
相对于并行和串行
进程
系统中能独立运行并作为资源分配的基本单位,由机器指令、数据、堆栈、进程控制块(PCB)组成,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。
程序、进程、线程的区别和联系
一个程序可以建立多个进程,一个进程可以建立多个线程
共享
系统中的资源可以供多个并发的进程共同使用
- 互斥共享:某一时间段内,只允许一个进程访问
- 临界资源:系统中大多数物理设备,一段时间内仅需要一个进程访问
- 同时访问方式:一段时间内,允许多个进程访问
- 并发和共享是多用户(多任务)OS的两个最基本的特征,互为存在的条件
虚拟
OS通过时分复用或空分复用,把一个物理实体变为若干个逻辑上的对应物
- 时分复用
- 虚拟处理机:通过时分复用,虚拟成多台逻辑上的处理机
- 虚拟设备:通过时分复用,虚拟成多台I/O设备
利用某设备为一用户服务的空闲时间,又转去为其他用户废水
- 空分复用
- 对存储器空闲空间进行划分,分区域存放和运行多道程序,提高内存利用率
- 虚拟存储技术,实现内存的时分复用
异步
对不可预测的事件进行响应
- 运行速度不可知
- 难以重现系统某时刻的状态
- 进程同步机控制下,运行环境相同,作业多次运行得到的结果是完全相同的
特征之间的关系
- 并发和共享是OS最基本的特征
- 并发和共享互为存在的条件
- 虚拟性以并发性和共享性为前提
- 异步性是并发性和共享性的必然结果
操作系统的主要功能
处理机管理
主要任务
处理机分配和运行以进程为单位
主要功能
- 进程控制
- 创建进程、撤销结束进程、控制进程的转换
- 进程同步
- 进程互斥方式
- 进程同步方式
通过进程同步机,协调多个进程
- 进程通信
- 调度
- 作业调度:从后备队列中按算法选出若干作业,为其分配资源,从外存调入内存,建立进程,插入进程就绪队列。
- 进程调度:从进程就绪队列中按算法选出一个进程,为其分配处理机,设置运行现场使其运行。
处理机的主要功能
创建和撤销进程、对进程的运行进行协调、实现进程间的信息交换、按算法把处理机分配给进程
存储器管理
主要任务
提供存储器利用率
主要功能
- 内存分配
- 动态分配、静态分配,为程序分配空间
- 减少碎片空间
- 为正在运行的程序申请附加内存
- 内存保护
- 只在自己内存空间运行,互不干扰
- 不允许用户程序刚问操作系统程序和数据
- 地址映射
- 将地址空间中的逻辑地址转化为内存空间中对应的物理地址
- 存储扩充
- 请求调入功能
- 除了部分用户程序和数据,都要调用才能进内存
- 置换功能
- 内存不够时,将无用程序和数据调至硬盘
借助虚拟存储,逻辑上扩充内存,便于多程序并发运行
设备管理
种类繁多,速度不匹配,要求并行工作
主要任务
- 完成I/O请求,分配I/O设备,完成I/O设备
- 提高CPU于I/O设备的利用率
主要功能
- 缓冲管理
- 为设备提供缓冲区
- 设备管理
- 根据I/O请求和资源情况,分配设备
- 设备处理
- CPU向控制器发出I/O命令,并接收控制器发出的中断请求
文件管理
主要任务
对用户文件和系统文件管理,方便用户使用,保证安全性
主要功能
- 文件存储空间的管理
- 目录处理
- 为每一个文件建立目录项包括文件名、属性、磁盘物理位置等,实现按名存取及文件共享
- 文件的读写管理和保护
- 读写管理
- 文件保护
提供友好的用户接口
- 用户接口
- 联机用户接口
- 脱机用户接口
- 用户图形接口
- 程序接口
- 访问系统资源设置的,用户系统取得OS服务器的唯一途径
现代操作系统新增功能
- 系统安全管理
- 面向网络的功能和服务
- 多媒体功能
操作系统结构
- 软件工程:采用工程的概念、原理、技术和方法,来开发与维护软件,其目的是为了解决在软件开发中所出现问题
- 软件:计算机运行时,能提供所要求的功能和性能的指令和程序集合,该程序能够正确地处理信息的数据结构;作为规范软件,还应具有描述程序功能需求以及程序如何操作使用的文档
无结构OS
- 庞杂
模块化结构OS
- 难以满足实际需求
- 无序性
分层式结构OS
- 优点
- 易保证正确性
- 扩充、维护
- 缺点
- 效率低,分层单向依赖,需要穿过多个层次
微内核结构
客户/服务器模式
面向对象的程序设计技术
微内核基本概念
- 足够小的内核
- 为常驻内存
- 微内核包含
- 与硬件密切相关的部分
- 一些较基本的功能
- 客户与服务器之间的通信
- 基于客户/服务器模式
- 应用“机制与策略分离”原理
- 机制
- 策略
- 微内核OS中,机制在微内核中
实现某一功能的具体执行机构,在系统基层
借助算法来实现功能优化,在系统高层
- 采用面向对象技术
- 用户提供各种服务器的多个服务器(进程),运行在用户态,即目态
- 微内核:运行在核心态,即管态
- 原则:硬件相关、机制与策略、频繁使用
基本功能
- 进程(线程)管理
- 进程通信、切换、调度,多处理器之间的同步
- 低级存储器管理
- 中断和陷入管理
优点
- 提高可扩展性
- 增强系统可靠性、可移植性
- 提供对分布式系统
- 通入面向对象技术
缺点
- 低效
- 在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换。
其他内核
- 单内核
很大的进程,内部被分为多个模块,模块间通讯直接调用其他模块中的函数,不靠消息
- 宏内核
整个操作系统是一个运行在核心态的单独的a.out文件,这个二进制文件包含进程管理,内存管理,文件系统以及其他
操作系统的运行
- 硬件支持
- 引导程序位于固件
- 执行程序位于内存
- 程序位于外存
- 事件:硬件中断或软件中断引起
- 指令:CPU执行
- 操作系统内核
- 支撑功能
- 中断处理
- 时钟管理
- 原语管理
- 资源管理
- 进程管理、存储器管理、设备管理
- 处理机的双重工作模式
- 特权指令
- 在内核态运行的指令
- 内核态(管态):状态位为0
- 用户态(目态):用户态为1
- 硬件共模式位
- 中断与异常
- 中断:处理器接收到来自硬件或软件的信号,提示发生了某个事件,应予以注意,这种情况就称为中断
- 是由硬件通过系统总线发送信号到CPU触发的。
- 异常/陷阱:由软件引起
系统调用
应用程序请求OS内核完成某功能时的一种过程调用;用户与内核的接口。
基本概念
系统调用的目的
使应用程序可以通过它间接调用OS内核中的相关过程,取得相应的服务。
与一般过程调用的区别
- 运行在不同的系统状态
- 状态的转换
- 返回问题
- 嵌套调用
类型
- 进程控制
- 进程通信
- 文件操纵
- 设备管理
- 信息维护
课后作业
准备作业本,拍照上传
- 第一次作业
P37
123456679
10
选做:
P38
计算题
26题
- 第二次作业
P37
11 12 13 17 18 19 20 21 22
P37
1 2 25 26 27
25.
单道
30+40+10+60+30+10+20+40+20=260(ms)
30 40 10
60 30
20 40 20
多道
30+60+30+40+20 =180(ms)
26.
P1 60 80 20
P2 120 40 40
60+120+40+40=260(ms)
Prev
如何建立自己的linux系统
Next
[第二章]进程的描述与控制
Loading...