赞
踩
题型
单选20*2
多选5*3
判断5*1
大题4*10
大题23章居多
CPU利用率=忙碌时间/总时间
系统吞吐量=总共完成多少道作业/花的时间(系统每小时完成的作业数量)
周转时间=作业完成时间-作业提交时间
平均周转时间=各个作业周转时间和/作业数量
带权周转时间=作业周转时间/作业时间运行时间
平均带权周转时间=各作业带权周转时间之和/作业数
等待时间:(进程)在内存中进程创建之后等待被服务的时间之和,(作业)加上在外存后备队列中等待的时间
响应时间=提出请求到首次响应的时间
高响应比优先算法,响应比=(等待时间+要求服务时间)/要求i服务时间
页号=逻辑地址/页面长度
页内偏移量=逻辑地址%页面长度
缺页率=缺页次数/总页面数量
最佳置换算法是理论上的,无法实现
最短剩余时间优先(就是短作业优先的抢占式)
时间片调度(分时操作系统,有一定开销,太小开销大,太大和先来先服务没区别)
高响应比
优先级
多级队列
在具有n个进程竞争某共享资源的系统中,允许m个进程(n≥m≥1)同时使用该资源,其信号量S的值的变化范围是_
,处于等待状态的进程数最多_
个。
答案: m-n=<S<=m n-m
例如系统中有5个进程,最多允许3个进程进入临界区
保护模式
用户态
用户接口程序在用户态运行
将计算机以一个更加容易,方便,强大的方式呈现给用户使用
差的变好、少的变多、复杂的变容易
屏蔽不同设备的差异性,同样的方式访问不同的设备
多个程序都能申请到“内存”
多个程序都在“同时”运行占用CPU
CPU管理
内存管理
外存管理
I/O管理
健壮性管理
确保操作系统自身的正常运行
安全性管理
防止非法操作
监视资源
实施资源分配策略
分配资源
回收资源
进程的描述(PCB),进程生产者消费者同步,进程通信,调度
内核态(也称为管态,核心态)这种模式下操作系统具有对所有硬件的完全访问权,可以执行机器能够运行的任何指令
用户态(也称为目态),只能使用机器指令的一个子集
他们是计算机的两种运行模式,根据CPU的状态进行划分(程序状态字PSW寄存器),即使用CPU的进程的状态
内核态进程比用户态进程有更多的权限,可以访问更多的资源
CPU用来区分核心态还是用户态看程序状态字标记的是什么状态
程序状态字(PSW寄存器)
进程,地址空间,文件
对处理器建立抽象—进程
对内存建立抽象—地址空间、虚拟内存
对磁盘建立抽象—文件
真空管和穿孔卡片->晶体管和批处理系统->集成电路芯片和躲到程序设计->个人计算机,大规模集成电路
中间两个,操作系统的雏形,第二阶段晶体管和批处理系统
多道程序设计,IO密集型优先
计算机调度多个程序
所谓批处理系统是指加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地成批地处理一个或多个用户的作业。
批处理系统的优缺点
在操作系统中引入多道程序设计技术以后,会使系统具有以下特征 (判断选择)
取指令,解码,和执行指令
1.5
通用寄存器:保存临时文件
专门寄存器:
Program counter 程序计数器:下一条指令的内存地址
堆栈指针stack pointer :指向内存中当前栈的顶端
程序状态字(Program Status Word, PSW):CPU优先级、模式(用户态or 核心态)等
可以将用户态切换到内核态
CPU的部件,实现虚拟地址到物理地址的转换(虚拟内存管理)
程序控制I/O (Programmed I/O) (轮询,查看状态准备好了吗)
中断驱动I/O (Interrupt-Driven I/O) (可以中断去做其他的,可以CPU和IO设备并行工作)
使用DMA的I/O (Direct Memory Access I/O ) (直接存储器存储,不经过CPU)
为什么是参与程度的不同
怎么理解,什么情况下参与
3.7
TCB和PCB的区别
线程控制块和进程控制块
3.11
fork对实验结果进行解释
父进程的复制的pc值,给图解释和结果
waited(等待一个子进程终止)
https://blog.csdn.net/Dueser/article/details/120889218
https://blog.csdn.net/Dueser/article/details/120906658
内核提供一系列具备预定功能的内核函数,通过一组称为系统调用(system call)的接口呈现给用户。
系统调用把应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理结果返回给应用程序
3.35
转台切换,
过程库(库调用、库函数)
进行系统调用就像进行一个特殊的过程调用,只是系统调用可以进入内核态,而普通过程调用不可以
所有思考和练习
正在执行的一个程序
是容纳运行一个程序所需所有信息的容器
操作系统中有一个进程表(process table),每个进程占用其中的一项
一个进程包括:
顺序进程模型
一个进程就是一个正在执行程序的实例,包括程序计数器、寄存器和变量的当前值,每个进程拥有自己的虚拟CPU
每个程序被抽象为有自己逻辑程序计数器的进程
实际上只有一个物理程序计数器
每个程序运行时,它的逻辑程序计数器装入实际的物理程序计数器中,程序执行结束或暂停时,物理程序计数器的值被保存在内存中该进程的逻辑程序计数器中。
一个程序运行两遍,是两个进程,每次进程的运行情况是不可再现的
一张进程表中包含了各个进程状态的重要信息
程序是静态的,进程是动态的
进程是某种类型的一个活动,有程序(代码),输入,输出和状态,单个CPU被若干进程共享,使用某种调度算法决定何时停止一个进程的工作,并转而为另一个进程提供服务。
有4种主要事件导致进程的创建:
如何实现进程的创建?
系统调用fork()
https://blog.csdn.net/Dueser/article/details/120889218
导致进程终止的事件:
4.24
就绪态,运行态,阻塞态,哪些事件会使状态切换
提高IO密集型的CPU的利用率
4.40
进程和线程的区别,进程共享进程的地址空间
进程是资源分配的最小单位,线程是CPU调度的最小单位
线程也有运行,阻塞,就绪态
5.11
两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序
临界区
把对共享资源进行访问的程序片段称作临界区
避免竞争的4个条件
任何2个进程不能同时处于临界区
对CPU的速度和数量不做任何假设
运行在临界区外的进程不能阻塞其它进程
不得使进程无限期等待进入临界区(任何进程总有机会可以进入其临界区)
盲等待和互斥
睡眠唤醒:使用通信原语(系统调用),无法进入临界区的进程将被挂起,而不是忙等待
和信号量
5.34
给你代码,是否存在竞争条件
说什么是竞争条件然后解释
互斥信号量为1,同步不一定是1
5.40
操作都是原子操作
为了使A、B两个进程互斥地访问单个缓冲区,应为之设置一个互斥信号量S,初值为1,相应在的P(S),V(S)操作必须分别安排在( 两进程的临界区 )的两端。
在具有n个进程竞争某共享资源的系统中,允许m个进程(n≥m≥1)同时使用该资源,其信号量S的值的变化范围是_
,处于等待状态的进程数最多_
个。
答案: m-n=<S<=m n-m
例如系统中有5个进程,最多允许3个进程进入临界区
互换**,为什么不能互换?
睡眠
5.5n的\回答?
保护和重定位
动态重定位,用最多
7.13
保护地址,就是重定位的作用
超载:交换技术和虚拟内存
位图和链表选择
位图
分配内存时需查找指定长度的连续的0位串
提供了一种简单的利用一块固定大小的内存区就能对内存使用情况进行记录的方法
分配单元大小是一个重要设计因素,单元小,位图大;单元大,位图小,但可能会有浪费
链表
进程终止或者被换出时,操作比较容易,要么更改标志位(P变H),要么合并结点变成一个大的空闲结点
比较位图和链表两种方法来记录空闲内存所需的存储空间。
128MB的内存以n字节为单元分配,对于链表,假设内存中数据段和空闲区域交替排列,长度均为64KB。并假设链表中的每个结点需要32位的内存地址,16位长度和16位下一个结点域。这两种方法分别需要多少字节的存储管理空间?哪种方法更好?位图
nbyte为分配单元
12810241024byte/nbyte=227/n个位的位图
链表
数据段和空闲区交替出现,每个长度64kb,所以需要1281024kb/64kb=2048个链表结点
一个链表结点需要32+16+16=64bit
链表所占空间204864bit=211*26=217
分配单元n为210=1K时,二者管理内存所需的空间相同
First fit 首次适配
Next fit 下次适配
Best fit 最佳适配
Worst fit 最差适配
分页,MMU
虚拟内存,建立地址空间
要写步骤,页面页框什么的
虚拟地址到物理地址的映射必须非常快
一条指令会进行一次或多次内存访问,应避免映射成为主要瓶颈
如果虚拟地址空间很大,页表也会很大
32位虚拟地址空间(232=4G),页面大小4kb(212),需要约100万个页表项(232/212=220),每个表项占用一个字节,页表大小就为1M
每个程序都需要自己的页表(每个程序都有自己的虚拟地址空间)
小选择和判断, 多级页表倒排页表,很大
不用算
加速分页方案:基于“大多数程序总是对少量的页面进行多次访问”的现象
TLB,转换检测缓冲区(Translation Lookaside Buffer)
最优页面置换算法,
预先调页,请求调页
有练习,看练习
缺页中断次数
页面大会怎么样,指令空间数据空间
方便共享节省空间(看一下)
9.4
什么是磁盘,映射到哪个块是
固定块大小的线性序列,支持对块的两种基本操作
文件是进程创建的信息的逻辑单元
选择判断
文件、目录怎么存储?
磁盘空间怎么管理?
如何有效、可靠的进行文件系统管理?
磁盘上面有什么内容,分区里面的内容,磁盘头部的内容
哪个不是磁盘分区的内容
各自优缺点
连续分配方式
链表分配方式
使用文件分配表的链表分配方式
i节点分配方式
文件系统的性能依赖于CPU、内存和磁盘
CPU速度大幅提高
内存容量大幅提高
磁盘容量大幅提高,但寻道时间没有多大改善
在目录中删除文件对应的目录项
步骤1崩溃什么样的后果,文件不一致状态
磁盘碎片整理
初始使用文件系统时,从磁盘的开始位置,连续的存放文件,但是随着时间的流逝,文件被不断地删除和创建,产生很多磁盘碎片
磁盘碎片整理程序
重新建立分区的文件系统
删除了文件,释放了i节点,但是没有将释放的磁盘块归还到空闲磁盘块池
一张计数器表(i节点号索引和计数器,记录每个文件被多少个目录包含),一个文件对应一个计数器
从根目录开始,沿着目录树递归下降,检查每个目录中的文件,将文件计数器加1
计数器与存储在文件i节点中的链接数目相比较
一致
小,文件都删除后,i节点不会回收
大!把计数器值同步到文件i节点中的硬链接数
进程A和进程B因为等待彼此引发的事件而产生阻塞,这种情况属于通信死锁。
计算机系统中有很多独占性的资源,在任一时刻他们都只能被一个进程使用,如果同时使用会造成混乱
活锁:任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败
假装看不到
利用抢占恢复
利用回滚恢复
通过杀死进程恢复
预防
破坏互斥条件
破坏占有并等待条件
破坏不可抢占条件
破坏环路等待条件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。