什么是程序???什么是进程???有何区别???
a.程序是静态的概念。例:gcc xxx.c -o pro,磁盘中生成pro文件;桌面的快捷键都是程序
b.进程是动态的概念。程序的一次运行活动
如何查看系统中有哪些进程???
a.使用ps指令查看,实际工作中,使用grep来查看文件是否存在某一个进程,ps -aux|grep xxxx
(在Ubuntu下,ps -aux指令查看所有包含其他使用者的进程)
b.使用top指令,相当于Windows的任务管理器(动态显示CPU利用率、内存利用率、进程状态)
什么是进程标识符???
每个进程都有一个非零负整数表示唯一的ID,叫做pid,类似于身份证
pid=0:交换进程 作用:进程调度
pid=1:init进程 作用:系统初始化
getpid(): 获取自身的进程标识符
getppid():获取父进程的进程标识符
什么是父进程???什么是子进程???
一个现有的进程创建了一个新进程,新进程称为子进程
通俗上说:进程A 创建了进程B,那么A是父进程, B是子进程
关系:在系统中,当父进程终止时,子进程也会随之而终止;当子进程终止时,父进程不一定终止
C语言的存储空间如何分配???
低地址到高地址排序
代码段:存放的是程序的代码(if else 、 switch 、while .....)
数据段:存放的是全局变量、常数、动态数据分配的数据空间
bss段: 存放的是未初始化全局变量(数据为0 或 空指针)
堆: 存放的是动态储存分配的数据申请开辟空间(malloc)
栈: 存放的是每次函数调用时,其返回地址以及调用者的环境信息都存放在栈中
|