操作系统

活跃度

在使用锁保证现场安全时可能会出现 活跃度 失败的情况主要包括 饥饿、丢失信号、活锁、死锁 等。【多线程除了死锁之外遇到最多的就是活跃度问题了】

饥饿 :指线程需要访问的资源 被永久拒绝 ,以至于不能再继续进行。解决饥饿问题需要平衡线程对资源的竞争,如线程的优先级、任务的权重、执行的周期等。

活锁 :指线程虽然没有被阻塞,但由于某种条件不满足,一直尝试重试却始终失败。解决活锁问题需要对 重试机制 引入一些随机性。例如如果检测到冲突,那么就暂停随机的一定时间进行重试,这会大大减少碰撞的可能性。

标题

实时信息处理系统通常是指以计算机为中心的实时信息查询系统和实时事务处理系统,实时信息查询系统的主要特点是配置有大型文件系统或数据库,并具有向用户提供简单方便快速查询的能力,其典型的应用例子有仓库管理系统和医务信息系统等。实时事务处理系统的主要特点就是数据库中的数据可随时更新,用户和系统之间频繁地进行交互作用,如飞机订单系统,电子商务系统等。
分时系统
多道批处理系统

线程与进程

线程是操作系统分配处理器的基本单位;
进程是资源分配和拥有的单位;
一个线程只能属于一个进程;
一个进程可以拥有很多线程。

进程调度的时机

进程调度发生的时机(也称为调度点)与进程的状态变化有直接的关系。回顾进程状态变化图,我们可以看到进程调度的时机直接与进程在运行态/退出态/就绪态/阻塞态的转变时机相关。简而言之,引起进程调度的时机可归结为以下几类:

1、正在执行的进程执行完毕,需要选择新的就绪进程执行。
2、正在执行的进程调用相关系统调用(包括与I/O操作,同步互斥操作等相关的系统调用)导致需等待某事件发生或等待资源可用,从而将白己阻塞起来进入阻塞状态。
3、正在执行的进程主动调用放弃CPU的系统调用,导致自己的状态为就绪态,且把自己重新放到就绪队列中。
4、等待事件发生或资源可用的进程等待队列,从而导致进程从阻塞态回到就绪态,并可参与到调度中。
5、正在执行的进程的时间片已经用完,致自己的状态为就绪态,且把自己重新放到就绪队列中。
6、在执行完系统调用后准备返回用户进程前的时刻,可调度选择一新用户进程执行。
7、就绪队列中某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。
8、有序列表内容。

虚拟存储器

虚拟存储器的定义:
基于局部性原理,应用程序在运行之前,没有必要全部装入内存,仅须将那些当前要运行的少数页面或段先装入内存便可运行,其余部分暂留在盘上。程序在运行时,如果它所要访问的页(段)已调入内存,便可继续执行下去;但如果程序所要访问的页(段)尚未调入内存(称为缺页或缺段),此时程序应利用 OS 所提供的请求调页(段)功能,将它们调入内存,以使进程能继续执行下去。 如果此时内存已满, 无法再装入新的页(段), 则还须再利用页(段)的置换功能,将内存中暂时不用的页(段)调至盘上, 腾出足够的内存空间后,再将要访问的页(段)调入内存,使程序继续执行下去。这样,便可使一个大的用户程序能在较小的内存空间中运行;也可在内存中同时装入更多的进程使它们并发执行。从用户角度看,该系统所具有的内存容量,将比实际内存容量大得多。但须说明,用户所看到的大容量只是一种感觉,是虚的,故人们把这样的存储器称为虚拟存储器。

SPOOLing

SPOOLing 技术: 它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。
SPOOLing技术加入输入井,输出井缓存机制,将需要独占设备处理的数据首先输入输出井,等到设备空闲,把数据从输出井输入到设备处理,不需要再经过CPU管理,避免了询问时间和等待CPU时间,提高了独占设备和CPU的利用率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值