进程控制块 struck task_struck
内容分类 • 标⽰符: 描述本进程的唯⼀标⽰符,⽤来区别其他进程。 • 状态: 任务状态,退出代码,退出信号等。 • 优先级: 相对于其他进程的优先级。 • 程序计数器: 程序中即将被执⾏的下⼀条指令的地址。 • 内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针 • 上下⽂数据: 进程执⾏时处理器的寄存器中的数据[休学例⼦,要加图CPU,寄存器]。 • I∕O状态信息: 包括显⽰的I/O请求,分配给进程的I∕O设备和被进程使⽤的⽂件列表。 • 记账信息: 可能包括处理器时间总和,使⽤的时钟数总和,时间限制,记账号等。 • 其他信息 • 具体详细信息后续会介绍
操作系统是软件,进程,文件 先描述再组织,操作系统对硬件管理本质是先描述再组织,是对数据的管理。 把对象组织成数据结构管理。 struck 进程{ }
在linux就是 struck task_struck
操作系统 系统调用是获取操作系统的数据的功能 系统调用本质就是函数,他有返回值和输出参数 本质就是用户和操作系统之间进行系统调用
用库,外壳,指令来调用函数就是本质
跟硬件有关的库函数必定进行了系统调用
进程=内核数据结构对象+自己的代码和数据 也就是=PCB+自己的代码
getpid 看到pid ps axj 展现所有的进程
1.25 ps axj | head -l ;ps axj |grep myprocess ;可以替换成&&
crtl + c是杀掉进程 kill -9 系统编号也可以杀掉指定的进程 指令都是进程,所有操作都是进程 用户以进程来访问操作系统的 进程就叫做task_ ls /proc ls 不仅可以展现磁盘的固定数据,也可以展现内存里的进程数据
进程种exe删了后以前的程序也能运行
cwd current work dir
两个知识点,exe个cwd man getpid man chdir man fork
获得父进程 子进程有夫进程创建
这里bash是父进程,一个用户对应一个
创建子进程
子进程没有自己的代码和数据所以运行的是父进程的代码和数据
fork只执行后面代码所以纪念册开始运行执行了两次
要虚拟内存空间才能说完
进程具有独立性,父子各自独立 写实拷贝