1 操作系统概述
type
status
date
slug
summary
tags
category
icon
password
1.1 操作系统的主要功能
操作系统:计算机系统中的一个系统基础软件,它是这样一些程序模块的集合:它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能及相应接口,使用户能够灵活、方便和有效地使用计算机,使整个计算机系统能高效地运行。

1.2 操作系统的演化过程

串行处理
特点:用户程序独占所有资源,效率极低,作业准备时间长、必须人工调度
没有操作系统
简单批处理系统
常驻监控程序、非常驻监控程序
需要考虑:
- 内存保护:不能修改监控程序所在的内存
- 特权指令:只能由监控程序执行的指令
- 中断:使用监控程序的合理方式
- 定时器:防止作业独占系统
运行模式:用户模式、内核模式
多道批处理系统
I/O设备速度太慢,处理器常常处于空闲状态
中断和DMA等机制的出现,允许在外围计算机的控制下实现程序和数据的自动输入输出。
系统中同时驻留多个作业,共享内存,共用CPU
优点:提高了CPU的利用率、内存和I/O设备的利用率、系统的吞吐率
特征:无序性、需要内存管理、需要调度算法
分时系统
实现了人机交互
区分多道批处理系统:
- CPU在程序间切换设定了固定时间:时间片
- 出现“存储器调度”:当作业多、主存不能同时容下时,则程序在完成之前,可以写回磁盘上,需要时再读回
嵌入式操作系统
实时操作系统大多是嵌入式操作系统,但嵌入式操作系统并不全是实时的。
嵌入式系统在硬件资源、可靠性、安全性、温度湿度、软硬件可裁剪方面都有严格的要求。
特点:系统内核小、专用性强、系统精简、多任务的操作系统、需要开发工具和环境
实时操作系统
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
核心特点:精确的任务调度、可预测的响应时间、稳定性和高可靠性
分布式操作系统(云操作系统)
若干个计算机可相互协作共同完成一项任务,分布式系统资源为所有用户共享,各个计算机间相互通讯、数据传输
课堂练习

D

C

BCD

BD

B
1.3 主要成就
进程
- 一个正在执行的程序
- 计算机中正在运行的程序的一个实例
- 可分配给处理器并由处理器执行的一个实体
- 由一个按顺序执行的程序,一个当前状态和一组相关系统资源所表征的活动单元
除了程序和数据外,执行上下文也成为进程的组成部分,又称为进程状态,通过这种特定的数据结构来确保进程的协调和合作。
内存管理
- 进程隔离:存储空间相互独立
- 自动分配和管理:按需动态分配,对程序员透明
- 支持模块化程序设计
- 保护和访问控制
- 长期存储
虚拟内存机制
- 允许程序以逻辑方式访问存储器,而不考虑物理内存上可用的空间数量
- 满足多个进程同时驻留在内存中的需求
- 分页系统:固定大小的连续块称为页,虚地址由页号和页中偏移量组成,分页系统完成由虚地址到实地址的映射
- 缺页处理
信息保护和安全
- 可用性:保护系统不被中断
- 保密性:保证用户不能读取未授权访问的数据
- 数据完整性:保护数据不被未授权修改
- 认证:涉及用户身份的正确认证和消息或数据的合法性
调度和资源管理
- 公平性
- 有差别的响应: 区分不同作业类别,试图做出满足所有要求的分配和调度决策,并动态进行决策。
- 有效性:希望获得最大吞吐量和最小响应时间,容纳尽可能多的用户。
1.4 现代操作系统的特征
微内核体系结构
提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口
将通常与内核集成在一起的系统服务层被分离出来,变成可以根据需求加入的选件
仅将最基本的功能作为内核,包括最小的进程管理、内存管理和通信功能,其他功能作为系统程序或用户程序出现。采用CS模式(client-server),微内核经常扮演消息传递的功能。
很多嵌入式操作系统都是这种结构,微内核嵌入式操作系统几乎都支持定制裁剪
多线程
把执行一个应用程序的进程划分为可以同时运行的线程,线程是可分派的工作单元
多线程对于执行许多本质上独立且不需要串行处理的程序非常有用
对称多处理SMP
多个处理器共享内存和I/O设备,互联,所有处理器可以执行相同的功能
操作系统可调度进程或线程到所有的处理器上运行
操作系统负责在多个处理器间调度进程和线程,并负责处理处理器间的同步
分布式操作系统
多级系统好像具有单一存储空间和统一的文件系统
面向对象的设计
定制操作系统
1.5 虚拟机和虚拟化
虚拟化:通过在软件和物理硬件之间提供一个软件转换层(称为抽象层)来管理计算机资源的一组技术。
虚拟机
虚拟机使单个PC或服务器能够同时运行多个操作系统或单个操作系统的多个会话,某些虚拟机可以具有特定硬件平台的特征
虚拟化容器
云计算的底层基石是虚拟机技术,使用虚拟机技术将硬件资源切分,以支持不同的用户。
然而操作系统也占用了很多资源,为了避免将资源浪费在操作系统上,就发明了容器
容器技术只隔离应用程序的运行时环境,但容器之间可以共享同一个操作系统,这里的运行时环境指的是程序运行依赖的各种库以及配置,容器更加轻量级且占用的资源更少
Loading...