1.操作系统为什么要提供服务?
计算和操作系统设计出来是为了提供服务的,要不然设计出来毫无意义
如何提供服务?
操作系统是不相信任何人的,他不会暴露出自己的任何代码逻辑,数据结构去,其他数据的相关细节!
操作系统是通过系统调用的方式,对外提供接口服务的
Windows的系统接口和Linux的系统接口一样吗?
不一样,Windows的系统接口是图形化界面,而Linux的是shell
Linux的本质是用C语言写的,这里所谓的接口的本质是C函数
我们自己写的代码,编译过后形成的一个可执行程序,就是进程,别人写的代码编译过后形成的也是
如何查看pid:
grep
当前路径:当前进程工作的路径(进程会自己维护)我所在的文件夹(绝对路径)
proc:内存文件系统,装载的是当前进程的实时信息
如果这个进程当前不再执行了,那么在proc中与之相对应的目录(记录这个进程信息)也会随之被销毁
pid:process id:进程的一个标识符,相当于你的身份证号
ppid:parent process id:父进程的pid
进程结束后与之相应的信息也会被销毁
同一个文件被放入内存中执行时,第一次被执行的pid和第二次执行的pid并不相同,但他们的ppid是相同的,并且都会是bash。因为文件执行时会被重新分配pid!
pid,当前路径这些东西在哪?
都是进程的内部属性。(进程的内部属性)都在PCB中
只有运行起来的程序(进程)才有pid
如何查看进程的pid?
如何结束一个进程?
Ctrl+C kill -9 进程的pid
进程执行之间也有规律:
ps ajx | -l && ps ajx | grep 9180:查询进程信息
几乎我们在命令行上所有执行的指令(你的cmd),都是bash进程的子进程!
代码创建子进程的接口:fork()(他有两个返回值):如果创建成功,会创建子进程的pid给父进程