linux进程学习笔记

学习了linux下的进程,觉得应该整理一下,忘得差不多了,顺便回顾一下。 

学而时习之,不亦说乎~~ 

进程笔记 
1,什么是进程?  


    The Single UNIX Specification, Version 2 (UNIX98) and its predecessor Version 1 (UNIX95),  

defines a process as “an address spacewith one or more threads executing within that address  

space, and the required system resources for those threads.”  



2,进程ID,PID 
3,进程描述符,控制块 
4,进程的堆栈  
我们知道,Linux执行进程有两种模式:用户模式(User Mode)和内核模式(Kernel Mode),在这两个模式下的进程对应着两个不同的堆栈:用户堆栈(User Mode Stack)和内核堆栈(Kernel Mode Stack 或称为系统堆栈)。当进程由于中断或系统调用而陷入内核模式时,其堆栈也对应地由用户堆栈切换到内核堆栈,反之亦然。 


5,进程描述符的存储 
6,创建新进程 
7,运行新程序 
8,进程状态 
9,进程调度 
10,进程控制和常用操作 
    退出/终止进程 
    暂停进程 
    进程跟踪 
    等待子进程结束 
11,进程间通信 
    pipe管道 
    named pipe (FIFO)命名管道  
    signal 信号 
    message queue消息队列 
    shared memory共享内存 
    socket 
    semaphore信号量 

12.进程要点总结 

    main的调用 内核(调用exec)->启动例程->获取命令行参数 exit(main(argc,argv)) 

  _exit和_Exit,_Exit立即进入内核  exit则是先执行一些清理处理,然后进入内核 

  exit(state)state为进程的终止状态 ,若main无返回值则,进程的终止状态是未定义的。 


  获取环境变量用 getenv和putenv函数 

  行缓冲方式(换行)和完全缓冲方式(标准i/0清理操作) 

 

posted on 2015-11-24 10:34  zyz913614263  阅读(192)  评论(0)    收藏  举报

导航