第一章 计算机系统 - 操作系统
主题 操作系统概述 操作系统主要功能 – 进程管理 – 存储管理 – 设备管理 – 文件管理
什么是操作系统 操作系统是特殊的软件 1 )管理硬件资源 2 )为上层应用软件提供服务
操作系统的功能 为上层应用程序提供服务 – 提供应用程序执行环境 – 提供应用开发接口( API ) – 为用户提供使用界面 硬件资源管理 – 计算资源、存储资源(内存、 外存)、 I/O 资源 – 负责资源的注册、状况的记录、 分配、回收以及维护其完整性 等
操作系统特性 操作系统直接跟硬件打交道 – 运行版本使用机器语言 – 通常使用 C 语言编写 – 不同型号的硬件设备使用的操作系统版本不同 IBM RS6000 : AIX ( Unix ) Sun 小型机: Solaris ( Unix ) X86 服务器: Windows 2008 Server 苹果笔记本: Mac10
操作系统的发展史 (1) 第一代 (1945~1955)—— 电子真空 管和插件板,机器语言、没有 OS 、 体积大速度慢。
操作系统的发展史 (2) 第二代( 1955~1965 ) — 晶体管和批处理, –Fortran 和汇编 – 按批处理作业 – 有监控程序
操作系统的发展史 (3) 第三代( 1965~1980 ) — 集成电路 和多道程序 – 多道程序( Multiprogramming) – 联机即时外设操作 (Spooling) IBM 360 OS – 布鲁克斯 1999 年图灵奖 – 《人月神话》
微机操作系统 第四代( 1980~ ) — 微型机时代 – 大规模集成电路 –20 世纪 70 年代 - 第一个微机操作系 统, CM/P(Control Program/ Monitor ) – 成熟的操作系统产品 UNIX 、 MS- dos – 二十世纪 90 年代后 网络 OS 、分布式 OS
常见操作系统 DOS Micorsoft Corp. Windows Micorsoft Corp. Unix Dennis Ritchie Linux Linus Torvalds Mac OS & iOS Apple Corp. Android Google Corp.
主题 操作系统概述 操作系统主要功能 – 进程管理 – 存储管理 – 设备管理 – 文件管理
操作系统的功能 处理机管理 存储管理 文件管理 设备管理
进程管理 将处理器资源分配给多个进程使用 – 现代操作系统中归结为 进程管理 – 进程:操作系统分配资源的基本单位
进程定义( Process ) 行为的一个规则叫做程序,程序在处理机上执行时所发 生的活动称为进程( Dijkstra) 。 进程是这样的计算部分,它是可以和其它计算并行的一 个计算。 (Donovan) 进程(有时称为任务)是一个程序与其数据一道通过处 理机的执行所发生的活动。( Alan.C. Shaw) 进程是执行中的程序。( Ken Thompson and Dennis Ritchie ) 一个具有一定独立功能的程序关于某个数据 集合的一次活动
进程特性 – 动态性,程序的一次执行过程 – 并发性,多个进程能在一段时间内同时运行 – 独立性 进程是一个能独立运行、独立分配资源和独立调度 的基本单位 – 异步性 以各自独立的、不可预知的方向和速度向前推进 – 结构特性 由程序段、数据段和进程控制块 3 部分组成
进程状态
进程控制 创建 撤销 阻塞 唤醒
进程调度 1. 先来先服务调度算法 2. 优先级调度算法 3. 时间片轮转调度算法 4.…….
进程死锁 1) P1 继续执行需要资源 R2 ,但 R2 被 P2 所占用, P1 挂起, 等待资源 R2 被释放; 2) P2 继续执行需要资源 R1 ,但 R1 被 P1 所占用, P2 挂起, 等待资源 R1 被释放; P1 、 P2 均挂起,导 致资源 R1 和 R2 无法 得到释放 P1 、 P2 处于死锁状 态;
线程( Thread ) 由进程进一步派生出来的一组代码(指令 组)的执行过程 一个进程可以产生多个线程 – 这些线程共享该进程的内存地址空间 – 可以并发、异步地执行 线程技术使同一个进程分成几个并发执行 的路径 – 执行速度得到了更大的提高 – 线程需要的系统开销比进程要小
进程与线程 (1)
进程与线程 (2) 进程线程 资源独立拥有资源 可以访问其隶属进程的资源, 代码段、数据段、已打开的 文件、输入输出设备等 调度调度与分派的基本单位 并发性可以并发执行 系统开销 创建或撤销,操作 系统为之分配或回 收资源 同一进程内的多个线程具有 相同的地址空间,线程间的 同步与互斥的实现比较容易
存储管理 内存分配与回收 – 为每个进程分配内存空间 地址映射 – 物理地址和逻辑地址之间的映射关系 内存共享与保护 – 为每个进程提供独立的存储空间 – 为不同进程提供数据共享机制 内存扩充 – 虚拟存储技术
虚拟存储器管理 存储管理软、 硬件 在存储管理软、 硬件的支持下, 借助大容量的辅 存来弥补主存的 不足
设备管理的功能 分配设备 设备处理 –I/O 控制框架,可添加设备驱动程序 – 设备端口号( CPU 控制设备) – 中断号(向 CPU 发出中断请求) –DMA 数据传输 输入输出缓冲区管理 设备独立性
设备信息
文件管理 文件读写管理 文件目录管理 文件存储空间管理 提供方便的接口 文件系统的可靠性与一致性 文件系统,为操作系统自身和用户提供存储、检索共 享和保护文件的方法
文件系统 - Windows Windows 文件系统 – 可以将磁盘划分为若干各区,每个区可以采用 不同的文件系统 –FATS32 可以支持大到 32GB 的分区 –NTFS 可以支持大到 2TB ( 2048GB )的分区 NTFS 支持对分区、文件夹和文件的压缩 可以为共享资源、文件夹以及文件设置访问许可权 限
文件系统( 2 ) Linux 文件系统 –EXT2 文件系统 – 普通文件和目录文件保存在称为块物理设备的 磁盘或者磁带上。 – 一套 Linux 系统支持若干物理盘,每个物理盘可 定义一个或者多个文件系统。(类比于 Windows 磁盘分区)。 – 每个文件系统由逻辑块的序列组成,一个逻辑 盘空间一般划分为几个用途各不相同的部分, 即引导块、超级块、 inode 区以及数据区等。 Samba 是一个网络服务器, 可用于 Linux 和 Windows 共享文件之用
文件分配表 FAT(File Allocation Table) 用来记录文件所 在磁盘位置的表格 – 保存了两个相同的文件分配表 逻辑格式化分区 – 为分区建立文件系统 – 新的 FAT