1.进程:我们编写的代码是存储在硬盘的静态文件,通过编译后生成二进制可执行文件,当我们运行这个可执行文件后,它被装载到内存中,接着CPU会执行程序中的每一条指令,那么这个运行中的程序,被称为进程。
CPU采用时间片轮转的方式运行进程,CPU为每个进程分配一个时间段,称为它的时间片。
进程的活动规律:运行——暂停——运行。
一个进程的活动期间至少具备三种基本状态,即运行状态、就绪状态、阻塞状态。
运行状态:该时刻进程占用CPU。
就绪状态:可运行,但因为其他进程正在运行而暂停停止。
阻塞状态:该进程正在等待某一事件发生(如等待输入/输出操作的完成)而暂时停止运行。
创建状态:进程正在被创建时的状态。
结束状态:进程正在从系统中消失时的状态。
操作系统允许一个进程创建另一个进程,而且允许子进程继承父进程所拥有的资源,当子进程被终止时,其在父进程处继承的资源应当还给父进程。终止父进程时同时也会终止其所有的子进程。
各个进程之间是共享CPU资源的,在不同的时候进程之间需要切换,让不同的进程可以在CPU执行。
2.线程:是进程当中的一条执行流程。同一个进程内多个线程之间可以共享代码段、数据段、打开的文件等资源,可以并发运行。但每个线程都有独立一套的寄存器和栈,这样可以确保线程的控制流程是相对独立的。