实时任务:具有及时性要求、常常被重复执行的特定进程,在实时系统中习惯称为任务。
周期性实时任务:
非周期性实时任务:任务的执行没有明显周期性,但必须联系着一个截止时间。
截止时间:开始截止时间(任务在某时间以前必须开始执行)和完成截止时间(任务在某时间以前必须完成)
根据对截止时间的要求实时任务分为软实时任务和应实时任务,
硬实时任务:系统必须满足任务对截止时间的要求
实时调度的目标:如何使硬实时任务在规定的截止时间内完成,同时尽可能使软实时任务也在规定的截止时间内完成。
实时调度算法:对实时性要求不太高的实时系统可用的调度算法:
基于时间片轮转调度算法、基于优先级的调度算法、最早截止时间优先调度算法。
速度单调调度算法:针对周期大小赋予优先级,最短周期的任务具有最高优先级。
操作系统引入进程的目的是,为了描述和实现多个进程的并发执行,以改善资源利用率及提高系统的吞吐量。
目标:既能提高进程并发度,又能降低系统的额外开销。
实现:将进程的资源申请和调度属性分开。
线程是进程中的一个实体,是独立调度和分派的基本单位。线程本身不拥有系统资源,只拥有少许运行中必不可少的私有资源。线程可与同属一个进程的其他线程共享进程的全部资源。
线程的状态:进程中的所有线程共享该进程的状态。线程具有三种基本状态:就绪、执行和阻塞,一般不具有挂起状态。
对线程的操作:一个进程可以创建和撤销一个或多个线程,同一进程中的多个线程可以并发执行。
1、派生:当系统创建一个进程时,同时也为该进程派生一个线程,同一进程中的线程可以再派生其它线程。
2、阻塞:当线程需要等待某事件时,他们将被阻塞。
3、解除阻塞:当阻塞事件发生,其状态转换为就绪,并插入到就绪队列,等待调度。
4、结束,当线程执行完毕,释放其私有资源。
注意:线程阻塞不一定引起整个进程阻塞,否则,引入线程带来的并发性就不会提高。
进程与线程
DOS是一个单用户、单进程、单线程的操作系统,UNIX是一个多用户、多进程、单线程的操作系统。
现代操作系统大多支持多线程运行。Windows和linux操作系统都采用了多进程、多线程技术。
进程与线程的调度:现代操作系统中,线程是调度的基本单位,进程时资源拥有的基本单位。
进程与线程的并发:进程之间可并发执行,同属一个进程的多个线程之间也可并发执行。
进程与线程的开销:系统管理进程的开销远远大于管理线程所需开销。
线程的类型:
用户级线程:能节省大量系统开销,提高程序并发性,这是因为线程管理和控制仅在用户级进行,其切换无需内核干预。
内核级线程:
内核级线程的管理全由系统内核完成,应用程序无权进行线程切换等操作,系统为应用程序提供了相应的应用程序编程接口API。