最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
数据是有多少的分别的,我们对于管理的第二层理解就是如何管理好大量的数据?
请记住六个字:先描述,再组织
想想我们人是如何认识世界的?是通过属性,告诉你你用什么来吃饭写字,你就知道是手,这就是属性。记得之前我写进博客的那句话:一切皆对象,啊不是那个对象(反正我是没有),说人话就是一切事物可以通过抽取对象的属性来达到描述对象的目的。面向对象的诞生也是必然的,因为他符合我们人认识事物的方式。
所以我们对数据的管理根据我们认识事物的方式,会变成对数据结构的管理。比如我们面对成千上万的同学,假如我就是校长,我肯定会去想有没有一种数据结构,能满足我来描述他们?于是乎,对学生信息的管理就变成了对链表的增删查改!
进程🤔
主角登场,在操作系统中有四大管理:内存管理,进程管理,文件管理和驱动管理,我们今天主要讲进程。
在书里面你可能看到:进程是一个运行起来的程序。这句话就是个废话文学,进程和程序又有什么区别?问个问题,程序是文件吗?是的,我在 Linux 开篇也说过,这个文件他就放在磁盘。每一个 exe 执行文件都放在内存了,当你打开你的任务管理器你会发现有一堆的进程:
我们知道了操作系统里可能存在大量进程,那么操作系统也是需要将所以的进程进行管理的,根据我们上面的理念,对进程的管理也是先描述再组织的数据管理,类比一下学生信息,进程会被放进一个 task_struct 结构体进行封装,里面包含了他所有属性,但现在我们无从得知。然后再对每一个 struct 进行连接形成一个双链表,最终又变成了内核数据结构的管理!c所以进程的概念应该是:程序加载到操作系统的代码和它所对应的内核数据结构的总称就是进程
其中这个包含代码属性的结构体 task_struct 叫做 PCB ,即进程管理块,它是 Linux 内核的一种数据结构,转载在 RAM 里且携带进程信息:
软硬件和操作系统交互后就会以进程的方式对外提供服务,他如同一个银行,你能看到工作人员在透明的工作区,但是确实封闭的只暴露一些窗口,这就足以说明银行的中立性他不相信任何人!操作系统也是如此,他要防止少数不法分子又要给多数人提供服务,他提供的窗口就是接口形式。这个接口其实就是 C 语言,内核也是 C 语言写的,所以C语