操作系统学习笔记(三) 进程

本文详细介绍了操作系统的进程环境,包括C程序存储空间布局、动态库与静态库的区别及使用。深入讲解了进程控制,如进程ID、进程组、进程创建(fork)以及写时拷贝机制。还探讨了守护进程的创建方法及其特点,并阐述了进程的终止方式。
摘要由CSDN通过智能技术生成

一、进程环境

  C程序存储空间布局:

      正文段:只读、存放CPU执行的机器指令,可共享

      数据段:也叫初始化数据段。包含程序中需要明确赋值的变量,如 int max =99;

      BSS段:也叫未初始化的数据段,在程序开始执行前,内核将此段中数据初始化为0或空指针,如long sum[100];

      栈:存放自动变量(即局部变量),以及每次函数调用时所需要保存的信息

      堆:通常在堆中实现动态存储分配,位于BSS和栈之间

     其中,如寄存器变量或全局变量存放在数据段或BSS段。图示如下:

二、动态库与静态库

     1.静态库:链接阶段直接被链接到二进制文件中,生成文件体积大,但不再依赖于库。

     2.动态库:运行阶段加载

     1)C文件生成动态库  gcc -shared a.c -o libdb.so

     2)调用方法:

          运行时调用:  如调用libxxx.so库中的func()函数,则:gcc b.c -o bapp -l xxx.so

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值