• 九 操作系统OS


    目录

    1、操作系统OS概念

    2、进程管理

    3、前趋图

    4、进程的同步和互斥

    3、信号量和PV操作

    4、死锁

    5、存储管理

    6、作业管理


    1、操作系统OS概念

    管理系统的硬件、软件、数据资源,控制程序运行,人机直接的接口,应用程序与软件程序的接口。

    包括:进程、存储、文件、作业、设备管理

    2、进程管理

    • 进程的状态

    运行态:运行 <==>就绪<==阻塞(等待)

    3、前趋图

    前驱后继的逻辑关系

    前趋图,垂直风向表示并行,“C1S2”,"P1C2S3“,“P2C3”。

    横向箭头表示直接制约,C1和P1受到S1、C2和P2受到S2、C3和P3受到S3。

    纵向箭头表示间接制约。S2和S3不能运行是受到了S1的间接制约。如果系统中有三台扫描仪,那么S2和S1能运行;同理,C2和C3受到C1的直接制约、P2和P3受到P1的间接制约。

    4、进程的同步和互斥

    互斥:一个资源(临界资源),大家共享使用,同一时刻,只能运行1个进程使用。间接制约关系。使用一个打印机。

    同步:多个进程之间,速度有差异,有一定的等待时间。直接制约关系。生产者生产东西到一个空间区(多人用),消费者去该空间去拿。

    3、信号量和PV操作

    临界资源: 进程间需要互斥对其进行访问的资源。比如打印机、磁带机。

    临界区:每个进程中临界资源的那段代码叫做临界区。

    信号量:一种特殊的变量。全局变量。

    • P操作 信号量-1。检查上个活动是否完成。
    • 临界资源的信号量初始值为1。

    1、申请资源。2、判断资源是否足够。运作状态到阻塞状态。

    V操作 信号量+1。做完通知用V.

    1 释放资源 2、判断是否有排队。3、通知阻塞进程。阻塞状态转为就绪状态。

    4、死锁

    不死锁的最少: 即考虑所有进程都差一个资源,然后再给一个资源就不会死锁。

    死锁必要条件:互斥,保持和等待,不剥夺,环路等待。

    打破死锁(打破四大必要条件):有序资源分配,银行家算法。

    银行家算法 -提供资源的原则

    • 一个进程对资源的最大需求量不能超过系统总资源。
    • 进程可以分期请求资源,但请求数不能超过原本的最大需求量。
    • 不能满足进程尚需资源时,可以推迟分配,但总能使进程在有限时间里得到资源。

    5、存储管理

    页式存储

    将程序与内存划分为同样大小的块,以页为单位将程序掉入内存。

    优点:利用率高,碎片小,分配和管理简单

    缺点:增加了系统的开销,可能产生抖动现象。

    逻辑地址 = 页号+页内地址

    计算物理地址:

    1、根据页大小,计算出页内地址长度。对应逻辑地址(程序)后面的长度为页内地址。

    4kb的页大小,转为10进制=4*1kb=2的12次方

    2、前面位为页号。根据页号在页表中找到对应的页帧号。

    3、物理地址 = 页帧号+页内地址

    例题1:操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构,如果物理页的大小为512字节,那么进程A逻辑地址为1111(十进制)的变量存放在(4 )号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页8,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填( 8和8)。

    解答:

    • 1111转二进制:10001010111。参考下图(十进制转二进制)。
    • 根据物理页大小2^9=512,即占9位,转换逻辑地址1111为二进制是 10001010111,除去后9位,得到二进制10,转换为十进制=2,即逻辑页地址等于2,得出物理地址页为4

    例题2:某文件系统文件存储采用文件索引节点法。假设文件索引节点中有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中地址项iaddr[0]~iaddr[5]为直接地址索引,iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引,磁盘索引块和磁盘数据块大小均为4KB。该文件系统可表示的单个文件最大长度是(4198424 )KB。若要访问iclsClient.dll文件的逻辑块号分别为6、520和1030,则系统应分别采用(一级,一级,二级 )。

    解答:

    • 单个索引能存储的物理块数: 4kb/4b=1024
    • 直接: 0-5
    • 一级间接: 6-1029
    • 二级间接:1030-(1029+1024*1024)即1030-1049605
    • 一共物理块数:1049605+1(为0的直接索引)
    • 文件大小:1049605*4kb

    段式存储

    按用户作业中的自然段来划分逻辑空间,然后掉入内存,段的长度可以不一样。

    优点:多道程序共享内存,各段程序修改互不影响。

    缺点:内存利用率低,内存碎片浪费大。

    逻辑地址 = (段号,段内偏移量)

    用段号对应的基址+段内偏移量,看是否在段长内,如果在合法段地址。不在为不合法段地址。

    段页式存储

    快表

    淘汰逻辑

    1、优先淘汰访问位

    2、其次考虑修改位

    6、文件管理

    索引文件

    假设文件系统采用索引节点管理,且索引节点有8个地址项iaddr[0]〜iaddr[7],每个地址项大小为4B, iaddr[0]〜iaddr[4]采用直接地址索弓丨,iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7]采用二级间接地址索引。假设磁盘索引块和磁盘数据块大小均为1KB字节,文件Filel的索引节点如下图所示。若用户访问文件Filel中逻辑块号为5和261的信息,则对应的物理块号分别为( 58和187) ;101号物理块存放的是( 二级间接地址索引表)。

    解答:

    每个磁盘索引块能存储的物理块地址个数:1kb/4b = 256

    索引从0开始

    iaddr[0]〜iaddr[4]:0-4

    iaddr[5] : 5- 260

    iaddr[6]: 261-516

    外存的文件

    解答:

    • 4196/3= 131.余数
    • 所以是在第132的字中描述。
    • 131*32 = 4192,第131字中最后一个位是4191,第132字中对应的第0为对应4192,第1为对应4193,
    • 第2为对应4194,第3为对应4195。所以在该字的第3位置为1。

    6、作业管理

    设备管理

    • 数据传输控制方式 主存与外设之间

    DMA没有cpu参与,由DMAC控制。

    微内核操作系统

    嵌入式操作系统

  • 相关阅读:
    C++Primer 16.1定义模板 习题总结
    【iOS逆向与安全】好用的一套 TCP 类
    [网络工程师]-防火墙-防火墙体系
    SpringMvc之Json&全局异常处理
    吸烟(抽烟)检测和识别2:Pytorch实现吸烟(抽烟)检测和识别(含吸烟(抽烟)数据集和训练代码)
    【视觉算法系列1】使用 KerasCV YOLOv8 进行红绿灯检测(下)
    【4】字符设备的read/write
    紫草酸人血清白蛋白HSA纳米粒|乳香酸卵清白蛋白OVA纳米粒|表白桦脂酸人血清白蛋白纳米粒Epibetulinic Acid-HSA
    Android studio中如何下载sdk
    西门子精彩触摸屏SMART V3组态报警的具体方法示例
  • 原文地址:https://blog.csdn.net/eternal_tc/article/details/127646725