《Operating System Concepts》阅读笔记:p125-p146

devtools/2025/2/26 18:34:37/

《Operating System Concepts》学习第 14 天,p125-p146 总结,总计 20 页。

一、技术总结

1.IPC(Interprocesses Comunicating)

(1) shared memory

(2)message passing

2.primitive

(1)语言中的 primitive

primitive: primus(“first”, 参考 prime) + -itive(a suffix that forms adjectives, indicating the characteristic of sth)

adj. Primitive literally means “relating to the first or original state”. In a broader sense, it describes sth is funamental or simple in nature。

c. sth primitive。

(2)编程中的 primitive

primitive 在英语中的意思不难理解,意为"原始的"。难以理解的是在编程中,primitive 作为名词的定义是什么,到底什么样的东西可以称为 primitive?下面是一些个人的理解:

Primitive is the most simple operation or function that are provied by a sytem, programming language, hardware, which serves as the foundation for more complex funtionality.

个人认为,primitive 想描述某个东西是"basic(基础的), simple(简单的), fundamental(不能再分的)",但 primitive 的定义是笼统的,相对的,没有明确的分界线——比如操作系统的 send(), receive() 称为 primitive, 那么我自己定义的某个函数(如:myfunc()) 能不能称为 primitive?

本人不大喜欢这个术语,因为没有明确的分界线;也不喜欢这个词的中文意思“原语”,因为不好理解“语”指什么。尽量不用这个词,但我们要能做到:看到别人用这个词的时候,能明白理解别人想表达的意思。

(3)示例

1)operating system primitiv

Under direct communication, each process that wants to communicate must explicitly name the recipient or sender of the communication. In this scheme, the send() and receive() primitives are defined as:

send(P, message)—Send a message to process P.

receive(Q, message)—Receive a message from process Q

个人认为,从操作系统层面来看,send(), receive() 是不可再分的,原始的,所以称为 primitive。但是从代码层面来说,其实这些函数是由许多语句组成的,那就不再适合称为 primitive。所以个人认为primitive 的定义是笼统的,相对的,没有明确的分界线,看所处的角度(层面)。

二、英语总结(生词:2)

1.bounded

(1)bounded: bound

adj. describing sth that is limited or has defined boundaries(有明确边界)。bind的过去式是bound, bound的过去式是 bounded。

2.conduit

(1)conduit: con-(“with, together”) + ducere(“to lead”)

c. A conduit is a channel often used for protedction((保护线路的)导线管)。

(2)示例

A pipe acts as a conduit allowing two processes to communicate(《Operating System Concepts》第 139 页)。

关于英语的注解同步更新汇总到 https://github.com/codists/English-In-CS-Books 仓库。

三、其它

多读书一定是有用的,很多时候不是读书无用,而是你读的书还不够多。我们不断读书,除了吸收各类知识外,更加重要的是培养一种自学能力,这样无论知识如何更新,你都会很快跟上时代的节奏。

四、参考资料

1. 编程

(1) Abraham Silberschatz,Peter Baer Galvin,Greg Gagne《Operating System Concepts》:https://book.douban.com/subject/30272539/

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)


http://www.ppmy.cn/devtools/162857.html

相关文章

xxl-job 源码解析,分布式任务调度xxl-job 客户端启动 执行器原理(二)

当前主要介绍了:执行器如何进行初始化,如何向调度器注册,调度器侧接收相关方法分析 目录: 1. 配置xxl-job数据库环境,将调度器,执行器demo进行启动。 2. 分析执行器启动流程 3. 分析调度器接收心跳流程 1…

将VsCode变得顺手好用(1

目录 设置中文 配置调试功能 提效和增强相关插件 主题和图标相关插件 设置中文 打开【拓展】 输入【Chinese】 下载完成后重启Vs即可变为中文 配置调试功能 在随便一个位置新建一个文件夹,用于放置调试文件以及你未来写的代码,随便命名但切记不可用中…

4. MySQL 逻辑架构说明

4. MySQL 逻辑架构说明 文章目录 4. MySQL 逻辑架构说明1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors(连接器)1.3 第1层:连接层1.4 第2层:服务层1.5 第3层:引擎层1.6 存储层 2. SQL执行流程2.1 MySQL 中的 SQL 执行流程 2.2 MySQL…

STM32-智能台灯项目

一、项目需求 1. 红外传感器检测是否有人,有人的话实时检测距离,过近则报警;同时计时,超过固定时间则报警; 2. 按键 1 切换工作模式:智能模式、按键模式、远程模式; 3. 智能模式下,根…

【Linux】Ubuntu服务器的安装和配置管理

ℹ️大家好,我是练小杰,今天周二了,哪吒的票房已经到了138亿了,饺子导演好样的!!每个人的成功都不是必然的,坚信自己现在做的事是可以的!!😆 本文是有关Ubunt…

MySql常用指令

原文地址:MySql常用指令 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 1 show databases ; 列出所有的数据库名字 2 show tables ; 列出当前库下所有的表名字 3 show create table xxx ; 显示表xxx的建表语句 4 create role…

国内访问Github的四种方法(2025版)

声明:以下内容,仅供学习使用,不得他用。如有他用,与本文作者无关。 国内访问GitHub及下载文件的解决方案整理如下,结合最新技术方案和实测有效方法: 一、网络层解决方案 Hosts文件修改法 通过DNS查询工具…

2.1部署logstash:9600

实验环境:关闭防火墙,完成java环境 yum -y install wget wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm yum localinstall jdk-8u341-linux-x64.rpm -y java -version 1.安装logstash tar xf logstash-6.4.1.tar.gz -C /usr/local…