操作系统关键术语

原子操作:一个或者多个指令的序列

临界区:一段代码,在该代码中进程将访问该共享资源

死锁:两个或者两个以上的进程因其中的每个进程都在等待其他进程做完事情而不能继续执行

活锁:两个或者两个以上的进程为了响应其他进程中的变化而持续改变自己的状态但是不做有用的工作

互斥:当一个进程在一个临界区访问共享资源时,其他进程不能进入该临界区访问任何共享资源

竞争条件:多个线程或者进程在读写一个共享数据时,结果依赖于它们执行的相对时间

饥饿:一个可运行的进程尽管能继续执行,但是被调度器无限期的忽视

并发的原理:

在单处理器多道程序设计系统中,进程交替执行,表现出一种同时执行的外部特征

在多处理器系统中,不仅可以交替执行,还能够重叠执行进程

单处理器,多道程序设计系统:

  • 全局资源充满危险

  • 操作系统很难对资源进行最优化分配

  • 定位程序设计存在困难

竞争条件:

竞争条件:多个进程或线程读写数据时,最终的结果依赖于个进程的指令执行顺序

 

互斥的要求:

  1. 必须强制实施互斥,一次只能有一个进程进入临界区

  2. 一个在非临界区停止的进程不能干涉其他进程

  3. 不允许出现需要访问临界区的进程被无限延迟的现象,不会出现死锁和饥饿

  4. 没有进程在临界区内,任何需要进入临界区的进程必须能够进入

  5. 进程的执行数目与处理器的数目没有任何限制

  6. 一个进程在临界区停留的时间必须有限

互斥:

两个或者更多的进程访问一个不共享的资源,在执行过程中,每个进程都给该IO设备发命令,接收状态信息,发送和接收数据,这类资源称为临界资源

使用临界资源的那一部分程序称为临界区

死锁

两个进程p1,p2,以及两个资源R1,R2,假设每个进程都需要访问该两个资源,

操作系统把R1分配给P2,R2分配给P1,每个进程都在等待另一个资源,在获得其他资源并完全成功前,不会释放已拥有资源

饥饿:

三个进程P1,P2,P3,每个进程都周期性的访问资源

P1拥有资源,P2和P3都被延迟,等待这个资源,当P1退出临界区时,P2和P3都被允许访问R,在P3访问完成临界区之前P1又需要访问该临界区,这样将访问权

轮流的授予P1和P3,就会出现饥饿状态

时间: 2024-10-24 16:18:25

操作系统关键术语的相关文章

刨根究底字符编码之二——关键术语解释(下)

关键术语解释(下) 一.第1层 抽象字符表ACR (Abstract Character Repertoire抽象字符清单):明确字符的范围(即确定支持哪些字符) 1. 抽象字符表ACR是一个编码系统支持的所有抽象字符的集合,可以简单理解为无序的字符集合,用于确定字符的范围,即要支持哪些字符. 抽象字符表ACR的一个重要特点是字符的无序性,即其中的字符并没有编排数字顺序,当然也就没有数字编号. 2. "抽象"字符不具有某种特定的字形,不应与具有某种特定字形的"具体"

1.2、Java“白皮书”的关键术语

Java"白皮书"的关键术语 1.简单性 为了便于系统更易于理解,Java在设计的时候尽量可能地接近C++,但是Java提出了C++中许多很少使用.难以理解.易混淆的特性.可以说Java语法是C++语法的一个"纯净"版本.Java中没有头文件.指针运算(甚至指针语法).结构.联合.操作符重载.虚基类等. 2.面向对象 Java是一个完全面向对象的编程语言,它的面向对象特性与C++旗鼓相当.Java与C++的主要不同点在于多重继承,在Java中,取而代之的是更简单的接

刨根究底字符编码之一——关键术语解释(上)

