非抢占式实时操作系统_操作系统中抢占式和非抢占式的区别

非抢占式实时操作系统

Here you will learn about difference between preemptive and non-preemptive scheduling in os.

在这里,您将了解os中抢占式和非抢占式调度之间的区别。

Preemptive Scheduling

抢占式调度

Preemptive Scheduling means once a process started its execution, the currently running process can be paused for a short period of time to handle some other process of higher priority, it means we can preempt the control of CPU from one process to another if required.

抢占式调度是指一旦某个进程开始执行,就可以将当前正在运行的进程暂停一小段时间,以处理其他更高优先级的进程,这意味着如果需要,我们可以将对一个进程的CPU控制权抢占到另一个进程。

A computer system implementing this supports multi-tasking as it gives the user impression that the user can work on multiple processes.

实现此目的的计算机系统支持多任务,因为它给用户留下了用户可以在多个进程上工作的印象。

It is practical because if some process of higher priority is encountered then the current process can be paused to handle that process.

这是实用的,因为如果遇到某些优先级更高的进程,则可以暂停当前进程以处理该进程。

Examples:- SRTF, Priority, Round Robin, etc.

示例: -SRTF,优先级,循环查询等。

Non-Preemptive Scheduling

非抢占式调度

Non-Preemptive Scheduling means once a process starts its execution or the CPU is processing a specific process it cannot be halted or in other words we cannot preempt (take control) the CPU to some other process.

非抢占式调度是指一旦某个进程开始执行或CPU正在处理特定进程,就无法停止调度,换句话说,我们无法将CPU抢占(控制)其他进程。

A computer system implementing this cannot support the execution of process in a multi task fashion. It executes all the processes in a sequential manner.

实现此目的的计算机系统不能支持以多任务方式执行过程。 它以顺序方式执行所有过程。

It is not practical as all processes are not of same priority and are not always known to the system in advance.

这是不切实际的,因为所有过程都不具有相同的优先级,并且系统并不总是事先知道的。

Examples:- FCFS, SJF, Priority, etc.

例如: - FCFSSJF优先级等。

Difference between Preemptive and Non-Preemptive Scheduling in OS

Image Source

图片来源

操作系统中抢占式和非抢占式的区别 (Difference between Preemptive and Non-Preemptive Scheduling in OS)

Preemptive SchedulingNon-Preemptive Scheduling
Processor can be preempted to execute a different process in the middle of execution of any current process.Once Processor starts to execute a process it must finish it before executing the other. It cannot be paused in middle.
CPU utilization is more compared to Non-Preemptive Scheduling.CPU utilization is less compared to Preemptive Scheduling.
Waiting time and Response time is less.Waiting time and Response time is more.
The preemptive scheduling is prioritized. The highest priority process should always be the process that is currently utilized.When a process enters the state of running, the state of that process is not deleted from the scheduler until it finishes its service time.
If a high priority process frequently arrives in the ready queue, low priority process may starve.If a process with long burst time is running CPU, then another process with less CPU burst time may starve.
Preemptive scheduling is flexible.Non-preemptive scheduling is rigid.
Ex:- SRTF, Priority, Round Robin, etc.Ex:- FCFS, SJF, Priority, etc.
抢占式调度 非抢占式调度
在任何当前进程的执行过程中,处理器都可以抢先执行不同的进程。 一旦处理器开始执行一个进程,它必须先完成它,然后再执行另一个进程。 它不能在中间暂停。
与非抢先式调度相比,CPU利用率更高。 与抢先式调度相比,CPU利用率更低。
等待时间和响应时间更少。 等待时间和响应时间更长。
优先调度是优先的。 最高优先级的进程应始终是当前使用的进程。 当某个进程进入运行状态时,直到完成服务时间,该进程的状态才会从调度程序中删除。
如果高优先级进程频繁到达就绪队列,则低优先级进程可能会饿死。 如果突发时间较长的进程正在运行CPU,则另一个CPU突发时间较短的进程可能会饿死。
抢占式调度非常灵活。 非抢占式调度是严格的。
例如:-SRTF,优先级,循环查询等。 例如:-FCFS,SJF,优先级等

This article is submitted by Rahul Maheshwari. You can connect with him on facebook.

本文由Rahul Maheshwari提交 您可以在Facebook上与他建立联系。

Comment below if you have any queries related to above tutorial for difference between preemptive and non-preemptive scheduling in os.

如果您对os中的抢占式和非抢占式调度之间的区别有任何疑问,请在下面评论。

翻译自: https://www.thecrazyprogrammer.com/2017/03/difference-preemptive-non-preemptive-scheduling-os.html

非抢占式实时操作系统

1. 实验目的 调度的实质是操作系统按照某种预定的策略来分配资源。进程调度的目的是分配CPU资源。由于进程调度程序执行的频率很高,因此调度算法的好坏直接影响到操作系统的性能。本实验的目的是编程模拟实现几种常用的进程调度算法,通过对几组进程分别使用不同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较各种算法的性能优劣。 2. 实验原理 [1]. 进程调度算法描述 进程调度算法包括先来先服务调度算法、最短作业时间优先(抢占抢占)、最高响应比调度算法4种。(每个人必须做FCFS,然后在后面的三种任选一种,即每个人必须做2种调度算法的模拟。) [2]. 衡量算法性能的参数 计算进程的平均周转时间和平均带权周转时间。 3. 实验内容 (1)编程实现本实验的程序,要求: [1]. 建立进程的进程控制块,进程控制块至少包括: a) 进程名称; b) 进程需要执行时间; c) 进入就绪队列时间; d) 进程执行开始时间 e) 进程执行结束时间 [2]. 编程实现调度算法。 [3]. 进程及相关信息的输入。这些信息可以直接从键盘上输入,也可以从文件读取。 [4]. 时间片与时间流逝的模拟。本实验需要对算法的执行计时,程序应该提供计算时间的方法。一种最简单的方法是使用键盘,比如每敲一次空格代表一个时间片的流逝。另一种方法是使用系统时钟。 [5]. 一组进程序列执行完毕,打印出结果信息。程序需要计算出每个进程的开始执行时间、结束时间、周转时间和带权周转时间,并为整个进程序列计算平均周转时间和平均带权周转时间。程序将计算结果按一定的格显示在计算机屏幕上或输出到文件。打印出进程调度顺序图。 [6]. 实现数据在磁盘文件上的存取功能。 (2)对下列就绪进程序列分别使用上面的几种算法进行调度,计算每种算法下的平均周转时间和平均带权周转时间。 进程号 到达时间 要求执行时间 0 0 1 1 1 35 2 2 10 3 3 5 4 6 9 5 7 21 6 9 35 7 11 23 8 12 42 9 13 1 10 14 7 11 20 5 12 23 3 13 24 22 14 25 31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值