第1章 绪论

 

1. 名词解释

  • POSIX:Portable Operating Systems based on Unix
  • SMP:Symetric Multiprocessor,对称多处理器

 

2. Linux的特点

  • 单块结构的内核:每一个内核层都被集成到整个内核程序中
  • 编译并静态连接的传统Unix内核:可以动态地装载和卸载module,如驱动程序
  • 内核线程:是一个能被独立调度的执行环境,区别于用户进程
  • 多线程应用程序支持:Linux用轻量级进程实现(lightweight process,LWP)
  • 抢占式(preemptive)内核
  • 多处理器支持
  • 支持多个文件系统

 

3. 文件类型

3.1 索引节点

文件系统处理文件所需要的所有信息都包含在索引节点inode中

3.2 硬链接

硬链接之间平等;硬链接执行索引节点inode,一个文件的硬链接数量就是这个文件索引节点的索引数;

作用:防止误删文件

3.3 软链接

快捷方式,有指向性;

作用:方便对文件路径的操作

 

4. 可重入内核

4.1 进入内核态的三种途径

  • 系统调用
  • 异常处理(除0,缺页等)
  • 中断程序

内核控制路径:通过上述三种方式进入内核的指令序列

 

4.2 内核控制路径的交错执行

① 用户态程序 -> 系统调用 -> (因为缺少资源导致)内核调度 -> 另一个内核进程

两条控制路径代表两个不同的进程在执行

② 系统调用 -> (因为缺少资源导致)异常处理

两个内核控制路径代表同一个进程在执行

③ 系统调用/异常处理 -> 中断

两个内核控制路径在同一个进程的可执行上下文中(其实有一个是中断上下文);

所花费的系统CPU时间都算给这个进程;然而中断处理程序无需代表这个进程。

④ 内核抢占

和①情况一致。

 

4.3 进程管理

① 孤儿进程

定义:父进程已被kill,该进程还存在,并将由init进程接管,调用wait回收子进程的资源;

危害:孤儿进程没有危害;

② 僵尸进程

定义:子进程执行结束,父进程并没有调用wait来回收进程资源;

原因:可能是父进程忘记调用wait,或者卡住了;

危害:僵尸进程过多,会占用系统资源(进程号有限),导致无法创建新进程;

解决:从父进程入手,保证调用wait回收子进程资源

 

5. 设备驱动程序

  • 在Linux中,设备又称为设备文件,挂在虚拟文件系统下
  • 每个设备都有自己的驱动程序,内核通过设备驱动程序控制设备

 

posted @   moonのsun  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示