exec 系统调用 ???? rap path 0 arg v arg 2p arg Ip arg Op 图105 exec V的参数组织方式
2. exec系统调用 图 10-5 exec Ⅴ的参数组织方式
3.exit系统调用 通常,父进程在创建子进程 时,应在进程的末尾安排一条 exit,使子进程能自我终止。内 核须为exit完成以下操作: (1)关闭软中断 (2)回收资源 (3)写记账信息 (4)置进程为“僵死”状态
3. exit系统调用 通常,父进程在创建子进程 时,应在进程的末尾安排一条 exit,使子进程能自我终止。内 核须为exit – (1) 关闭软中断 – (2) 回收资源 – (3) 写记账信息 – (4) 置进程为“僵死”状态
4.wait系统调用 wait系统调用用于将调用进程挂起,直至 其子进程因暂停或终止而发来软中断信号为止。 如果在wait调用前,已有子进程暂停或终止,则 调用进程做适当处理后便返回。核心对wait调用 做以下处理:核心查找调用进程是否还有子进程, 若无,便返回出错码;如果找到一个处于“僵死 状态的子进程,便将子进程的执行时间加到其父 进程的执行时间上,并释放该子进程的进程表 项;如果未找到处于“僵死”状态的子进程, 则调用进程便在可被中断的优先级上睡眠,等待 其子进程发来软中断信号时被唤醒
4. wait系统调用 wait系统调用用于将调用进程挂起, 直至 其子进程因暂停或终止而发来软中断信号为止。 如果在wait调用前,已有子进程暂停或终止,则 调用进程做适当处理后便返回。核心对wait调用 做以下处理:核心查找调用进程是否还有子进程, 若无,便返回出错码;如果找到一个处于“僵死” 状态的子进程,便将子进程的执行时间加到其父 进程的执行时间上, 并释放该子进程的进程表 项; 如果未找到处于“僵死”状态的子进程, 则调用进程便在可被中断的优先级上睡眠,等待 其子进程发来软中断信号时被唤醒
10.2.4进程调度与切换 1.引起进程调度的原因 首先,由于UNIX系统是分时系统,因而其时 钟中断处理程序须每隔一定时间,便对要求进程 调度程序进行调度的标志 runrun予以置位,以引 起调度程序重新调度。其次,当进程执行了wait exit及 sleep等系统调用后要放弃处理机时,也 会引起调度程序重新进行调度。此外,当进程执 行完系统调用功能而从核心态返回到用户态时, 如果系统中又出现了更高优先级的进程在等待处 理机时,内核应抢占当前进程的处理机,这也 会引起调度
10.2.4 进程调度与切换 1. 引起进程调度的原因 首先,由于UNIX系统是分时系统,因而其时 钟中断处理程序须每隔一定时间,便对要求进程 调度程序进行调度的标志runrun予以置位,以引 起调度程序重新调度。其次,当进程执行了wait、 exit及sleep等系统调用后要放弃处理机时, 也 会引起调度程序重新进行调度。此外,当进程执 行完系统调用功能而从核心态返回到用户态时, 如果系统中又出现了更高优先级的进程在等待处 理机时,内核应抢占当前进程的处理机, 这也 会引起调度
2.调度算法 进程调度,在此是采用动态优先数轮转 调度算法。调度程序在进行调度时,首先从处 于“内存就绪”或“被抢占”状态的进程中, 选择一个其优先数最小(优先级最高)的进程 若此时系统中(同时)有多个进程都具有相同的 最高优先级,则内核将选择其中处于就绪状态 或被抢占状态最久的进程,将它从其所在队列 中移出,并进行进程上下文的切换,恢复其
进程调度,在此是采用动态优先数轮转 调度算法。调度程序在进行调度时,首先从处 于“内存就绪”或“被抢占”状态的进程中, 选择一个其优先数最小(优先级最高)的进程。 若此时系统中(同时)有多个进程都具有相同的 最高优先级,则内核将选择其中处于就绪状态 或被抢占状态最久的进程,将它从其所在队列 中移出,并进行进程上下文的切换, 恢复其 运行。 2. 调度算法