计算机操作系统基础笔记 操作系统有哪些状态(16)


空闲块登记表是盘块分配和回收的依据 。
空闲块登记表有四种实现方案:

  • 空闲表
    系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项适合于可变大小分区的连续分配方式
  • 空闲链表
    这种空闲空间组织方法适合于非连续存储文件 。空闲盘块链:将磁盘上的所有空闲空间,以盘块为单位拉成一条链 。空闲盘区链:将磁盘上的所有空闲盘区(每个盘区可包含若干个盘块)拉成一条链 。
  • 位示图法
    利用二进制位0、1表示存储空间中存储块的使用状态盘块的分配:顺序扫描位示图,从中找出一个值为“0”的二进制位(空闲位),将所找到的空闲位号转换成与之相应的空闲块号: b=n*(i-1)+j b为对应的空闲块的块号 n为位示图中每行的位数 i、j分别为空闲位在位示图的行号、列号,修改位示图:令map[i,j]=1盘块的回收:将回收盘块的盘块号转换成位示图中的行 号和列号 i=(b-1)DIV n+1 j=(b-1)MOD n+1,修改位示图:令 map [i,j]=0
  • 成组链接法
操作系统接口
  • 用户接口
    联机用户接口脱机用户接口
  • 程序接口
    又称应用编程接口API,允许运行程序调用操作系统的服务和功能 。程序接口由一组系统调用(SystemCall)) 组成,用户程序使用“系统调用”就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源 。库函数的目的是隐藏访管指令细节,使系统调用更象过程调用,但一般地说,库函数属于用户程序而非系 统程序 。
联机命令接口分时系统或个人计算机中,操作系统 向用户提供了一组联机命令,用户可以 通过终端键入命令,以取得操作系统的 服务,并控制自己作业的运行,这样的 接口称为联机命令接口。
联机命令接口应由终端处理程序、命令解释程序及一组联机命令构成 。
Shell命令语言Shell是UNIX与用户的交互接口,是操作系统的最外层,称为外壳
Shell既是一种命令语言,也是一种程序设计语言
Shell不是UNIX的核心程序,运行在用户态
系统调用系统调用指系统为用户程序调用操作系统所提供的子程序 。它与一般的函数调用不同,系统调用是通过中断方式转向相应子程序的,它工作在核心态 (即特权方式),而一般函数调用,仍仅在用户态下的地址转移。
系统调用与一般过程调用的区别:
  1. 运行在不同的系统状态
    一般过程调用,其调用程序和被调用程序 都运行在相同状态:核心态或用户态系统调用:调用程序在用户态,被调用程 序在系统态
  2. 状态的转换
  3. 返回问题
    一般过程调用在被调用过程执行完后,回调用过程 。抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析 。如果调用进程仍有最高优先级,则返回到调用进程执行,否则,引起重新调度,让优先级最高的进程 优先执行 。此时,系统把调用进程放入就绪队列 。
  4. 嵌套调用
    系统调用也允许嵌套调用,即在一被调用过程执行期间,可再利用系统调用命令调用另一系统调用,最大深度为

推荐阅读