zoukankan      html  css  js  c++  java
  • 操作系统设计与实现 读笔(3)

      第三章:I/O。

      软件必须处理的问题:I/O硬件,I/O设备和I/O控制器的关系。

      I/O软件的四个层次:中断例程,设备驱动程序,设备无关I/O软件,以及在用户空间运行的I/O库和假脱机(?)。

      死锁概念:发生在一组进程都拥有对某些资源的互斥存取权,并且每个进程还要求仍属于该组中另一个进程的资源时。

      MINIX中的设备驱动程序是作为嵌入在内核中的进程来实现的。

      同步闹钟任务与任务系统不是设备驱动程序但在结构上非常相似。都有一个主循环取出请求并进行处理,逐渐送回回答消息报告发生的事件。所有的任务都位于相同的地址空间中。

      RAM磁盘,硬盘,软磁盘驱动器任务都是用一个相同的主循环拷贝,并共享相同的函数。不过,每个任务仍然是独立的进程。几种不同的使用系统控制台,串行线和网络连接的终端都由一个单一的终端任务支持。

      设备驱动程序和中断系统有许多不同的关系。

      1.能很快完成工作的设备如RAM磁盘和内存映像显示器根本不使用中断。

      2.硬盘驱动器任务在任务代码本身中完成了大部分工作,中断处理程序只返回状态信息。

      3.时钟中断处理程序本身执行了许多登记操作,只有在处理程序不能处理某项工作时才向时钟任务发送一条消息。

      4.键盘中断处理程序缓冲输入并且从不向它对应的任务发送消息,而是改变一个由时钟中断处理程序检测的变量,时钟中断处理程序将向终端任务发送一条消息。

      -----------------以上内容是课本小结!just copy......------------

      MINIX的源代码以及设备驱动程序的实现部分实在不好理解,太多的信号量,太多的进程关系的牵扯,太多的中断处理手段。真正的代码实现阶段非常之复杂,不单单是理论,更多的是实践经验和调试的最优结果的积累。

      (第二章读得比较仓促,带来了一些不好的影响,如果看完完全记不住的内容,还是早早跳过的好,硬着头皮读下去,也没有什么意义。maybe someday I can read this part again.who knows?)

      迈向第四章......(好心虚,呵呵呵呵。)

  • 相关阅读:
    洛谷 P1593 因子和
    洛谷 P1167 刷题
    洛谷 P1613 跑路
    洛谷 P1629 邮递员送信
    洛谷 P1654 OSU!
    洛谷 P1967 货车运输
    FPGA开平方的实现
    FPGA设计思想之串并转换
    verilog乘法器的设计
    FPGA浮点数定点数的处理
  • 原文地址:https://www.cnblogs.com/nuaalida/p/4248006.html
Copyright © 2011-2022 走看看