程序与进程
- 程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程。
- 进程是正在运行的程序的实例。是操作系统最基本的分配单元和执行单元。
单道、多道程序设计
- 单道程序,即在计算机内存中只允许一个的程序运行。
- 多道程序 ,设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,根本目的是为了提高 CPU 的利用率。
时间片
- 时间片(timeslice)又称为“量子(quantum)”或“处理器片(processor slice)”是操作系统分配给每个正在运行的进程微观上的一段 CPU 时间。
并行和并发
并行:同一时刻,有多条指令在多个处理器上同时执行。
并发:同一时刻,只能有一条指令执行,但多个进程指令被快速轮换执行,宏观上同时执行,微观上并不是同时执行,只是把时间片分成若干段,使多个进程快速交替的执行。
进程控制块(PCB)
进程控制块PCB:为了管理进程,内核必须对每个进程所作的事情进行清楚的描述。
Linux的进程控制块是task_struct结构体。
里面主要有:
进程id、状态、可使用资源的上限;
切换时要保存和恢复的CPU寄存器;
虚拟地址空间信息;
终端信息、信号相关信息;
当前工作目录;
umask掩码;
文件描述符表;
用户id、组id、会话和进程组。
在终端输入ulimit -a可以查看资源上限。
可以使用ulimit -s 具体数值进行修改。