流程上有哪些操作?
进程是一个正在执行的程序,它不仅仅是一个称为文本部分的程序代码,这个概念适用于所有操作系统,因为操作系统执行的所有任务都需要一个进程来执行任务
进程在状态改变时执行。流程的状态由流程的当前活动定义。
每个进程可能是以下任何一种状态-
新建-正在创建进程。
运行-在这种状态下,指令正在执行。
等待-进程处于等待状态,直到发生I/O操作完成或接收信号等事件。
就绪-进程正在等待分配给处理器。
终止-进程已完成执行。
重要的是要知道在任何时刻只有一个进程可以在任何处理器上运行。许多进程可能已准备就绪并在等待。
流程操作
对Process执行的两个主要操作如下-
流程创建
应该有四个主要事件导致进程被创建。
系统初始化
操作系统启动时会创建许多进程。其中一些是-
前台进程-与用户交互并为他们执行工作的进程。
后台进程-它也被称为守护进程,与特定用户无关,而是具有某些特定功能。
正在运行的进程执行进程创建系统调用
正在运行的进程将发出系统调用以创建一个或多个新进程以帮助其完成工作。
用户请求创建一个新进程
新进程是在现有进程执行进程创建系统调用的帮助下创建的。
在UNIX中,用于创建新进程的系统调用是fork()
在Windows中CreateProcess(),它有10个参数来处理进程创建和将正确的程序加载到新进程中。
批处理作业的启动
用户将向系统提交批处理作业。
当操作系统创建一个新进程并从其中的输入队列运行下一个作业时。
进程终止
进程将通过调用UNIX中的kill或Windows中的TerminateProcess来终止。
由于以下原因,进程终止-
正常退出-大多数进程在完成工作并执行系统调用以退出时终止。
错误退出-第三种类型的错误是由程序错误引起的,例如执行非法指令、引用或除以零。
致命退出-当发现致命错误时会终止进程。
被另一个进程杀死-一个进程执行一个系统调用来杀死其他一些进程。