1、进程的概念引导引导核心创建核心创建0#0#创建创建1#终端终端n终端终端1终端终端2password用户注册chswcchsls用户注销chschschschschs注意:用户创建的进程树以1#进程为根Proc结构结构User结结构构系系统统栈栈用用户户栈栈数数据据段段正正文文段段PCB2)use结构是进程的私有信息和数据指向proc的指针系统调用参数与用户标识有关项与文件结构有关项输入输出项打开文件描述符中断及软中断参数错误信息各段长度文件权限屏蔽项交换数据项shshshsortshfork执行sort父父子1步2步3步父%psPid tty time cmd15672 pts/0 1:03
2、 -csh%sh$echo this is bourneshell.This is bourneshell.$ksh$echo this is kornshell.This is kornshell.$psPid tty time cmd15672 pts/0 1:03 csh15772 pst/0 1:05 sh15773 pst/0 1:06 ksh$D$D%进程进程i核心态核心态用户态用户态中断中断/系统调用系统调用重置重置PSWparentzombchildchildparentwaitforkexecexit分析运行结果可发现子进程的存在!例:main()printf(“onen”);execl(“/bin/ls”,”ls”,0);printf(“twon”);perror(“execerror”);程序执行情况:1)execl调用成功时,只输出“one”,然后用ls的执行结果覆盖后面的程序代码;2)execl调用失败时,输出:oneTwoexec error:No sushfile or directory