互斥事件

操作系统常见笔试面试题

♀尐吖头ヾ 提交于 2019-11-30 05:51:49
操作系统常见笔试面试题 Yuanke_S 2019年06月04日 50 0 本博客内容 一、进程与线程的关系以及区别 二、Windows下的内存是如何管理的 三、中断和轮询的特点 四、什么是临界区、如何解决冲突? 五、分段和分页的区别? 六、进程间通信有哪些方式?它们的区别? 七、线程间的通信机制 八、什么是死锁?产生条件?如何避免死锁 九、进程间同步与互斥的区别,线程同步的方式? 十、进程的调度算法有哪些? 一、进程与线程的关系以及区别 参考: https://blog.csdn.net/yaosiming2011/article/details/44280797 https://www.cnblogs.com/xymqx/p/4442329.html 1.定义:   进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.   线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 2.关系:   一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.   相对进程而言,线程是一个更加接近于执行体的概念

【操作系统】基础知识整理 & 常见面试题

最后都变了- 提交于 2019-11-29 19:06:45
操作系统 1 操作系统概述 操作系统的四个特性 操作系统的五大功能 2 进程 进程的定义 进程的状态 进程的特性 进程的同步、互斥和通信 a 竞争关系 和 进程互斥 b 协作关系 和 进程同步 c 进程通信 3 线程 线程的定义 线程的性质 线程通信 线程同步和互斥 线程机制的优点: 4 进程 VS. 线程 进程与线程之间的关系 进程与线程之间的区别 多进程与多线程之间的区别 5 处理机调度 用户态和核心态 处理机调度的层次 操作系统的常见进程调度算法 6 存储器管理 7 虚拟存储器 定义 特征 实现方法 页面置换算法(服务于分页请求系统) 常见面试题 1 操作系统概述   操作系统是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的系统软件,是用户与计算机之间的接口。 操作系统的四个特性 并发 :同一段时间内多个程序执行(注意区别并行和并发,前者是同一时刻的多个事件,后者是同一时间段内的多个事件); 共享 :系统中的资源可以被内存中多个并发执行的进线程共同使用; 虚拟 :通过时分复用(如分时系统)以及空分复用(如虚拟内存)技术实现把一个物理实体虚拟为多个; 异步 :系统中的进程是以走走停停的方式执行的,且以一种不可预知的速度推进。   操作系统最基本的特征是并发和共享,两者互为存在条件。 操作系统的五大功能 处理机管理 :处理机分配都是以进程为单位

并行、并发、同步和互斥

回眸只為那壹抹淺笑 提交于 2019-11-29 18:33:03
转自:http://blog.sina.com.cn/s/blog_74be444c0100vnwb.html 并行 计算机操作系统中的并行,指的是同时存在于内存中的 多道作业都处于运行状态 。实际上都是 宏观上并行 , 微观上串行 ,因为这些作业都是开始各自的运行,但都没运行完毕,只是 交替地使用cpu 。 在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生)。要区别并发。并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)。 并行也指8位数据同时通过并行线进行传送 ,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。 并发 在 操作系统 中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个 处理机 上运行,但 任一个时刻点上只有一个程序在处理机上运行 。   在关系数据库中,允许多个用户同时访问和更改共享数据的进程。SQL Server 使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突。   操作系统并发程序执行的特点:   并发环境下,由于程序的封闭性被打破,出现了新的特点:   ①程序与计算不再一一对应,一个程序副本可以有多个计算   ②并发程序之间有相互制约关系

并行、并发、同步和互斥

橙三吉。 提交于 2019-11-29 18:32:46
并行 计算机操作系统中的并行,指的是同时存在于内存中的多道作业都处于运行状态。实际上都是宏观上并行,微观上串行,因为这些作业都是开始各自的运行,但都没运行完毕,只是交替地使用cpu。 在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生)。要区别并发。并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)。并行也指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。 并发 在 操作系统 中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个 处理机 上运行,但任一个时刻点上只有一个程序在处理机上运行。   在关系数据库中,允许多个用户同时访问和更改共享数据的进程。SQL Server 使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突。   操作系统并发程序执行的特点:   并发环境下,由于程序的封闭性被打破,出现了新的特点:   ①程序与计算不再一一对应,一个程序副本可以有多个计算   ②并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、 缓冲区 等。   ③并发程序在执行中是走走停停,断续推进的。

并行、并发、同步和互斥

最后都变了- 提交于 2019-11-29 18:32:27
并行 计算机操作系统中的并行,指的是同时存在于内存中的 多道作业都处于运行状态 。实际上都是 宏观上并行 , 微观上串行 ,因为这些作业都是开始各自的运行,但都没运行完毕,只是 交替地使用cpu 。 在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生)。要区别并发。并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)。 并行也指8位数据同时通过并行线进行传送 ,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。 并发 在 操作系统 中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个 处理机 上运行,但 任一个时刻点上只有一个程序在处理机上运行 。   在关系数据库中,允许多个用户同时访问和更改共享数据的进程。SQL Server 使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突。   操作系统并发程序执行的特点:   并发环境下,由于程序的封闭性被打破,出现了新的特点:   ①程序与计算不再一一对应,一个程序副本可以有多个计算   ②并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、 缓冲区 等。   ③并发程序在执行中是走走停停

进程间通信之-----信号量

我怕爱的太早我们不能终老 提交于 2019-11-28 03:40:49
进程间通信简单的说有三个问题,第一个问题是:一个进程如何把信息传递给另一个,第二个问题是:要确保两个或者更多的进程在互动中不会出现交叉(即是进程互斥问题),第三个问题是:进程间同步问题、 四种进程或者线程同步互斥的控制方法 1):临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2):互斥量:为协调共同对一个共享资源的单独访问而设计的 3):信号量:为控制一个具有有限数量用户资源而设计 4):事件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 临界区(Critical Section)   保证在某一时刻只有一个线程能访问数据的简便办法,在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开,临界区在被释放后,其他线程可以继续抢占,并以此达到原子方式操作共享资源的目的。   临界区包含两个操作原语: EnterCriticalSection() 进入临界区 LeaveCriticalSection() 离开临界区 虽然临界区同步速度很快,但却只能用来同步本进程内的线程,而不可用来同步多个进程中的线程。 互斥量(Mutex)   互斥量跟临界区很相似,只有拥有互斥量对象的线程才具有访问资源的权限,由于互斥对象只有一个