The Design of Unix Operating System (5) the internal presentation of file

  • A inode contains information like owner, permissions, updated time and something elese, but doesn’t include the path name(s) of the file.     
    owner
    group
    type(regular file, directory, pipe, )
    permissions
    last accessed time
    last modified time
    inode last modified time
    file size
    disk address
  • The in-core copy of the inode contains some additional fields:
      1. the status of the in-core node
      2. the logical device number
      3. the inode number
      4. pointers to other in-core inodes. the in-core inodes are linked in the same way as the buffers.
      5. a reference count indicating the number of instances of the file.
  • each disk node should have at most one in-core copy.
  • the in-core copy node will be locked when the process is executing a system call. And the lock will be released at the conclusion of the system call. A inode is never locked across system calls.
  • The reference count remains between system calls set to prevent kernel from reallocating an active in-core indoe.
  • The system call open() will encrement/decrement the reference count; while other system calls will allocate/release indoes.
  • If there’s no in-core inode in the free list, the kernel will return error instead of making the process asleep waiting for an inode. While the situation for buffer is different: since a buffer should not be locked across system calls, a buffer will be available after a system call.
  • (direcotry 和  super block, mount, link 等需要再好好看~)
第1章 系统概貌 1.1 历史 1.2 系统结构 1.3 用户看法 1.3.1 文件系统 1.3.2 处理环境 1.3.3 构件原语 1.4 操作系统服务 1.5 关于硬件的假设 1.5.1 中断与例外 1.5.2 处理机执行级 1.5.3 存储管理 1.6 本章小结 第2章 内核导言 2.1 UNIX操作系统的体系结构 2.2 系统概念介绍 2.2.1 文件子系统概貌 .2.2.2 进程 2.3 内核数据结构 2.4 系统管理 2.5 本章小结 2.6 习题 第3章 数据缓冲区高速缓冲 3.1 缓冲头部 3.2 缓冲池的结构 3.3 缓冲区的检索 3.4 读磁盘块与写磁盘块 3.5 高速缓冲的优点与缺点 3.6 本章小结 3.7 习题 第4章 文件的内部表示 4.1 索引节点 4.1.1 定义 4.1.2 对索引节点的存取 4.1.3 释放索引节点 4.2 正规文件的结构 4.3 目录 4.4 路径名到索引节点的转换 4.5 超级块 4.6 为新文件分配索引节点 4.7 磁盘块的分配 4.8 其他文件类型 4.9 本章小结 4.10 习题 第5章 文件系统的系统调用 5.1 系统调用open 5.2 系统调用read 5.3 系统调用write 5.4 文件和记录的上锁 5.5 文件的输入/输出位置的调整—lseek 5.6 系统调用close 5.7 文件的建立 5.8 特殊文件的建立 5.9 改变目录及根 5.10 改变所有者及许可权方式 5.11 系统调用stat和fstat 5.12 管道 5.12.1 系统调用pipe 5.12.2 有名管道的打开 5.12.3 管道的读和写 5.12.4 管道的关闭 5.12.5 例 5.13 系统调用dup 5.14 文件系统的安装和拆卸 5.14.1 在文件路径名中跨越安装点 5.14.2 文件系统的拆卸 5.15 系统调用link 5.16 系统调用unlink 5.16.1 文件系统的一致性 5.16.2 竞争条件 5.17 文件系统的抽象 5.18 文件系统维护 5.19 本章小结 5.20 习题 第6章 进程结构 6.1 进程的状态和状态的转换 6.2 系统存储方案 6.2.1 区 6.2.2 页和页表 6.2.3 内核的安排 6.2.4 u区 6.3 进程的上下文 6.4 进程上下文的保存 6.4.1 中断和例外 6.4.2 系统调用的接口 6.4.3 上下文切换 6.4.4 为废弃返回(abortive return)而保存上下文 6.4.5 在系统和用户地址空间之间拷贝数据 6.5 进程地址空间的管理 6.5.1 区的上锁和解锁 6.5.2 区的分配 6.5.3 区附接到进程 6.5.4 区大小的改变 6.5.5 区的装入 6.5.6 区的释放 6.5.7 区与进程的断接 6.5.8 区的复制 6.6 睡眠 6.6.1 睡眠事件及地址 6.6.2 算法sleep和wakeup 6.7 本章小结 6.8 习题 第7章 进程控制 7.1 进程的创建 7.2 软中断信号 7.2.1 软中断信号的处理 7.2.2 进程组 7.2.3 从进程发送软中断信号 7.3 进程的终止 7.4 等待进程的终止 7.5 对其他程序的引用 7.6 进程的用户标识号 7.7 改变进程的大小 7.8 shell程序 7.9 系统自举和进程init 7.10 本章小结 7.11 习题 第8章 进程调度和时间 8.1 进程调度 8.1.1 算法 8.1.2 调度参数 8.1.3 进程调度的例子 8.1.4 进程优先权的控制 8.1.5 公平共享调度 8.1.6 实时处理 8.2 有关时间的系统调用 8.3 时钟 8.3.1 重新启动时钟 8.3.2 系统的内部定时 8.3.3 直方图分析 8.3.4 记帐和统计 8.3.5 计时 8.4 本章小结 第9章 存储管理策略 9.1 对换 9.1.1 对换空间的分配 9.1.2 进程的换出 9.1.3 进程的换入 9.2 请求调页 9.2.1 请求调页的数据结构 9.2.2 偷页进程 9.2.3 页面错 9.2.4 在简单硬件支持下的请示调页系统 9.3 对换和请示调页的混合系统 9.4 本章小结 9.5 习题 第10章 输入/输出子系统 10.1 驱动程序接口 10.1.1 系统配置 10.1.2 系统调用与驱动程序接口 10.1.3 中断处理程序
Unix操作系统的设计》是一本经典的计算机科学书籍,由Maurice J. Bach编写。这本书的设计是为了帮助读者深入理解Unix操作系统的设计原理和实现方式。 这本书首先介绍了Unix操作系统的历史和演变过程,从早期的多道程序设计系统到现代的分时操作系统,展示了Unix系统的发展轨迹。然后,作者解释了Unix系统的设计哲学,强调了其简单、模块化、可扩展的特点。通过透彻的解析,读者可以理解Unix系统为什么如此流行和成功。 接下来,书中详细介绍了Unix系统的各个核心组件,如进程管理、文件系统、内存管理和设备驱动等。通过描述这些组件的设计思想和实现方法,读者可以深入了解Unix系统的内部机制和工作原理。这对于计算机科学专业的学生和软件开发人员来说是非常宝贵的。 此外,《Unix操作系统的设计》还讨论了Unix系统的用户接口和工具,包括命令行界面、Shell编程、程序调试和系统管理等。这些内容使得读者可以全面了解Unix系统的使用方法和应用领域,对于想要成为Unix专家或者从事Unix相关工作的读者来说是非常有帮助的。 总的来说,《Unix操作系统的设计》是一本经典的计算机科学教材,通过对Unix操作系统的设计原理和实现方式的详细介绍,帮助读者深入理解Unix系统的内部工作机制和使用方法。无论是学生还是从事Unix相关工作的专业人士,都会从中受益匪浅。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值