7.11刷题总结

fork入门知识

     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,

也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。


    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都

复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。

fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:
    1)在父进程中,fork返回新创建子进程的进程ID;
    2)在子进程中,fork返回0;
    3)如果出现错误,fork返回一个负值;

    在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程中,

fork返回新创建子进程的进程ID。我们可以通过fork返回的值来判断当前进程是子进程还是父进程。

    引用一位网友的话来解释fpid的值为什么在父子进程中不同。“其实就相当于链表,进程形成了链表,父进程的fpid(p 意味point)指向子进程的进程id,

因为子进程没有子进程,所以其fpid为0.

扫描二维码关注公众号,回复: 2146242 查看本文章

使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。

子进程与父进程的区别在于:

1、父进程设置的锁,子进程不继承(因为如果是排它锁,被继承的话,矛盾了)

2、各自的进程ID和父进程ID不同

3、子进程的未决告警被清除;

4、子进程的未决信号集设置为空集。


操作系统(计算机管理控制系统)

    OS是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在裸机上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。(常用系统Android,iOS,Linux,Windows)

    操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括计算机系统的硬件、软件及数据资源,控制程序运行,改善人呢机界面,为其他应用软件提供支持。实际上,用户是不用接触操作系统的,操作系统管理者计算机硬件资源,同事按照应用进程的资源请求,分配资源,如:划分CPU时间,内存空间的开辟,调用打印机等。

系统作用:1.屏蔽硬件物理特性和操作细节,为用户使用计算机提供了便利 2.有效管理系统资源,提高系统资源使用效率。

主要功能:

猜你喜欢

转载自blog.csdn.net/deft_hll/article/details/81007544