我们是多么希望到第10篇的时候就能吃透Linux啊,可惜现实总是现实的。
5章,Linux的文件系统是这样的:文件+节点+数据,元数据在节点中,文件只是个指针,指向节点,节点再指向数据。文件分为硬链接和软链接。通过creat()、utime()、unlink()、getpwuid()、getgrgid()、chmod()、chown()、write()、read()、fget()、fwrite()、fread()、lseek()、fseek()等等函数操作文件修改信息录入数据。
6章,作为要闻信息载体的firefox的相关进程包括:
systemd(1)───systemd(1188)───kylin-app-manager(1704)───firefox(19503)
firefox进程是由kylin-app-manager进程产生的,但是代码库里好像没有ta的代码,是不是kylin-process-manager?回头得翻翻文档去。
system()等于fork()、waitpid()、execl()函数的总和。
systemd创建了systemd副本,由systemd副本再创建副本并替换为kylin-app-manager,kylin-app-manager创建副本并替换为firfox。
Openkylin中父进程消失后,子进程不归systemd,而是kylin-app-manager,所以ta是Openkylin的第一个进程,可能和桌面有关系,因为systemd右边还有很多其他kylin系进程。这是不是会影响兼容性?
7章,守护进程是服务。
单元文件包括驱动、启动、服务、终端、日志、端口和工具。
尝试添加firefox、marble和kylin-app-manager(桌面相关)的单元文件到systemd中并设置开机启动,还不知道怎么通过实体键进行切换。
以firefox为例,开机启动文件放在run中,这是一个单元文件,进程文件在bin中,这个bin中的文件是脚本的链接,程序被放在lib系统库中,主页设置在etc本地库中,opt中有应用链接。whereis不能搜索libucurl4,不知道为什么?目前可以用catfish代替。
没有显示环境systemd无法启动firefox,目前我还不知道桌面环境的进程号。
看来现阶段还是要将firefox、marble置于kylin-app-manager之中,通过启动设置来添加单元文件。
8章,进程也是系统的一部分,“进程和库”差不多也是系统和库。
9-12章之前有点想当然了,讲的是软件和调试。