进程管理 进程 进程是 程序的一次执行 是一个程序及其数据在处理机上顺序执行时所发生的活动 是具有独立功能的程序在一个数据集合上的一次运行过程 是系统进行资源分配和调度的一个 基本单位 是 PCB结构、程序和数据的集合 设备分配 只针对 现有进程 ,不会创建进程 进程的特征: 动态性 :进程的实质是 ...
分类:
系统相关 时间:
2019-12-18 12:48:04
阅读次数:
91
一、同步和互斥 1.同步,是指多个进程(或线程)为了完成任务,必须严格按照某种先后顺序来运行 2.互斥,是指系统中的某些资源,一次只允许一个线程访问,当另一个线程正在访问临界资源时,其他线程必须等待。 二、区别 1.互斥是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排他性,但互斥无法限制 ...
分类:
其他好文 时间:
2019-12-08 15:48:58
阅读次数:
98
设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示()。 一个进程进入了临界区,另一个进程等待 没有一个进程进入临界区 两个进程都进入临界区 两个进程都在等待 互斥信号量不采用自旋锁的方式实现,mutex初始值为1,当一个准备进入临界区时,mutex - 1 = 0,该进 ...
分类:
系统相关 时间:
2019-12-02 23:18:33
阅读次数:
129
本文主要参考《计算机操作系统(第四版)》(西安电子科技大学出版社)以及清华大学操作系统公开课(向勇、陈渝),整理操作系统的基本概念,供自己复习查阅。 信号量机制 进程控制中最重要的一部分便是协调好进程的并发,控制进程同步,最具体的体现就是处理临界资源。信号量机制便广泛应用在临界资源处理方面。 信号量 ...
分类:
其他好文 时间:
2019-11-17 14:59:48
阅读次数:
80
在线程并发执行的时候,我们需要保证临界资源的安全访问,防止线程争抢资源,造成数据二义性。 线程同步: 条件变量 为什么使用条件变量? 对临界资源的时序可控性,条件满足会通知其他等待操作临界资源的线程,类似信号。 场景:T-DAY展会排队参观/生产者消费者模型 条件变量是什么? 是一种同步机制,一个线 ...
分类:
编程语言 时间:
2019-11-12 16:04:29
阅读次数:
98
一般情况:顺序结构,必须等待前面的操作完成(两个人说话,a把所有话说完,b才能继续说) 并发:同一时间段处理多个任务的能力(两人说话,支持你一言我一语的交流,两人在一个时间段内都有说话,是基于时间段内的同时发生) 并发又有同步和互斥 互斥:不能同时使用临界资源(有一个共享资源--话筒,两人必须用话筒 ...
分类:
编程语言 时间:
2019-10-29 14:08:20
阅读次数:
127
线程安全 可重入/不可重入:针对函数,多个执行流中是否可以同时进入函数运行而不出现问题 概念:指多个线程同时处理操作临界资源而不会出现数据二义性,则称是线程安全的 二义性:在线程中是否对临界资源进行了非原子操作 如何实现线程安全: 同步(保证合理):临界资源的合理访问(时序可控) 互斥(保证安全): ...
分类:
编程语言 时间:
2019-09-02 09:29:48
阅读次数:
112
Linux进程间的通讯 Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限 ...
分类:
系统相关 时间:
2019-09-01 01:20:17
阅读次数:
328
在多线程编程中,线程安全问题是一个最为关键的问题,其核心概念就在于正确性,即当多个线程访问某一共享、可变数据时,始终都不会导致数据破坏以及其他不该出现的结果。而所有的并发模式在解决这个问题时,采用的方案都是序列化访问临界资源 。在 Java 中,提供了两种方式来实现同步互斥访问:synchroniz ...
分类:
编程语言 时间:
2019-08-30 09:54:04
阅读次数:
99
如何保证单例模式在多线程中的线程安全性 对大数据、分布式、高并发等知识的学习必须要有多线程的基础。这里讨论一下如何在多线程的情况下设计单例模式。在23中设计模式中单例模式是比较常见的,在非多线程的情况下写单例模式,考虑的东西会很少,但是如果将多线程和单例模式结合起来,考虑的事情就变多了,如果使用不当 ...
分类:
编程语言 时间:
2019-08-27 21:09:46
阅读次数:
68