读书记录
文章平均质量分 61
Iron2222
一个相当工程师的研究僧!
展开
-
世界上第一门编程语言究竟是谁?
文章目录写在前面正文图灵机打孔卡片机器代码汇编语言FortranCOBOLALGOL 60PascalB语言C语言第一个编译器是什么语言编译的?自举写在最后写在前面它们不厌其烦地执行人的指令;它们收集世间万物的知识,供人顷刻之间随心调取;它们是现代社会的中流砥柱,但其存在却往往备受忽视。它们就是计算机,是人类迄今为止最伟大的发明成就,是登峰造极、至高无上的终极工具。计算机科学的问世,推动了人类历史上最非比寻常的社会变革之一。而编程语言作为计算机的灵魂,存在感却远远高于计算机,它就像一个纽带把我们和原创 2022-05-28 14:03:29 · 918 阅读 · 0 评论 -
8.7 进程间的通讯:管道、消息队列、共享内存、信号量、信号、Socket
进程间的通讯进程间为什么需要通讯?共享数据、数据传输、消息通知、进程控制进程间的通讯有哪些类型?首先,联系前面讲过的知识,进程之间的用户地址空间是相互独立的,不能进行互相访问,但是,内核空间却是共享的,所以进程间的通信要通过内核。这里以Linux为例,介绍几种常见的Linux进程间的通讯方式:共享内存、管道、消息队列、信号量、信号。管道如果你学习过linux命令肯定见过 | 这个竖线。$ ps auxf | grep mysql上面命令里的竖线 | 就是一个管道,它在这里的作用是:把前原创 2021-12-04 19:48:43 · 1388 阅读 · 0 评论 -
8.4 进程控制
进程控制https://note.youdao.com/s/72dkbOS8进程的控制结构要对进程进行控制,首先就要对进程进行识别,进程本身也应该有其自身的结构。其实,操作系统本身就是一个程序,有一句经典的话:程序 = 算法 + 数据结构,所以对于单个进程来说,可以用一种数据结构来表示它,这种数据结构称之为进程控制块PCB。PCB是进程存在的唯一标识。++那么这些PCB之间是如何组织的?++通常我们使用的是链表的方式进行组织的,就是把相同状态的进程链在一起,组成各种队列。如就绪队列和阻原创 2021-12-03 15:31:17 · 304 阅读 · 0 评论 -
9.4 Linux内存管理
Linux的内存管理图片请移步云笔记:https://note.youdao.com/s/HRhKxX2OLinux内存管理,采用了逻辑地址+线性地址,也就是段+页。主要还是采用的还是页式内存管理,但不可避免的涉及段机制。因为intel处理器的发展历史导致的,CPU的硬件结构就是如此,硬件在一定程度上,决定了软件。但在实际使用中,Linux也是相当聪明的,架空段式映射。Linux系统中的每个段都是从0地址开始的整个4GB虚拟空间(32位环境下),也就是所有的段的起始地址都是一样的。这意原创 2021-12-02 21:43:33 · 310 阅读 · 0 评论 -
9.3 内存分页
内存分页有些图片再上传时会出现问题,可以看我这个分享的云笔记是一样的。https://note.youdao.com/s/OQ2AW7wf内存分段的好处就是可以产生连续的内存空间,缺点是会出现内存碎片化和内存交换效率低的问题。这个时候就出现了——内存分页。分页就是把整个虚拟和物理内存空间切成一段段固定尺寸的大小,我们叫它-页page。在Linux下,一页是4KB。虚拟地址和物理地址之间通过页表来映射。分页是如何解决分段的内存碎片化、内存交换率低的问题的呢?其实就是因为标准化。在释放内存原创 2021-12-02 21:40:46 · 228 阅读 · 0 评论 -
9.2 内存分段
看图片,去我的云笔记:https://note.youdao.com/s/CYFckkJK点这里内存分段操作系统是如何管理物理地址和虚拟地址之间的关系的呢?这里先介绍一种 内存分段。程序一般是由若干个逻辑分段组成的,比如说代码段、数据段、栈段、堆段等。不同的段有不同的属性,所以就用分段把这些段分离出来。分段机制下,虚拟地址和物理地址是如何映射的?分段机制下,虚拟地址由两部分组成,段选择子和段内偏移。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MHBzSI原创 2021-12-02 21:38:47 · 212 阅读 · 0 评论 -
9.1物理与虚拟寻址
看不到图片就去我的云笔记:https://note.youdao.com/s/FHouFpll虚拟寻址,其实一张图就可以说明白:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aYma5jnb-1638452180921)(https://note.youdao.com/yws/res/c/WEBRESOURCEa700e98128c2c2947ab9dbf65f121f3c)]CPU发送一段虚拟地址4100给MMU(内存管理单元),MMU把VA虚拟地址4100转原创 2021-12-02 21:36:49 · 638 阅读 · 0 评论 -
ECF异常控制流
ECF异常控制流(Exceptional Contral Flow)可以简单地理解成,你在做一件事,这时候突然有人叫你,让你去做另一件事。如:硬件层,类似于各种中断;操作系统层,内核通过上下文切换将控制从一个用户进程转移到另一个用户进程;应用层,一个进程可以发送信号到另一个进程,而接收者会将控制突然转移到它的一个信号处理函数,就和聊QQ一样,有人给你发了一个消息,你切换聊天界面,查看这个消息;其实中断只能算是异常的一种,除此之外,还有陷阱、故障、终止。陷阱:是一种有意的异原创 2021-11-30 19:40:53 · 304 阅读 · 0 评论 -
链接为什么这么重要?
写在前面:准备新开一个读书笔记专题,做一些记录,每天同步更新到我的码云库里,希望大家捧场。https://gitee.com/iron2222/artical.git点这里1、链接所处的位置?按照我以往的理解,预处理、编译、汇编、链接、加载,链接在汇编之后。但链接其实可以处于好多位置,比如在加载时,或者程序运行时。2、链接为什么这么重要?使得分离编译成为可能,对于一个大型的应用程序来说,可以把它拆分成各个模块,在需要进行升级时,只需要修改指定模块,编译它,再进行链接。3、链接器需要完成的原创 2021-11-30 09:14:10 · 312 阅读 · 0 评论