当前位置:   article > 正文

操作系统真象还原第十五章_操作系统还原真象 命名管道

操作系统还原真象 命名管道

15.1 fork 的原理与实现

15.1.1 什么是 fork

fork 函数原型是 pid_t fork(void),返回值是数字,该数字有可能是子进程的 pid,有可能是 0,也有可能是 -1。
在这里插入图片描述

15.1.2 fork 的实现

fork 要分两步,先复制进程资源,再跳进去执行。

进程的资源:

  • 进程的 pcb,即 task_struct
  • 程序体,即代码段数据段等
  • 用户栈
  • 内核栈,进入内核态时,需要保存上下文环境
  • 虚拟地址池,每个进程拥有独立的内存空间,其虚拟地址是用虚拟地址池来管理的
  • 页表,让进程拥有独立的内存空间

15.4 实现一个简单的 shell

15.4.1 shell 雏形

操作系统要想实现和用户的交互,需要感知用户的输入并给予回馈,也就是要为用户提供个交互接口。

shell 的功能大致是获取用户的键入,然后分析输入的字符串,判断是内部命令,还是外部命令,然后执行不同的策略。

15.4.2 添加 ctrl+u 和 ctrl+l 快捷键

Linux 中,ctrl+u 的作用是清除本次的输入,相当于连续按下退格键的效果。ctrl+l 的作用是清屏,但是 ctrl+l 并不会清掉本次的输入。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/58688
推荐阅读
相关标签
  

闽ICP备14008679号