2018-11-8

线程局部存储( Thread Local Storage , TLS ):

  • 用来将数据与一个正在执行的指定线程关联起来,线程内部的各个函数调用都能访问,但其它线程不能访问这些数据,所以线程局部存储不是进程间通信方式

死锁避免之系统安全状态

  • 避免死锁的方法中,允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程; 否则,让进程等待。
  • 安全状态
    • 所谓安全状态,是指系统能按某种进程推进顺序( P1, P2, …, Pn),为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺序地完成。此时称 P1, P2, …, Pn 为安全序列。如果系统无法找到一个安全序列,则称系统处于不安全状态。
  • 系统安全状态与死锁的关系
    • 并非所有的不安全状态都是死锁状态,但当系统进入不安全状态后,便可能进入死锁状态;反之,只要系统处于安全状态,系统便可以避免进入死锁状态。
  • 资源分配图
    • 如果资源分配图中的点,最终不能够化成孤立的点,则进程资源图不能够完全简化,从而会发生死锁。

进程

  • 概念
    • 个进程包括控制结构和执行结构:
      • 控制结构是进程控制块PCB;
      • 执行结构包括程序以及需要操纵的数据集合
  • 进程控制块PCB
    • 进程控制块的定义
      • 是进程实体的一部分,是操作系统中最重要的记录型数据结构
      • 记录了操作系统所需要的、用于描述进程情况及控制进程运行所需要的全部信息
    • 进程控制块的作用
      • 操作系统是根据PCB来对并发执行的进程进行控制和管理。
    • 进程控制块的内容
      • 进程标识符信息。进程标识符用于惟一地标识一个进程。一个进程,通常有以下两个标识符:外部标识符,内部标识符。
      • 处理机状态信息。处理机状态信息主要是由处理机各种寄存器中的内容所组成。
      • 进程一调度信息。在PCB中还存放了一些与进程调度和进程对换有关的信息,包括:进程状态、进程优先级、进程调度所需要的其他信息、事件。
      • 进程控制信息。进程控制信息包括:程序和数据的地址、进程同步和通信机制、资源清单、链接指针。
    • PCB的组织方式
      • 线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。
      • 索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。
      • 链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等。

银行家算法中的数据结构

  • 可利用资源向量Available
    是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果Available[j]=K,则表示系统中现有Rj类资源K个。
  • 最大需求矩阵Max
    这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。
  • 分配矩阵Allocation
    这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的 数目为K。
  • 需求矩阵Need
    这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。
  • Need[i,j]=Max[i,j]-Allocation[i,j]

实现虚拟存储器的目的是

  • 逻辑上实现对内存容量的扩充

题目

  • 在文件的索引节点中存放直接索引指针10 个,一级和二级索引指针各 1 个。磁盘块大小为 1KB,每个索引指针占 4 个字节。若某文件的索引节点已在内存中,则把该文件偏移量(按字节编址)为 1234和 307400 处所在的磁盘块读入内存,需访问的磁盘块个数分别是
    • 10 个直接索引指针指向的数据块大小为 101KB=10KB 每个索引指针占 4B ,则每个磁盘块可存放 1KB/4B=256 个索引指针
      一级索引指针指向的数据块大小为: 256
      1KB=256KB
      二级索引指针指向的数据块大小为: 2562561KB=216KB=64MB
      按字节编址,偏移量为 1234 时,因 1234B < 10KB ,则由直接索引指针可得到其所在的磁盘块地址。文件的索引结点已在内存中,则地址可直接得到,故仅需 1 次访盘即可。
    • 偏移量为 307400 时,因 10KB+256KB < 307400B < 64MB ,可知该偏移量的内容在二级索引指针所指向的某个磁盘块中,索引结点已在内存中,故先访盘 2 次得到文件所在的磁盘块地址,再访盘 1 次即可读出内容,故共需 3 次访盘。

进程和线程、协程的区别

  • https://www.cnblogs.com/lxmhhy/p/6041001.html
  • 协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。

通道、设备、设备控制器

  • 设备管理从下到上:设备>设备控制器>通道>处理机
  • CPU要完成一组I/O操作,只需要向I/O通道发送一条I/O指令,通道接到指令,通过执行通道程序,并且与设备控制器一起共同来实现对I/O设备的控制和操作。

设备独立性

  • 应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备这两个概念

分页计算

  • 某虚拟存储器的用户编程空间共32个页面,每页1K,主存为16K。假定某时刻一用户页表已调入内存的页面对应的物理块好如下表。则逻辑地址0A 5C(H)所对应的物理地址为?
    • 逻辑地址0A5C(H)为16进制,转换成十进制地址值:0 x163 + A x 162 + 5 x 161 + C x 160 = 2652
    • 根据逻辑地址及页面大小,可以求得该逻辑地址对应的页号及页内偏移地址:2652 / 1024 = 2 余 604
    • 页号为2,页内偏移地址为604,则实际物理地址为:4 x 1024 + 604 = 4700
    • 按题意,实际物理地址转成16进制地址值

Ext3文件系统

线程调度

  • 同优先级的多个线程的调度可能是分时的,也可能是线程逐个运行

每个程序至少有一个进程,一个进程至少有一个线程

转载于:https://www.cnblogs.com/eemjwu/p/9927979.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值