linux操作系统课程学习01

1.先描述,再组织

之前也是在这个学校的课程里面学习了这个操作系统,但是学校的这个操作系统其实是非常的枯燥的,因为这个学校主要还是使用的应试作为自己的这个主要的目标,但是这个不是我想要的,在这个蛋哥的课堂上面,我找到了操作系统学习的答案;

操作系统这门学科我也是学习一遍了(仅仅针对于这个书本上面的内容,学校的课程)但是我觉得对于操作系统的理解还是非常的有限,就其本质还是因为学习操作系统的方式不对;

关于下面的这个思想,就是先描述,在组织的思想,在我们的这个整个计算机里面都是非常的适用的,听了老师的这个讲解之后,我也是深刻的体会到了里面的一些内容,其实我已经是第二次学习了,但是我发现即使是一样的这个内容,每一次学习的时候都会有这个新的理解和体会;

操作系统对于底层的硬件的管理,实际上就是我们的大学的校长,对于学生的管理,大学的校长不会直接对于我们的这个学生进行管理,也就是我们的操作系统不是直接对于我们的这个硬件里面管理的,大学的校长通过辅导员这个中间执行者对于学生进行管理,我们的这个操作系统通过驱动程序对于这个底层的硬件进行管理;

先描述,放在学校管理学生的这个维度上面而言,就是把我们的每一个学生的这个信息进行描述,然后使用一种数据结构进行组织起来进行管理,针对于这个操作系统而言,实际上也是我们的这个操作系统把每一个自己需要管理这个硬件使用一定的方式进行描述,描述之后使用数据结构组织起来,方便我们的这个操作系统进行管理;

为什么现在的这个类和对象的思想是现在的这个主流,为什么这个C++里面需要学习这个STL,为什么这个Java里面需要学习这个集合类等等相关的这个内容,其实这些都是先描述再组织的这个思想的体现;

类实际上就是在对于我们的这个信息进行描述,例如我们的这个person类,是不是就是对于我们的这个学生的个人的相关的信息进行描述,我们为什么需要学习这个STL里面的这个相关的容器,实际上这个就是对于我们的这个对象进行组织的一个方式,为什么需要学习这个java里面的这个集合类,这个也是对于我们的这个描述的信息进行组织的这个方式罢了;

为什么面向对象的这个思想是现在的这个主流,因为我们的这个操作系统就是先描述再组织的,因为这个思想其实不是个案,在我们的这个计算机里面的这个很多的学科,很多的这个领域上面都是有所体现的,只是我们的这个学习的经历不足,不了解罢了,今天希望大家可以理解;

2.进程的引入

什么是进程,即使是跟着学校的这个操系统课程学习了整整一个学期的时间,可能我可以说出来这个进程的概念,但是在系统层面对于这个进程却没有一个非常立体的这个认识;

进程实际上就是我们的内核数据结合加上我们的自身的代码和数据,只有代码和数据并不能说这个事一个进程,只有加上这个内核里面的这个数据对象才是真正的这个进程;

实际山我们的这个操作系统里面的内核数据结构对象也是使用某一个数据结构进行组织和管理的,比如说链表,每一个这个内核里面的数据结构对象都是绑定着自己的代码和数据的,因此我们的这个进程想要删除的时候,直接把这个对应的代码和数据删除,这个内核数据结构对象对应的这个节点进行清除即可;

3.实操查看这个进程的信息

左边的这个就是查看的这个进程的编号,也就是PID,右边的这个展示的是这个proc这个目录下面实际上存放的就是我们的这个系统里面运行着的这个所有的进程,当我们的这个左边的进程停止的时候,这个右边的这个对应的编号的这个进程也就消失了;

从上面的这个打印的信息里面我们可以发现这个对应的进程号的这个进程的属性和信息,也就是使用的是这个proc命令;

4.当前路径

下面的这个主要是想要介绍一下这个打印的信息里面的cwd和我们的exe:

exe这个显示的就是我们的这个代码和数据的文件的地址,也就是我们的这个程序对应的这个可执行程序的路径,当我们顺着这个路径把这个文件删除的时候,我们的这个进程其实是啥还可以继续运行的,因为当我们的这个进程创建起来的时候这个对应的代码和数据其实是已经拷贝到我们的这个内存里面来了,我们刚刚删除的这个对应的代码和数据,其实删除的就是这个磁盘上面的,但是这个内存里面还是存在的,因此我们是可以进行运行这个进程的;

上面的这个打印的结果里面,其实还是可以非常明显的看到这个cwd相关的这个信息的,也就是我们的这个代码当前所在的这个路径,这个是为什么,因为这个记录的就是我们当前的这个路径;

比如我们在学习这个c语言的时候,肯定会学习这个fopen函数,这个地方实际上就是两种方式,一个就是直接告诉这个对应的文件的地址路径,读写方式,还有一个方式就是使用的这个直接给出文件的这个名字即可,这个时候就会发现我们的这个文件实际上创建在了我们的当前路径;

为什么,就是因为我们的这个cwd里面存着我们当前的这个对应的路径,我们使用这个fopen的时候传递的这个参数拼接在了这个路径的后面,所以我们的这个文件创建在了当前的这个路径下面,这个就是本质的原因;

相关推荐
崎岖Qiu19 小时前
【OS笔记39】:设备管理 - 数据传送控制方式
笔记·操作系统·dma·os
REDcker1 天前
RTCP 刀尖点跟随技术详解
c++·机器人·操作系统·嵌入式·c·数控·机床
崎岖Qiu2 天前
【OS笔记40】:设备管理 - 通道控制方式
笔记·操作系统·dma·os
崎岖Qiu2 天前
【OS笔记35】:文件系统的使用、实现与管理
笔记·操作系统·存储管理·文件系统·os
顾林海3 天前
Android文件系统安全与权限控制:给应用数据上把“安全锁”
android·面试·操作系统
清风拂山岗 明月照大江3 天前
同步与死锁
操作系统
崎岖Qiu3 天前
【OS笔记38】:设备管理 - I/O 设备原理
笔记·操作系统·os·设备管理·io设备
崎岖Qiu3 天前
【OS笔记36】:文件存储空间管理(一)- 空闲区表法
笔记·操作系统·存储管理·文件系统·os
柏木乃一5 天前
进程(11)进程替换函数详解
linux·服务器·c++·操作系统·exec
羑悻的小杀马特7 天前
【Linux篇章】穿越网络迷雾:揭开 HTTP 应用层协议的终极奥秘!从请求响应到实战编程,从静态网页到动态交互,一文带你全面吃透并征服 HTTP 协议,打造属于你的 Web 通信利刃!
linux·运维·网络·http·操作系统·网络通信