freebsd-内核服务与进程管理

1、用户程序执行系统调用内核功能,内核在用户程序调用返回后还可能执行与该系统调用相关联的操作。比如write返回后,数据可能还在内核缓冲中,等待写入磁盘。

2、系统调用往往通过硬件陷阱实现,系统调用返回值复制在用户自己的地址空间,如果出现错误,内核返回-1,在C语言中将出错代码放在全局变量errno中。

3、用户程序和内核运行独立,每个用户 级程序都在执行时单独分配一块地址空间。

4、进程上下文结构由用户级状态和内核级状态所构成,上下文包括了内核用来向外部进程提供服务的全部信息。内核通过进程ID区分进程。

5、内核复制另一个进程的上下文创建一个新进程,为原父进程的子进程,每个新进程共享其父进程的所有资源。

6、进程通过执行exit退出,退出只能传送一字节的状态码,多于这个长度,要使用管道等。

6、父进程调用wait4可得到导致子进程不正常退出的事件相关信息。

7、如果某个子 进程由于其父进程在执行完毕前变成孤儿进程,内核将安排将它的退出状态返回给一个特殊的系统进程(init)

猜你喜欢

转载自deepfuture.iteye.com/blog/778266