![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux操作系统精讲
文章平均质量分 95
胡桃姓胡,蝴蝶也姓胡
非常熟悉service mesh,有共同兴趣的小伙伴可以私信我
展开
-
Linux操作系统精讲之高级IO
代码在:https://github.com/sjmshsh/System-Call-Learn通过阅读本篇文章,你可以收获:把数据拷贝到磁盘上,接受网络数据等等,这些工作都是操作系统内核完成的,其实外面调用系统调用的最终目的是进行拷贝操作,把数据从用户态缓存区拷贝到内核缓冲区,或者把数据从内核缓冲区拷贝到用户缓冲区,我们把这些行为统称为IO,以读取网络数据为例,其实这就是一个生产者消费者模型,我们的用户态缓存是消费者,网络对方是生产者,内核缓冲区是临界区。那么对端没有数据的时候,我们前面写的大部分程序都不原创 2023-01-27 16:50:21 · 609 阅读 · 0 评论 -
Linux操作系统之进程信号
代码存放在:https://github.com/sjmshsh/System-Call-Learn/tree/master/signal我们先来看一张图,了解一下通过阅读本博客,你可以收获什么。原创 2023-01-22 19:44:04 · 1633 阅读 · 0 评论 -
Linux操作系统之线程
考虑进程,进程是对一个正在运行的应用程序的抽象,例如我们电脑中正在运行的Goland和IDEA两个编译器对应两个不同的进程。而考虑线程,线程是进程内部的一个执行分支,一个执行流,它共享进程的地址空间,文件,数据,代码等。有时我们会遇到多进程很难解决的问题,例如Goland中,我从键盘输入字符和编译器中对语法进行检查,如果只有一个执行流的话,那么我们必须把字符全部输入到编译器里面去了之后,再开始进行语法检查,这样带给用户的体验感是很差的,因此我们需要一个并行执行的操作。也就是引入了多线程的概念,原创 2022-10-28 12:53:22 · 1467 阅读 · 0 评论 -
Linux操作系统之进程控制
我们在之前就已经说过了,一开始父进程和子进程指向的其实都是同一份空间。此时,我们把页表项100这个部分改成非只读,这个时候我们就会发生进程往一个不可写的内存写入了,操作系统就会把进程中断,例如上面的图片,我本来是只读的,我把它改成可读可写了,这个时候映射关系就会出现问题了,操作系统这个时候检测到了之后就会把进程停止,发生缺页中断,然后修改页表和对应关系,这个时候我的子进程被中断了,不知道发生了什么,这是。修改完之后写时拷贝,物理内存分开。因此,进程创建从时间和空间上的成本都非常高。原创 2022-08-24 18:52:01 · 484 阅读 · 1 评论 -
Linux操作系统之进程
书本上进程的概念是:加载到内存的程序,叫做进程。说到进程,系统中有没有可能存在大量的进程呢?这是当然的,那么根据我们前一篇文章,里面的先描述再组织原则。我们的操作系统为了管理多个进程,会给进程创建一个结构体,然后用某种数据结构把这些结构体组织起来,结构体和进程一一对应。当我们对进程进行操作,进行查找的时候,实际上就是对结构体进行操作和查找结构体的所处位置。这个结构体我们的官方把它叫做PCB(程序控制块),结构体的名字我们把它称作tast_struct。原创 2022-08-23 17:23:48 · 902 阅读 · 0 评论 -
Linux操作系统之操作系统概论以及操作系统设计思想
这篇文章我们来介绍一下操作系统相关的知识。说到操作系统,我们肯定是要介绍冯诺依曼体系结构的。原创 2022-08-22 14:02:29 · 1299 阅读 · 0 评论 -
Linux操作系统之进程间通信
进程间通信就是不同进程之间传播或者交换信息,简称IPC(Interprocess communication)。原创 2022-08-21 18:07:39 · 541 阅读 · 0 评论 -
Linux操作系统之基础IO
当我们的程序运行起来变成进程之后,OS会默认的帮我们打开3个标准输入输出。分别是标准输入(用于键盘写入),标准输出(用于显示器显示),表示错误(也是用于显示器显示)。因为我们基本的输入,比如输入命令行指令,还有看到我们的命令行,以及我们出现的一些错误我们是必须看到的,所以任何一个进程在创建的时候都必须开启这3个标准输入输出。而Linux下一切皆文件!!!这3个标准输入输出也对应的有struct file。我们进程一创建就已经指向了这个struct file了。因此0,1,2已经被占用,数组从3开始继续进行存原创 2023-02-03 17:11:31 · 1341 阅读 · 0 评论