自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 fork(四源码剖析)

一:基础了解1.fork,vfork,_clone都是通过系统调用clone来实现,然后再用clone去调用do_fork2.内核把进程存放在叫做任务队列的双向循环链表中。链表中的每一项都是类型为task_struct,称为进程描述符的结构。进程描述符包含一个具体进程的所有信息。3.进程描述符的存放:内核通过一个唯一的进程标识值或PID来标识每个进程,PID是一个数,表示为pid_t隐...

2019-01-14 21:11:55 492 1

原创 fork(三进程替换)

进程替换:exec指定一个程序把全新的程序加载到子进程中,子进程将会指向新进程  exec每个函数都有返回值,只有出错时返回值才会有效,正确时会被覆盖掉,也就没人接收了exec可以不用判断,拿到返回值就已经代表出错,int execl(char* pathname,char *argv0,char* argv1………..(char*)0)。/第一个参数是可执行文件的路径加名称/当前目录...

2019-01-14 21:11:40 214

原创 fork学习(二僵死进程)

1.僵死进程:(1)PCB存在,进程主体释放。子进程结束,父进程未获取子进程的退出码,从而子进程不得不保存退出码,所以整个PCB也无法释放(子进程不知道父进程什么时候使用退出码)(2)僵死进程处理:是可以将父进程关闭掉可以代替的将僵尸进程处理掉,(孤儿进程:没有父进程的进程,孤儿进程会被init接管,所以一旦出现僵死进程,结束父进程,会变成孤儿进程,init(系统进程)会处理掉)(3)...

2019-01-14 21:11:34 166

原创 fork学习(一基础学习)

1.fork():复制创建进程,出错返回-1,调用一次返回两次,在父进程中返回子进程的pid,在子进程中返回0.2.子进程会继承父进程中的数据和程序计数器,且从fork()之后开始执行,fork()之后父子进程就是两个独立的进程,谁先运行由操作系统决定。3.两个例子:int main(){ int i=0; for(;i<2;i++) { ...

2019-01-14 21:11:25 291

原创 网络编程整理一基础知识

一:网络层次的划分1.七层因特网协议栈模型:从上到下依次为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层2.五层因特网协议栈模型:(后面为每层所包含的部分重要协议)从上到下依次为:应用层(HTTP)、传输层(TCP/UDP)、网络层(IP/ICMP)、数据链路层(ARP/RARP)、物理层二:网络字节序列1.大端:低地址存高字节2.小端:高地址存高字节3...

2019-01-11 10:14:02 276

原创 从内核态切换到用户态

1.用户态切换到内核态有三种方式(1)系统调用这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作,比如fork()实际上就是执行了一个创建新进程的系统调用。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如0x80中断。(2) 异常当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发...

2019-01-05 22:06:46 4920 2

原创 系统调用与库函数认识总结

1.定义:(1)系统调用:是指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较差(几乎无移植性)。(2)库函数:是由用户或组织自己开发的,具有一定功能的函数集合,一般具有较好平台移植性,通过库文件(静态库或动态库)提供功能性调用。无需关心平...

2019-01-03 17:49:19 635

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除