一.进程的基本概念:
- 站在用户角度:进程就是运行中的程序
- 站在操作系统的角度:进程就是操作系统进行资源分配和调度的一个独立单位
二.描述进程-PCB(process control bolck):
-
PCB
包含进程的描述信息和控制信息,是进程存在的唯一标志。
-
task_struct
在Linux中描述进程的结构体是 task_struct task_struct是Linux内核的一种数据结构,它会被装载到 RAM里并包含着进程的信息。
-
task_struct的内容分类
标识符(PID):描述本进程的唯一标识符,用来区别于其他进程。
进程状态: 退出信号,退出代码等。
优先级:相对于其他进程的优先级
程序计数器:程序中即将被执行的下一个指令的地址。
内存指针:程序代码和进程相关数据的指针,其他进程共享内存块的指针。
上下文数据:进程执行时寄存器中的数据。
I / O状态信息:显示的I/O请求,分配给进程的I/O设备和进程使用的文件列表。
记账信息:使用的时钟数总和,时间限制,记账号等。
其他信息:
三. 进程的创建以及状态的分类:
- 查看进程
进程的信息可以通过 /proc系统文件查看
[lywd@localhost ~]$ ls /proc/
1 1052 11 267 3 390 4886 5296 5613 5856 5930 6027 6305 651 8 dma kmsg partitions tty
10 1054 1134 268 359 391 4891 5364 5618 5872 5932 6033 6416 6516 87 driver kpagecount sched_debug uptime
- 创建进程
通过系统调用创建进程-初识fork
fork() 操作系统提供的创建进程的接口
fork 通过复制父进程创建