操作系统的进程、线程、系统调用及相关机制解析
1. 进程与线程
1.1 进程的基本概念
进程是正在执行的程序。程序员用高级语言编写程序,通过编译器生成二进制可执行文件存储在硬盘或光盘上。当用户通过点击按钮或输入命令告知操作系统时,二进制文件开始执行。支持多进程处理的操作系统允许多个进程并发运行,可通过将进程置于不同处理器实现真正的同时运行,也可通过时间片共享在同一处理器上实现看似同时运行。
例如,图中展示了进程 P1 和 P2 运行文本编辑器 vi 的两个实例,进程 P3 运行邮件处理程序 pine。进程之间不共享数据变量,如 P1 和 P2 虽都有变量 curr_file,但各自拥有独立的副本,P1 在 curr_file 中存储 memo.txt,P2 存储 john.txt,而 P3 根本没有 curr_file 变量。
1.2 进程的交互与资源管理
多个进程可以独立运行,也可通过进程间通信(IPC)直接交互,或通过文件系统间接交互。操作系统会在一段时间内为进程分配处理器和主存等资源,也可收回资源供其他进程使用,且这些操作对应用程序是透明的,每个进程可看作在自己的私有虚拟计算机上运行。
1.3 进程的内存段
进程拥有不同用途的内存段,通常有一个栈段,其他类型的段可能有多个:
- 代码段 :以机器码形式存储程序的副本。
- 数据段 :存储程序使用的数据变量。
- 栈段 :程序由一系列函数组成,函数调用时的参数会临时存储在栈上,调用结束后栈内存可回收再利用。程序还可
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



