《《进程和线程与调度》课件.pptx》由会员分享,可在线阅读,更多相关《《进程和线程与调度》课件.pptx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、进程和线程与调度ppt课件contents目录进程概念线程概念进程与线程比较进程调度线程调度进程与线程在实践中的应用进程概念01进程是程序的一次执行,是系统进行资源分配和调度的基本单位。进程具有动态性、独立性和制约性。进程的状态信息保存在进程控制块PCB中。进程定义进程状态进程已获得除CPU之外的其他资源,等待分配CPU。进程占用CPU,执行程序。进程等待某个条件成立,暂时无法继续执行。进程执行完毕或异常结束。就绪状态运行状态阻塞状态终止状态创建与终止阻塞与唤醒挂起与激活进程切换进程控制01020304通过系统调用创建新进程,终止进程。进程因等待某个条件而放弃CPU,条件成立后重新进入就绪状态
2、。将进程从内存移到外存或从外存移到内存。保存和恢复进程的状态,以实现进程的上下文切换。线程概念02线程共享进程的资源,包括代码、数据、文件句柄、信号量等。线程之间通信和同步通过共享内存实现,通信效率高。线程是进程内的一条执行路径,是操作系统分配的最小的执行单元。线程定义线程已经获得除CPU外的所有必要资源,等待获取CPU时间片。就绪状态线程正在执行,占用CPU资源。运行状态线程因等待某个事件(如I/O操作)而暂时无法继续执行。阻塞状态线程执行完毕或异常结束。终止状态线程状态使用系统调用或库函数创建新线程。创建线程通过系统调用或异常结束线程。终止线程使用信号量、互斥量、条件变量等机制实现线程同步
3、。线程同步设置线程的优先级、调度策略等属性。线程属性线程控制进程与线程比较03进程拥有独立的内存空间和系统资源,而线程共享其所在进程的资源。资源占用创建与销毁并发性进程的创建和销毁开销较大,线程的创建和销毁相对轻量。进程在操作系统层面是独立的,而线程在进程内部共享进程的资源,可以实现更高的并发性。030201进程与线程的区别 进程与线程的联系同属系统资源的管理范畴进程和线程都受到操作系统的管理和调度。相互协作多个线程可以运行在同一个进程中,共享该进程的资源,实现高效的协作。共同完成应用程序任务进程和线程通常共同工作,以完成应用程序的各项任务。对于需要大量系统资源的任务,使用进程更为合适;对于资
4、源需求较小的任务,线程更为高效。资源占用要求高并发场景下,线程由于其轻量特性更为适合;而进程则更适合独立运行的任务。并发性需求对于频繁创建和销毁的场景,线程由于其较小的开销更具优势;而长期运行的任务更适合作为进程。系统开销进程与线程的选择进程调度04操作系统负责分配CPU时间给各个进程,并控制这些进程的执行顺序。进程调度负责执行进程调度的程序。进程调度器进程在等待CPU时间、等待I/O操作、运行中、阻塞等状态。进程状态进程调度概念010204进程调度算法先来先服务(FCFS):按照进程到达的顺序进行调度。最短作业优先(SJF):优先调度最短作业的进程。最短剩余时间优先(SRTF):优先调度剩余
5、时间最短的进程。优先级调度:根据进程优先级进行调度。03进程一旦获得CPU,会一直运行直到完成或阻塞。非抢占式调度抢占式调度时间片轮转多级反馈队列操作系统会中断当前正在运行的进程,让其他进程运行。每个进程分配一个固定时间片,时间片用完后,操作系统会切换到其他进程。根据进程的优先级和等待时间等因素,将进程放入不同的队列,再根据不同队列的调度策略进行调度。进程调度策略线程调度05线程调度是操作系统中用于分配处理器资源给各个线程的过程。线程调度是操作系统内核的一部分,负责决定哪个线程在任何特定时间运行。线程调度是实现并发和并行计算的关键机制。线程调度概念按照线程到达的顺序进行调度,先到达的线程先获得
6、处理器资源。先来先服务(FCFS)优先调度最短执行时间的线程。最短进程优先(SPN)根据线程优先级进行调度,优先级高的线程先获得处理器资源。优先级调度结合了FCFS和优先级调度的思想,线程在不同的队列中按优先级和到达顺序进行调度。多级反馈队列线程调度算法ABCD线程调度策略非抢占式调度线程一旦获得处理器资源,就会一直运行直到完成或阻塞。协作式调度线程之间通过协作和让步来实现资源共享和任务分配。抢占式调度操作系统会定时或根据一定条件中断正在运行的线程,将处理器资源分配给其他线程。混合式调度结合了非抢占式、抢占式和协作式调度的特点,根据具体情况选择合适的调度策略。进程与线程在实践中的应用06进程是
7、操作系统进行资源分配的最小单位,线程是程序执行的最小单位。进程拥有独立的内存空间,而线程共享进程的内存空间。进程间通信(IPC)比较复杂,而线程间通信比较简单。进程在切换时需要保存和恢复较多的上下文信息。01020304进程与线程在操作系统中的应用进程可以作为系统独立调度的基本单位,而线程是进程内的一条执行路径。多个线程可以并发执行,提高程序的执行效率。在多任务处理中,进程和线程都可以作为并行执行的任务,但线程的创建、切换和管理的开销比进程小。线程之间可以通过共享内存直接通信,比进程间通信更高效。进程与线程在多任务处理中的应用在Web应用中,可以使用多进程模型来处理高并发请求,每个进程负责一部分请求处理。在科学计算中,可以使用多线程模型来并行计算,提高计算效率。在游戏服务器中,可以使用多线程模型来处理游戏逻辑和网络通信,提高服务器的响应速度和吞吐量。在实时系统中,需要保证任务的及时性和可靠性,可以使用基于进程的模型来管理任务。进程与线程在实际项目中的应用THANKS感谢观看
限制150内