本文约2000字,今天继续来阅读《操作系统教程(Linux版)》第二章,本文整理了这一章节的读书笔记。
关注公众号, 即可获得与Linux相关的电子书籍以及常用开发工具,文末有文档清单。
用户接口 · 作业体系 · Linux 实战
本章主题为用户接口,同时讲解作业相关基础概念。核心内容分为作业体系、三大用户接口(命令接口、编程接口、图形接口),并结合 Linux 系统实例讲解各类接口的具体使用。
本章承接第一章操作系统基础,聚焦操作系统与用户、应用程序的交互方式,是理论结合实操的过渡章节,也是理解人机交互、系统调用的关键内容。
作业:用户提交给计算机完成的一项完整任务,由程序、数据、作业说明书三部分组成。批处理系统中作业是内存分配的基本单位;分时、桌面系统一般弱化作业概念。
作业步:完成一个作业所划分的独立执行步骤(如编辑 → 编译 → 链接 → 运行),上一个作业步的输出通常是下一个作业步的输入。
作业在系统中存在的唯一标识。系统为收容状态的作业创建 JCB,记录作业名、优先级、资源需求、运行状态、外存地址等管理信息,作业结束后回收。
graph LR 提交状态 --> 收容状态 --> 执行状态 --> 完成状态
| 提交状态 | |
| 收容(后备)状态 | |
| 执行状态 | |
| 完成状态 |
共 5 种主流方式:
| 联机 I/O | |
| 脱机 I/O | |
| SPOOLing | |
| 直接耦合 | |
| 网络 I/O |
操作系统接口分为操作级接口(面向普通用户)和编程级接口(面向开发者),具体体现为三类接口,底层均依赖系统调用实现。
COMMAND.COM命令分类:系统管理、文件管理、网络、文本编辑、权限设置、备份压缩等。
操作系统提供给应用程序的唯一编程接口,是用户程序访问系统软硬件资源的唯一途径。
以可视化图形元素实现人机交互,无需记忆命令,易用性强。
| 窗口 | |
| 图标 | |
| 菜单 | |
| 对话框 |
Shell 是 Linux 的命令解释器,同时也是脚本编程语言。
passwdshutdown, kill, who | |
cdls, cp, rm, chmod | |
gziptar, zip | |
pingftp, write | |
vigrep, cat, more |
重定向符号:>、>>、<
以 C 语言函数形式提供,本质是封装后的系统调用:
openclose, read, write | |
forkexit, getpid | |
pipekill | |
mallocmmap |
主流为 X Window 系统,搭配 GNOME、KDE 等桌面环境,兼顾图形操作与命令终端。
作业(批处理体系)→ 作业状态与 I/O 方式 → 操作系统三大接口 → Linux 接口实战应用| 名词解释 | |
| 简答题 | |
| 辨析题 | |
| 实操考点 |
本章是理论落地的重要章节。作业是批处理系统的核心载体,而用户接口直接决定操作系统的易用性。
区分使用人群是理解三类接口的关键:
同时,用户态 / 核心态切换是操作系统权限管理的核心设计,也是后续进程、中断章节的基础。结合 Linux 终端实操命令,能更快理解接口的工作原理。
📖 来源:《操作系统教程(Linux 版)》第二章 · 读书笔记
往期文章(欢迎订阅技术分享栏目全部文章):

这里是女程序员的笔记本
15年+嵌入式软件工程师兼二胎宝妈
分享读书心得、工作经验,自我成长和生活方式。
希望我的文字能对你有所帮助