当前位置:首页>Linux>《操作系统教程(Linux 版)》第二章读书笔记

《操作系统教程(Linux 版)》第二章读书笔记

  • 2026-10-11 07:16:25
《操作系统教程(Linux 版)》第二章读书笔记
Hello,大家好,我是程序媛MM。

本文约2000字,今天继续来阅读《操作系统教程(Linux版)》第二章,本文整理了这一章节的读书笔记。

关注公众号, 即可获得与Linux相关的电子书籍以及常用开发工具,文末有文档清单。


用户接口 · 作业体系 · Linux 实战

一 章节概述


本章主题为用户接口,同时讲解作业相关基础概念。核心内容分为作业体系、三大用户接口(命令接口、编程接口、图形接口),并结合 Linux 系统实例讲解各类接口的具体使用。

本章承接第一章操作系统基础,聚焦操作系统与用户、应用程序的交互方式,是理论结合实操的过渡章节,也是理解人机交互、系统调用的关键内容。

二 核心知识点梳理


(一)作业基础概念

1. 作业与作业步

作业:用户提交给计算机完成的一项完整任务,由程序、数据、作业说明书三部分组成。批处理系统中作业是内存分配的基本单位;分时、桌面系统一般弱化作业概念。

作业步:完成一个作业所划分的独立执行步骤(如编辑 → 编译 → 链接 → 运行),上一个作业步的输出通常是下一个作业步的输入。

2. 作业控制块(JCB)

作业在系统中存在的唯一标识。系统为收容状态的作业创建 JCB,记录作业名、优先级、资源需求、运行状态、外存地址等管理信息,作业结束后回收。

3. 作业的四种状态及转换

graph LR     提交状态 --> 收容状态 --> 执行状态 --> 完成状态

状态
说明
提交状态
用户正在向系统录入作业,未进入外存
收容(后备)状态
作业存入外存,进入后备队列,等待调度
执行状态
作业被调度调入内存,创建进程开始运行
完成状态
作业运行结束,系统回收资源、输出结果,撤销 JCB
4. 作业输入 / 输出方式

共 5 种主流方式:

方式
特点
联机 I/O
主机直接连接外设,交互性强,但 CPU 利用率低
脱机 I/O
借助外围卫星机,分离主机与低速外设,提升 CPU 效率
SPOOLing
伪脱机技术,借助外存输入/输出井实现外设并发,现代系统主流方式
直接耦合
通过公用存储器连接主机与外围机
网络 I/O
依托网络跨设备传输作业

(二)操作系统三大用户接口

操作系统接口分为操作级接口(面向普通用户)和编程级接口(面向开发者),具体体现为三类接口,底层均依赖系统调用实现。

1. 命令接口
  • 联机用户接口(交互式):用户终端实时输入命令,系统即时响应。Linux 中对应 Shell,Windows 中为 COMMAND.COM
  • 脱联用户接口(批处理):又称作业控制语言(JCL),提前编写命令脚本,系统自动批量执行

命令分类:系统管理、文件管理、网络、文本编辑、权限设置、备份压缩等。

2. 编程接口(系统调用)

操作系统提供给应用程序的唯一编程接口,是用户程序访问系统软硬件资源的唯一途径。

  • 运行状态:触发访管中断,程序从用户态切换到核心态执行,执行完毕返回用户态
  • 分类:设备管理、文件管理、进程控制、进程通信、存储管理、线程管理
  • 参数传递方式:陷阱指令自带参数、通用寄存器传参、堆栈传参
3. 图形接口(GUI)

以可视化图形元素实现人机交互,无需记忆命令,易用性强。

元素
说明
窗口
程序运行的可视化区域,支持缩放、移动、切换
图标
快捷入口,代表程序/文件
菜单
集合操作命令,分为下拉、弹出菜单
对话框
用于信息输入、参数设置、消息提示

(三)Linux 系统接口详解

1. Linux 命令接口(Shell)

Shell 是 Linux 的命令解释器,同时也是脚本编程语言。

分类
常用命令
系统设置与管理
passwd
, shutdown, kill, who
目录/文件管理
cd
, ls, cp, rm, chmod
压缩备份
gzip
, tar, zip
网络通信
ping
, ftp, write
文本操作
vi
, grep, cat, more

重定向符号:>、>>、<

2. Linux 编程接口

以 C 语言函数形式提供,本质是封装后的系统调用:

分类
接口示例
I/O 操作
open
, close, read, write
进程管理
fork
, exit, getpid
进程通信
pipe
, kill
内存管理
malloc
, mmap
3. Linux 图形接口

主流为 X Window 系统,搭配 GNOME、KDE 等桌面环境,兼顾图形操作与命令终端。

三 重点与难点


学习重点 ✅

  • 作业的四大状态、JCB 的作用与地位
  • 三大接口的区别、使用场景及底层联系
  • 系统调用的概念、执行模式(用户态 / 核心态切换)
  • Linux 常用命令、典型系统调用的分类与用途

学习难点 ⚠️

  • 用户态与核心态的切换逻辑:访管中断触发时机、两种模式的权限差异
  • 脱机命令接口与批处理的结合原理
  • 系统调用与普通库函数的区分
  • SPOOLing 技术的工作逻辑(作业 I/O 核心考点)

四 知识点总结与考点梳理


知识逻辑线

作业(批处理体系)→ 作业状态与 I/O 方式 → 操作系统三大接口 → Linux 接口实战应用

高频考点 🎯

题型
常见考点
名词解释
作业、作业步、JCB、系统调用、用户态、核心态、SPOOLing
简答题
三大接口的功能与适用场景、作业状态转换过程、系统调用执行流程
辨析题
联机接口 vs 脱机接口、系统调用 vs 普通函数、用户态 vs 核心态
实操考点
Linux 基础命令分类、Shell 脚本基本认知

五 学习心得


本章是理论落地的重要章节。作业是批处理系统的核心载体,而用户接口直接决定操作系统的易用性。

区分使用人群是理解三类接口的关键:

  • 普通用户 → 图形 / 联机命令
  • 开发人员 → 系统调用

同时,用户态 / 核心态切换是操作系统权限管理的核心设计,也是后续进程、中断章节的基础。结合 Linux 终端实操命令,能更快理解接口的工作原理。


📖 来源:《操作系统教程(Linux 版)》第二章 · 读书笔记


往期文章(欢迎订阅技术分享栏目全部文章):

【从零开始撸内核驱动源码】:以ttyserial(串口驱动)为例,串联字符设备驱动基础知识点的学习计划
Linux内核源码顶层 Makefile分析并单独编译调试内核自带的驱动
【从零开始撸内核驱动源码】:ttynull驱动
Linux内核驱动安装失败问题调试及解决方法
Linux内核驱动源码走读之编译内核及外部驱动实操指南

“谢谢你看到这里”

这里是女程序员的笔记本

 15年+嵌入式软件工程师兼二胎宝妈

分享读书心得、工作经验,自我成长和生活方式。

希望我的文字能对你有所帮助

最新文章

随机文章