1.交互式操作系统
交互式操作系统是指用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。多级反馈队列、时间片轮转和高优先级优先适用于交互式操作系统。批处理系统常用的调度算法有:先来先服务、最短作业优先、最短剩余时间优先、响应比最高者优先;
2.linux 上进程的5 种状态
① 运行状态;② 中断状态;③ 不可中断状态;④ 僵尸状态;⑤ 停止状态
3.引起进程调度的原因
① 正在执行的进程执行完毕;② 正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态;③ 正在执行的进程调用了阻塞原语操作,并且因为资源不足而被阻塞;或调用了唤醒原语操作激活了等待资源的进程;④ 时间片已经用完;⑤ 就绪对列中的某个进程的优先级高于当前运行进程的优先级。
4.运行状态转换为就绪状态原因
在抢占式调度系统中,进程从运行状态转换为就绪状态的可能原因有:进程创建完成、时间片用完和被调度程序抢占处理机。
5.引起进程阻塞的事件
引起进程阻塞的事件有请求系统服务、启动某种操作、新数据尚未到达与无新工作可做。
6.引起创建进程的事件
在多道程序环境中,只有进程才能在系统中运行。因此,为使程序能运行,就必须为它创建进程。导致一个进程去创建另一个进程的典型事件,可以有以下四类:
① 用户登录:在分时系统中,用户在终端键入登录命令后,如果是合法用户,系统将为该终端建立一个进程,并把它插入到就绪队列中。
② 系统初始化:在批处理系统中,会创建0 号、1 号系统进程。
③ 用户系统调用:用户采用系统调用创建进程。
④ 初始化批处理作业:在初始化批处理作业时,采用一个后台进程以便使新进程以并发的运行方式完成特定任务。设备分配不是会引起创建新的进程。
7.管程
一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。 局部于管程的数据结构,只能被局部于管程的过程所访问,任何管程之外的过程都不能访问它;反之,局部于管程的过程也只能访问管程内的数据结构。 由此可见,所有进程要访问临界资源时,都必须经过管程才能进入,而管程每次只允许一个进程进入管程,从而实现了进程的互斥,但是管程无法保证本身互斥。
8.可再入程序
可再入程序是由可重入代码组成的程序,可以被安全的并行执行,当该程序正在运行时,可以再次载入内存并执行它。具有如下特点:它是纯代码的,即在执行过程中不可修改;调用它的进程应该提供属于它自己的数据区。
9.进程调度功能
处理器调度负责动态地把处理器分配给进程。因此,它又叫分派程序或低级调度。它的主要功能是:① 记录和保持系统中所有进程的有关情况及状态特征;② 决定某个进程什么时候获得处理器,以及占用多长时间;③ 把处理器分配给进程;④ 收回处理器:将处理器有关的寄存器内容送入该进程的进程控制块内相应单元,以保护该进程的现场,并修改该进程的状态,从而使进程让出处理器。
10.进程优先级
在进程调度算法中若采用最高优先级算法则会根据进程的优先级来决定进程调度的优先次序,分为静态优先级和动态优先级两种方法确定进程的优先级。一般地,系统进程的优先级应高于用户进程的优先级;若采用静态优先级,在进程创建时确定了优先级,进程运行期间优先级不会改变; 若采用动态优先级,在创建时先确定一个初始优先级,在进程运行中随着进程特性改变(如等待时间增长),不断改变先级。
11.线程描述表
每个线程有一个唯一的标识符和一张线程描述表,线程描述表记录的信息有:线程ID、指令地址寄存器、处理器寄存器,硬件设备寄存器,栈现场状态等少量线程私有信息。
12.线程的实现机制
有3 种途径:用户级线程、内核级线程、混合实现方式。