声明:本系列文章参考了网上的大量资料,除了少部分资料由于未作大量修改(但基本上也有少量修改,因为网上文章随意性较大,很多明显的笔误或前后矛盾之处,如若不改反而让人迷糊)而标明了原作者和出处之外,其余由于基本上已按自己的理解作了大量改写,因此没有再一一予以说明,在此对原作者表示歉意并感谢.另外,文中图片来自网络,也不在一一说明.同时,文中若有错漏,还请直接招呼板砖,不用客气. 关键术语解释 位: 即比特(Bit),亦称二进制位.比特位.位元.位,指二进制数中的一位,是计算机中信息表示的最小单位.B

Java“白皮书”的关键术语

1. 简单性 2. 面向对象 3. 分布式 4. 健壮性 5. 安全性 6. 体系结构中立 7. 可移植性 8. 解释型 9. 高性能 10. 多线程 11. 动态性

第一章关键术语

1.信息系统(information system,IS)是人.数据.过程.信息技术之间相互作用,收集.处理.存储和提供支持企业运作的信息的集合体. 2.信息技术(information Technology,IT)是一个现代词汇,是计算机技术(硬件和软件)和电信技术(数据.图像.语音网络)相结合的产物. 1.事务处理系统(Transaction Processing System,TPS)是一种捕捉和处理有关企业事务数据的信息系统. 2.管理信息系统(Management Informatio

《操作系统精髓与设计原理》习题第三章

第三章习题 3.10.1关键术语 阻塞态:进程在某些事件发生之前不能执行,等待这种事件发生的状态. 退出态:操作系统从可执行进程组中释放出的进程,自身停止了,或者因某种原因被取消. 内核态:某些指令只能在特权状态下执行,而这种特权状态称为内核态. 子进程:由一个进程创建的进程,该进程的终止受父进程的影响. 中断:由外部事件引发进程挂起,CPU转而去处理发起中断的事件,并处理结束后恢复进程的执行. 模式切换:CPU由用户态和核心态之间相互切换. 新建态:进程创建时仅仅创建了对应的进程控制块而没有在

<<操作系统精髓与设计原理>>读书笔记(一) 并发性:互斥与同步(1)

<<操作系统精髓与设计原理>>读书笔记(一) 并发性:互斥与同步 并发问题是所有问题的基础,也是操作系统设计的基础.并发包括很多设计问题,其中有进程间通信,资源共享与竞争,多个进程活动的同步以及分配给进程的处理器时间的. 和并发相关的关键术语:原子操作: 一个或多个指令的序列,对外是不可分的:即没有其他进程可以看到其中间状态或者中断此操作. 并发中,为了确保并发下的数据完整性,我们有一系列的同步方法,其实这些就是为了实现互斥性!对临界区程序的互斥性.有三种方法: 1.软件方法,但是

顶级Apache Kafka术语和概念

1.卡夫卡术语 基本上,Kafka架构  包含很少的关键术语,如主题,制作人,消费者, 经纪人等等.要详细了解Apache Kafka,我们必须首先理解这些关键术语.因此,在本文“Kafka术语”中,我们将学习所有这些Kafka术语,这将有助于我们建立Kafka知识的坚实基础.那么,让我们从Apache Kafka术语开始. Apache Kafka术语和概念 2.卡夫卡术语清单 在这篇Apache Kafka教程中,下面列出了最突出的Kafka术语,这些术语可以帮助我们建立Kafka知识的坚实

Java学习之路(一)了解Java

Java“白皮书”的关键术语 1)简单性 相对于C++:没有头文件.指针运算.结构.联合.操作符重载.虚基类. 另一方面是小:java微型版(Java Micro Edition)用于嵌入式设备 2)面向对象 与C++比没有多继承,Java的继承具有单根性,取而代之的是接口的概念,以及java的元类(metaclass)模型 3)网络技术 java有一个扩展的例程库,用于处理像HTTP和FTP之类的TCP/IP协议. 4)健壮性 java的指针模型可以消除重写内存和损坏数据的可能性. 5)安全性