程序:编译好的二进制文件。不占用cpu、内存等系统资源。
进程:进程就是正在运行的程序,是最小的资源分配单位,是活跃的程序。如果程序是剧本,那么进程就是拍戏。它会占用对应的内存区域,由CPU进行执行与计算。
并发:并行执行。看似是同时使用cpu,其实cpu在同一时间点只处理一个任务。(利用时钟中断) cpu的计算量级:纳秒。
寄存器存储速度非常快,但是容量非常小。(cpu中寄存器数量有限,造价高)
硬盘容量非常大,但是存储速度很慢。
MMU:1.完成虚拟内存与物理内存的映射 2.设置内存访问级别
进程控制块PCB(结构体)
①进程id
②进程状态:初始化、就绪、运行、挂起(阻塞:等待除cpu外的其他资源)、终止
③进程切换时需要保存和恢复的CPU寄存器
④描述控制终端的信息
⑤描述控制终端的信息
⑥当前工作目录
⑦umask掩码
⑧文件描述符 表。
⑨和信号相关的信息
⑩用户id和组id
等等…
进程创建
fork()函数:创建一个子进程。
返回值:(1)子进程pid——非负整数(2)返回0