操作系统核心知识:进程、线程、内存与API详解
1. 进程与线程
1.1 进程启动与查看
在系统中,init进程通常为systemd,它是首个启动的进程,随后会启动其他进程。子线程用花括号表示。若要查看进程树,在不同系统有不同方法:
- Linux系统 :可在命令行外壳运行 pstree 命令。例如,运行该命令后,能看到 pstree 自身在运行,它是bash(外壳)的子进程,而bash又是sshd的子进程,这表明 pstree 是在远程安全外壳(SSH)会话中打开的Bash外壳里运行的。
- Windows系统 :推荐使用从Microsoft下载的Process Explorer工具,它是一个图形用户界面(GUI)应用程序,能让用户全面查看计算机上运行的进程。
1.2 线程的概念与作用
默认情况下,程序按顺序执行指令,一次处理一个任务。但当程序需并行执行多个任务时,线程就发挥作用了。例如,程序在进行长时间计算的同时要更新用户界面(如显示进度条),若程序完全按顺序执行,开始计算后用户界面就会停滞,因为分配给程序的CPU时间都用于计算了。而操作系统通过执行线程(简称线程)来实现并行处理。线程是进程内可调度的执行单元,在进程内运行,能执行该进程加载的任何程序代码。
一个进程初始有一个线程,根据并行工作需求可创建其他线程。每个线程都有一个线程ID(TID),内核也会创建线程来管理自身工作。线程与进程、内核的关系如下:
超级会员免费看
订阅专栏 解锁全文
1万+

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



