操作系统
来源:互联网 发布:移动云商城 2.2 源码 编辑:程序博客网 时间:2024/06/07 16:52
某虚拟存储器中的用户空间共有32个页面,每页1KB,主存16KB。假定某时刻系统为用户的第0、1、2、3页分别分配的物理块号为5、10、4、7,虚拟地址0A6FH对应的物理地址为【 】
解:虚空间共32个页面,页大小为1KB,所以虚地址共15位二进制长度
0A6F对应的二进制数为:000 1010 0110 1111
虚页号为00010,即第二页,对应的物理块号为4,即0100,因此,相应的物理地址为
000100 10 0110 1111
126FH
存放在某磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,地0-9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址.如果每个盘块的大小为1KB,若盘块号需要4个字节来描述,请问该系统中允许文件的最大长度为多少?
10x1KB+256x1KB+256x256x1KB+256x256x256x1KB
若有磁盘共有200个柱面,其编号为0~199,假定磁头刚完成56号磁道的访问,磁头正在98号磁道上,现有一个请求队列在等待访问磁盘,访问的磁道号分别为190,97,90,45,150,32,162,108,112,80。请写出分别采用最短寻道时间优先和电梯调度算法处理上述服务请求的次序。
SSTF:97,90,80,45,32,108,112,150,162,190
SCAN:108,112,150,162,190,97,90,80,45,32
操作系统的基本特征和功能
四大特征:并发性、共享性、虚拟技术、异步性
五大功能:处理机管理功能、存储器管理功能、设备管理功能、文件管理功能、
操作系统与用户之间的接口
操作系统与用户之间的接口
用户接口:(联机用户接口,脱机,图形)
程序接口
操作系统三种基本类型及其特点
批处理:用户脱机使用计算机,作业成批处理,内存中有多道程序并发进行,交互性差
分时:多路性、独立性、及时性、交互性
实时:多路性、独立性、及时性、交互性、可靠性
P、V操作实现
semaphore full=0,empty=1;
producer:
{while(1)
{ P(empty);
putdata;
V(full);
}
}
consumer:
{while(1)
{P(full);
getdata;
V(empty);
}
}
第一章
操作系统引入及定义
OS是控制和管理计算机硬件和软件资源,合理地对各类作业进行调度以及方便用户使用的程序集合。
操作系统目标、作用
目标:方便性、有效性、可扩充性、开放性
作用:作为用户与计算机硬件系统之间的接口
作为计算机系统资源的管理者
作为扩充机器
脱机输入/输出
脱机输入技术
为解决低速输入设备与CPU速度不匹配的问题,可将用户程序和数据,在一台外围计算机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,再直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间。
脱机输出技术
当程序运行完毕或告一段落,CPU需要输出时,无须直接把计算结果送至低速输出设备,而是高速地把结果送到磁带上,然后在另一台外围机地控制下,把磁带上的计算结果由相应的输出设备输出,这大大加快了程序的输出过程
多道程序设计:
提高CPU的利用率,提高内存和I/O设备利用率,增加系统吞吐量
第二章 进程的引入:在未配置OS的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完后,才允许另一个程序执行;在多道程序环境下,则允许多个程序并发执行。程序的这两种执行方式有着显著的不同。 进程的特征及其与程序的比较: 特征:结构特征 动态性 并发性 独立性 异步性 进程与程序的区别 程序是静态的,进程是动态的; 进程是暂时的,程序是永久的: 进程与程序的组成不同 进程与程序的对应关系 进程的三种基本状态及转换: 就绪状态(ready) 执行状态(running) 阻塞状态 (blocked) 状态变化: 就绪状态 → 执行状态 执行状态 → 就绪状态 执行状态 → 阻塞状态 阻塞状态 → 就绪状态 进程控制块的作用: (1) 使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,即一个能与其他进程并发执行的进程。 (2) 用来存放进程的描述信息和控制进程运行所需的全部信息。 (3) PCB是进程存在的惟一标志, OS通过PCB而感知进程的存在。 进程控制原语及其控制流程: 原语(Primitive): 由若干条指令组成的,用于完成一定功能的一个过程。与一般过程的区别是原语是“原子操作”即一个操作中的所有动作要么全做,要么全不做。 特点:执行过程中不允许被中断,是一个不可分割的基本单位。采用屏蔽中断的方式来实现原语功能,以保证原语操作不被打断的特性。原语是在管态下执行的,常驻内存,被系统本身调用,也可被用户通过系统程序接口调用。 作用:为了实现进程的通信和控制。 进程同步 – 两种制约关系 – 临界资源和临界区 – 同步机制应遵循的准则 – 信号量机制 – 用信号量实现互斥和同步 经典同步问题(重点PC问题) – 分析同步和互斥关系→设置信号量→实现互斥和同步→程序阅读方式 进程通信 通信的类型 消息传递通信的发送和接收原语 线程 线程的引入及其特征 线程的引入 进程的两个基本属性: 进程是一个拥有资源的单位,又是可以独立调度的单位。 因为进程是资源拥有者,所以创建、撤消和切换时系统要为之付出较大的时空开销. 如果将进程的两个属性分开,由os分开处理,即作为拥有资源的单位,不同时作为调度和分派的基本单位,这就引入了线程的概念。 线程定义:线程是进程中的一个实体,是系统独立调度和分配的基本单位,故又称为轻量级进程(Light Weight Process) 线程和进程的区别 引入线程的目的:减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。 引入进程的目的:使多个程序能并发执行,以提高资源利用率和系统吞吐量。 线程与进程的比较(重点) 调度:调度的单位是线程。在同一进程中,线程的切换不会引起进程的切换,但从一个进程的线程切换得到另一个进程的线程时,将会引起进程切换。 并发性:在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,因而使操作系统具有更好的并发性,从而能更有效地使用系统资源和提高系统吞吐量。 拥有资源:进程是拥有资源的一个独立单位,而线程几乎不拥有系统资源 ,但它可以访问其隶属进程的资源。 系统开销: 系统创建、撤消和切换进程的开销远大于线程的。另外,同一进程内的多个线程具有相同的地址空间,故它们的同步实现也较容易。 线程的两种实现方式 内核支持线程 用户级线程
第三章
处理机调度的三个层次
(高级调度)作业调度
中级调度
进程调度:
两种调度方式
调度时机
选择调度方式和算法的准则(相关术语)
调度算法(思想)
FCFS,SJF/SPF,HPF,HRRN,RR
实时调度
截止时间,松弛度
死锁
概念:多个进程在运行过程中因争夺资源而造成的一种僵局。
产生死锁原因:
竞争资源
进程间推进顺序非法
产生死锁必要条件:
互斥条件
请求和保持条件
不剥夺条件
环路等待条件
处理死锁的方法:
预防死锁
避免死锁
检测死锁
解除死锁
不管
避免死锁
安全状态、不安全状态、死锁状态
银行家算法思想
死锁检测和解除
资源分配图和死锁定理
解除死锁
剥夺资源
撤销进程
第四章
程序的装入:
绝对装入方式(直接用物理地址编制程序)
编译后,装入前已产生了绝对地址(内存地址),装入时不再做地址重定位。
绝对地址的产生:
(1)由编译器完成,
(2)由程序员编程完成。
地址转换公式:物理地址=逻辑地址
可重定位装入方式(静态重定位)
1、地址重定位即将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。
2、当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到的内存物理地址不一致,而CPU执行指令时,是按物理地址进行的,所以要进行地址重定位。
静态重定位:
当用户程序被装入内存时,由专门的重定位装入程序一次性实现逻辑地址到物理地址的转换,以后不再转换,也不允许程序运行时在内存中移动。
地址转换公式:物理地址=基地址+逻辑地址
动态运行时装入方式(动态重定位)
动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。
需要重定位寄存器的支持。
动态重定位过程描述:P127
程序装入内存后,它所占用的内存区的首地址由系统送入重定位寄存器(BR,基址寄存器)中。
在程序执行的过程中,若要访问内存,将访问的逻辑地址送入相对地址寄存器(VR)中。
地址转换机构把VR和BR中的内容相加,作为实际访问的地址。
程序的链接
静态链接
装入时动态链接
运行时动态链接
连续分配存储管理方式
固定式分区:
动态分区分配:
分区的分配算法:首次适应算法, 循环首次适应算法, 最佳适应算法,最坏适应算法
分区回收:回收区上临空闲区,回收区下临空闲区,回收区上下均临空闲区,回收区上下均不临空闲区
伙伴系统(大小一样,物理上相邻的分区称为伙伴)
动态重定位分区分配(紧凑技术)
分页存储管理
思想:进程逻辑空间分页,内存空间分块,页与块同样大,页连续块离散,用页号查页表,由硬件做转换
快表
分段存储管理
思想:一个作业的地址空间分成若干个段,每一段定义了一组逻辑信息,则为每个段分配连续的分区,而进程中的各段可以离散地存储在内存中不同的分区中,建立相应的段表,由系统实现进程的正确运行。
快表
分页与分段存储管理的区别?
信息共享:可重入码
段页式存储管理
思想
分页存储管理
地址变换
分段存储管理
地址变换
虚地址以十六、八、二进制的形式给出
将虚地址转换成二进制的数;
按页的大小分离出页号和位移量(低位部分是位移量,高位部分是页号);
根据题意产生页表;
将位移量直接复制到内存地址寄存器的低位部分;
以页号查页表,得到对应页装入内存的块号,并将块号转换成二进制数填入地址寄存器的高位部分,从而形成内存地址。
虚地址以十进制数给出
页号=虚地址%页大小
位移量=虚地址 mod 页大小
根据题意产生页表;
以页号查页表,得到对应页装入内存的块号
内存地址=块号×页大小+位移量
对换和覆盖
虚拟存储器
定义:具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
特点:离散性;多次性;对换性;虚拟性
虚拟存储管理系统的基础是程序的局部性理论。
请求分页存储管理方式
请求分段存储管理方式
请求分页存储管理方式
思想:在请求分页存储管理方式中,不限定把进程的整个地址空间全部装入主存,而只要求把当前需要的一部分装入主存,由系统实现进程的正确运行,其它的页面当需要时才去调用。这样实现了主存的“扩充”。
缺页中断:在请求页式存储管理中,当查找的页不在内存中时,要产生缺页中断。这时可以根据页面置换算法选择一些暂时不用的页面置换出去,把需要的页面调入内存。
页面置换算法
最佳置换算法
先进先出(FIFO)页面置换算法
最近最久未使用(LRU)置换算法
Clock置换算法
Belady现象:采用FIFO算法时,如果对一个进程未分配它所要求的全部页面,有时就会出现分配的物理页面数增多但缺页率反而提高的异常现象。
抖动现象:是指被调出的页面又立刻被调入所形成的频繁调入调出现象
抖动现象的发生是由置换算法选择不当引起的。
请求分段存储管理方式
基本思想:在请求分段存储管理方式中,把作业的所有分段的副本保存在辅存中,当其运行时,只要求把当前需要的一段或数段装入主存,其它的段当需要时才装入,由系统实现进程的正确运行。这样实现了主存的“扩充”。
分段的共享和保护
共享:共享段表(共享进程计数count,存取控制字段,段号)
分段保护:
越界检查
存取控制检查
环保护机构
第五章
I/O:主存和外设之间的数据传递
I/O系统的组成:
设备:字符设备和块设备;共享设备和独占设备和虚拟设备
控制器
通道:概念和类型
总线
I/O控制方式 :
程序I/O方式
中断驱动方式
DMA方式
I/O通道控制方式
缓冲管理:
单缓冲和双缓冲
循环缓冲
缓冲作用:
缓和CPU与I/O设备间速度不匹配的矛盾
减少对CPU的中断频率,放宽对CPU中断响应时间的限制
提高CPU和I/O设备之间的并行性
I/O软件:四层结构,设备无关性概念
设备分配:分配设备,控制器和通道
LUT
SDT
DCT
COCT
CHCT
设备分配中应考虑的若干因素:设备固有属性,设备分配算法
spooling技术:可将一台物理设备虚拟为多台逻辑设备,可为多个用户所共享。是一种虚拟设备的技术。
思想:外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing。
组成:输入井和输出井
输入缓冲区和输出缓冲区
输入进程SPi和输出进程SP0
磁盘存储器管理
磁盘访问时间:寻道时间、旋转延迟时间和传输时间
磁盘移臂调度算法:
先来先服务(FCFS)
最短寻道时间优先(SSTF)
扫描法(SCAN)
循环扫描法(CSCAN)
第六章
文件逻辑结构(从用户角度看到的文件组织形式):
流式文件
记录式文件
文件的物理结构(从系统角度看到的文件组织形式):
顺序结构
链式结构
索引结构
外存分配方法:
连续分配——将文件信息存放在连续编号的物理块中
文件物理位置只需记录首块和长度
链接分配——将文件信息存放在非连续编号的物理块中
文件物理位置只需记录首块和末块(隐式链接);或只记录首块(显示链接)
索引分配——将文件信息存放在非连续编号的物理块中
文件物理位置只需记录索引块
混合索引分配
目录管理
文件控制块与文件目录 :
单级文件目录:
查找速度慢、不允许重名、不便于实现文件共享
两级目录和多级目录 :
检查速度快,不同目录可以重名,不同用户可使用不同名字,来访问系统中的同一个共享文件
索引节点的引入:FCB: 文件名 + inode指针 + inode,其中目录项由文件名和inode指针组成
空闲存储空间的管理方法
空闲表法
空闲链表法
位示图法:在采用位示图管理文件存储空间时,一个二进制位对应一个物理块
成组链接法 :UNIX文件系统对盘空间的管理采用成组链接法
文件共享
软链接:利用“符号链”实现文件共享。
为了使B能共享C的一个文件,可以由系统为B建立一个类型为link的新文件,并把该文件放在B的目录下,该新文件中只包含了被链接文件的路径名(理解为快捷方式)。当B读该link类型的文件时,将被OS截获,并根据新文件中的路径名去读那个文件。这种实现文件共享的方式叫符号链接。在这种方式下,文件主删除被他人共享的文件后,其他用户再去访问该共享文件时,会因找不到文件而失败,于是可再将符号链(即LINK类型的文件)删除,此时不会造成任何影响。
硬链接:基于索引结点的共享方式
使用这种方式时,可在文件的索引节点中设置一个链接计数字段count,用来表示链接到本索引节点(亦即文件)上的用户目录项的数目。当用户C创建一个新文件时,其链接计数被置为1。如果用户B要共享该文件,则可在B的目录中增加一目录项,并填上新的文件名和指向该共享文件的索引节点的指针,索引节点中的链接计数被加1。
索引节点相同,表示是同一个文件。
这种方式的缺点是文件无法删除被他人共享的文件。
影响文件安全性的主要因素:
人为因素;
系统因素;
自然因素
第七章
系统态(管态、核心态):只能运行os的程序。
用户态(目态):运行用户的程序。
特权指令:只允许操作系统使用。
非特权指令:一般用户使用。
- 操作系统~
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- 操作系统
- SQL:select case 用法详解 带例子 图解说明 sqlserver2000
- 关于process的文章事例
- Linux内核简介、版本号与发布历史
- Tween Animation
- FDTD 周期斜入射 with BPML using OPENGEMS_Memory.h
- 操作系统
- 《Head First 设计模式》阅读笔记(一)——策略模式
- 一个mysql小技巧
- Jdbc保存成功怎么获取id,和获取连接的类
- CSDN开博了....
- oracel 重要记事
- 理解分支(转)
- ERROR: the user data image is used by another emulator. aborting错误怎么解决
- PHP中双冒号::的用法及意义