课程操作系统部分 -- 主要内容安排
DESCRIPTION
课程操作系统部分 -- 主要内容安排. 1 操作系统引论 2 进程描述与控制 3 存储管理 4 进程同步与通信 5 进程调度与死锁 6 设备管理 7 文件管理. 第 1 章 操作系统引论. 1.1 计算机系统概观 计算机系统组成 计算机的工作原理 OS 的地位、目标和作用 1.2 OS 的发展简史与趋势 1.3 OS 的主要功能、特征与分类 1.4 研究 OS 的主要观点和方法. 补充部分必要的微机原理知识. 计算机系统组成. 计算机系统组成. 一种简明计算机组成模型(示意图). 8259A 引脚. - PowerPoint PPT PresentationTRANSCRIPT
课程操作系统部分 -- 主要内容安排
1 操作系统引论2 进程描述与控制3 存储管理4 进程同步与通信5 进程调度与死锁6 设备管理7 文件管理
第 1 章 操作系统引论
1.1 计算机系统概观 计算机系统组成 计算机的工作原理 OS 的地位、目标和作用
1.2 OS 的发展简史与趋势1.3 OS 的主要功能、特征与分类1.4 研究 OS 的主要观点和方法
补充部分必要的微机原理知识
计算机系统组成
计算机系统组成
一种简明计算机组成模型(示意图)
8259A 引脚
8086CPU 引脚
Intel8086: 16位 CPU, 16位寄存器 ,16位数据总线,
20位地址总线,具有 1MB的寻址能力。
8086 内部结构
计算机系统组成
8086 的存储器组织模型 (1)
FFFFFh
00000h
8086 的存储器组织模型 (2)
8086 的存储器组织模型 (3)
堆栈段 (stack segment) 的组织模型
堆栈是在存储器中开辟的、用来暂时保存数据的一个区域(段)。 堆栈段的基址 SS 指示,段中当前单元位置
(栈顶)由 SP 指示,栈底地址值通常用 BP保存 。
栈底设在内存高地址,每压栈 1次 ( 存入一个字 ), SP=SP-2, 即虽压栈的进行,堆栈地址由高向低增长。
空栈时, SP 恰好在栈底,即栈顶与栈底重合。 压栈指令: push reg|内存单元地址 |立即数 出栈是压栈的反操作,指令为: pop xxx 压栈与出栈指令要匹配对应,且总是后进先出。
81000H
高地址
ß SS80000H
低地址
准备执行 push ax之前(假设ax的值为35)
栈底00
ß SP 栈顶栈增长方向
2012
ß SS
准备执行 push ax之后(假设ax的值为35)
栈底00
ß SP 栈顶
201235
冯诺依曼计算机工作模型
诺依曼计算机工作模型或存储程序工作模型 存储器用来容纳程序和数据; 程序由指令组成,并和数据一起存储在计算机内存中。
• 指令按顺序、转跳和循环三种基本方式组织。 机器一起动,就能按照程序指定的逻辑顺序把指令从存储
器中读出来逐条解释执行,自动完成程序所描述的处理工作。
指令指针( CS:IP )指示当前执行指令,执行完成指针会自动调整到下一条指令。
• 当前指令指针指向的内存中程序,被认为拥有机器控制权。
任何计算机都拥有自己的一套基本指令系统,高级语言程序最终需经专门的编译程序,翻译为基本机器指令。
8086 指令系统
数据传送指令 MOV, PUSH/POP, IN/OUT, STOSB…
算术运算指令 ADD,SUB,INC,DEC,MUL,DIV,….
逻辑和移位运算指令 AND,OR,XOR,NOT, TEST, SAL,SHL,…
字符串运算指令 Movs,cmps,lods/lodsb/lodsw,stosb,….
控制转移指令 jmp,call/ret/retf, loop,int/iret/iretd, jc/jnc, jz/jnz,
jae/jnae,… 处理器控制指令
sti/cli, std/cld,hlt, clc/cmc/stc,…
1 0 0 0 1 0 D W MOD REG R/ M
操作码
方向位
字节/字
该指令有两个操作数,其中至少1个是REG,另一个可以是REG或MEM (R/ M)
R/ M(3位)+REG(2位)+MOD(3位寻址模式编码)共同确定指令第二字节
内存寻址模式: 立即寻址 MOV AL, 88H 直接寻址 MOV AX, ES: [500H] 间接寻址 MOV BX, mvar[SI ][DI ] MOV BX, DS: [SI ]
指令编码示例
中断与异常机制
程序执行过程中的强制转移,转到相应的处理程序 中断 : 硬中断 (8259A) 和 软中断 ( 执行指令: int n) 异常:执行某条指令出现了异常,如被 0 除、 NMI 、溢出…
硬中断是异步、随机事件;而软中断与异常是同步事件;实现中断机制的要素
中断源;中断向量表 特殊指令: INT xx; IRET/IRETD; 控制 8259A 专用指令 STI/CLI
中断处理过程或步骤 保护现场 ( 标志寄存器 ,CS,IP 压栈 ; 特定寄存器压栈 ); 根据中断源类型,查中断向量表,获取中断处理程序开始
地址 ; 长跳转移到中断处理程序 ; 执行 IRET ,恢复原被中断现场。
用汇编语言实现中断
; 中断处理子程序SERVICE PROC FAR PUSHAD ; 保护现场 PUSH DS STI ; 打开中断 …… ; 中断处理程序主体中断处理程序主体 …… CLI ; 关闭中断 MOV AL, 20H OUT 20H, AL ; 发中断结束命令 POP DS ; 恢复现场 POPA IRETSERVICE ENDP
32 位微处理机器
Intel8086 16位 CPU, 16 位寄存器 ,16 位数据总线; 20 位地址总线,具有 1MB 的寻址能力。
Intel80386从 80386 开始, Intel家族的 CPU 进入
32 位时代,具有 32 位地址总线,寻址能力可达 4GB 。
有实模式、保护模式和虚拟 8086(V86)三种工作模式。
保护模式的特点
采用了全新的、基于分段和分页内存管理技术; 可寻址 4G 的内存空间; 允许使用虚拟存储。
支持并发执行多任务;引入特权级 (privilege level/ring) 的概念
共分四个特权级,即 0 级、 1 级、 2 级和 3 级; 第 0 级权限最大,常被作为系统内核代码段的
权级,具有实模式下代码的同等权限; 3 级权限最小,常被作为用户级代码段的权级。
80386 的寄存器体系
加载专用指令LGDT mem48LIDT mem48LLDT reg16/mem16LTR reg16/mem16
请求特权级
=0 描述符在 GDT中=1 描述符在 LDT中
保护模式下的段描述符
保护模式下的段式寻址过程
保护模式下中断处理程序的定位过程
操作系统的定义
是计算机系统的一个系统软件;是一些具有如下功能的程序模块的集合:
能有效地组织和管理计算机硬件和软件资源 能合理组织计算机的工作流程,控制程序的执
行; 能透明地向用户提供各种服务功能,使用户能够灵活、方便地使用计算机,使整个计算机系统能高效地运行。
操作系统的目标与作用
操作系统的目标(质量模型) 方便性(方便,易学、易用) 有效性(有效利用和管理各类系统核心资源,提高系
统的利用率和吞吐率) 可扩充性(可修改性,可扩展性好) 开放性(移植性,互操作性好)
操作系统的作用 作为计算机系统资源的管理者; 作为用户与计算机硬件系统之间的接口; 用作扩充计算机硬件系统 (应如何理解或说明?)
操作系统结构模型 一般采用基于特权级保护的层次化结构模型
1.2 操作系统的发展过程( 1 )
人工操作方式 对应第一代计算机,无OS; 用纸带机加载程序信息到主存; 特点:用户独占计算机资源,资源利用率低( CPU 要等待人工操作,经常空闲)
脱机输入输出技术 引入目的:解决人机矛盾,以及 CPU 与低速 I/O
设备间速度不匹配;减少 CPU 的空闲等待时间。
1.2 操作系统的发展过程( 2 )
人工操作方式 脱机输入输出技术单道批处理系统
监督程序• 驻留内存;• 自动加载外部作业,实现系统的自动、不间断连续运行• 但当当前执行程序有 I/O服务请求时, CPU仍要空闲
特征:自动性、顺序性和单道性 多道批处理系统
1.2 操作系统的发展过程( 3 )
多道批处理系统 多道程序设计技术 用户提交作业先在外存排队,然后由作业调度程
序按一定的算法从队列中选择若干作业载入内存,并允许它们并发(交替)执行。
引入多道程序设计技术后,可带来如下的好处 •提高系统 (CPU 、内存和 I/O 设备 ) 的利用率 ;•充分发挥 CPU 与外设并行工作的能力;•提高系统的吞吐率
特征:多道性、无序性和调度性 优缺点及需要解决的问题
分时操作系统
分时操作系统形成和发展的动力 实现人机交互;共享或充分利用主机;便于用户上机
分时 OS 实现要解决的关键问题 及时接受
• 多路卡;每个终端配备可暂存用户命令的缓冲区 及时处理
• 所有用户作业要直接进入内存;• 每个用户(作业)应在较短的时间内得到响应处理的“时间片”;
分时系统的实现方法 单道分时处理系统 具有“前台”和“后台”的分时系统 支持多道程序设计的分时系统
特征 :多路性、独立性和交互性;
实时操作系统
实时 OS 的引入目的(主要应用领域) 实时控制 实时信息处理――要求对信息进行及时处理
实时任务的类型 按是否有周期性划分; 按截止时间要求严格与否划分(硬、软任务);
实时系统的基本特征 具有多路性、独立性、交互性、及时性和可靠性等特征 .
分时操作系统和实时操作系统的出现,使得OS 步入实用化
可移植操作系统―― UNIX革命
UNIX 是现代OS 的代表, 20世纪 60年代末,由贝尔实验室首先设计完成;随后整个 UNIX用C 语言重写。
其源代码开放。运行时具有安全性、可靠性以及强大的计算能力。UNIX 出色的设计思想和实现技术,对后来 OS
发展有着广泛而深入的影响,至今它仍然是 OS课程学习的重要内容。
UNIX新家族系列 目前较流行的 LINUX、 XINUX…… Ubuntu : 官方网站 http://www.ubuntu.com Cygwin : 官方网站 http://www.cygwin.com
UNIX 系统的特点
内核和外层有机结合。内核小、简洁,常驻内存,保证系统高效运行;外层包含非常的实用程序和丰富的支持软件--各种工具容易串接组合。
可移植性、可扩展性好和安全性好; 是一个支持多任务多用户系统 开放源代码----------------------WINDOWS
多任务操作环境 图形化工作环境和用户界面,界面友好(傻瓜机) 属于准微内核体系,兼顾性能和效率
网络操作系统
计算机网络中,各台计算机配置各自的OS ,而网络OS 把它们有机联系起来,用统一的方法管理整个网络中的共享资源。
网络OS 除了具备单机 OS 功能外,还应具备网络通信能力和网络服务能力。
网络用户只有通过网络OS才能享受网络所提供的各项服务。
分布式操作系统
分布式操作系统是为分布计算机系统配置的 OS 。按分布方式,分布式计算机系统常可分为两类: 建立在多处理机上的紧密耦合分布式系统; 建立在计算机网络基础上,松散耦合的操作系
统。 与网络OS 相比,更重于任务的分布性,即把一
个大的任务分为若干个子任务,分派到不同的处理站点上去执行。
有强壮的分布式算法和动态平衡各站点负载的能力
它是网络OS 的更高形式,具有强大的生命力。
当代OS 的两大发展方向
微型化方向 典型代表:嵌入式的 OS ,运行在嵌入式环境中。
大型化方向 典型代表:分布式 OS 和机群 OS 分布式并行机,由多个连接的 CPU 组成,在整个系统
的控制下可合作执行一个共同任务; 机群 OS则用于由多台计算机松散组成的机群;
最新发展:云计算技术! 一种超大规模、高度虚拟化计算模型
1.3 操作系统的主要功能概述
一、处理机管理(进程与线程管理) 主要任务是对 CPU 的分配和运行实施有效管
理 具体功能包括
• 进程控制:负责进行的创建、撤销和状态转换
• 进程同步:对并发执行的多进程进行协调• 进程通信:负责完成进程间的信息交换• 进程调度:按一定的算法进行 CPU 分配
1.3 操作系统的主要功能概述
二、存储管理 主要任务是对内存进行分配、保护和扩充 具体功能
• 内存分配:按一定的策略为每道程序分配内存
• 内存保护:保证各程序在自己的内存区域内运行不受其它并发执行程序影响。
• 内存扩充:为允许大型作业或多作业并发运行,必须借助虚拟存储技术来获得更大“虚拟”内存
1.3 操作系统的主要功能概述
三、设备管理 是 OS 中最庞杂、最琐碎部分 应具有的基本功能包括
• 设备分配:按一定原则对设备进行分配。为使设备能与主机并行工作,需大量采用缓冲技术和虚拟技术
• 设备传输控制:实现物理设备的 I/O 操作,包括启动、中断处理和结束处理等操作。
1.3 操作系统的主要功能概述
四、文件管理 OS 中负责信息管理部分称为文件系统 主要功能包括:
• 文件的存储空间管理(分配、回收)• 目录管理:目录是为方便文件管理而采用的
基本数据结构,它能提供“按名存取”功能。• 文件操作管理:实现文件的基本操作,包括打开、关闭、读、写等。
• 文件保护:提供文件安全保护的有关功能和设施。
1.4 研究操作系统的主要观点与方法
虚拟机的观点资源管理的观点软件的观点进程的观点
虚拟机(扩展机)观点
是对 OS 一种由顶向下的俯视。装有 OS 的计算机极大地扩展了原有计算机的功
能。把包含由各种硬件、复杂底层操作细节隐藏起来,使得用户的操作和使用,由复杂变得简单,由低级操作变为高级操作,把基本功能扩展为多种功能。
在裸机上装上OS 后,对用户来说好像是得到了一个扩展的,使用更方便的计算机。
资源管理的观点
是目前对 OS 描述的主要观点,是一种对 OS 功能位置由地向上的观察的观点。
把资源分为软、硬件资源,硬件资源又包括CPU, 主存、输入输出设备。相应的 OS 就有处理机管理、内存管理、设备管理,和针对软信息资源—文件的磁盘管理 /文件管理