进程间通信

2014年腾讯实习生笔试题解析

本答案是我自己搜索资料解答出来,假设不正确敬请指出 1、 使用深度优先算法遍历下图。遍历的顺序为(C) A ABCDEFG B ABDCFEG C ABDECFG D ABCDFEG 解析: 深度优先遍历相似于树的前序遍历,其基本思想为: (1).訪问顶点v; (2).从v的未被訪问的邻...

Win32多线程编程(1) — 基础概念篇

  内核对象的基本概念 Windows系统是非开源的,它提供给我们的接口是用户模式的,即User-Mode API。当我们调用某个API时,需要从用户模式切换到内核模式的I/O System Services API。例如我们调用Kernel32.dll中的CreateFile创建文件,最终将执行ntdll.dll中的系统服务NtCreateFile...

Android开发——Android系统启动以及APK安装、启动过程

0. 前言   从Android手机打开开关,到我们可以使用其中的app时,这个启动过程到底是怎么样的?   1.  系统上电 当给Android系统上电,在电源接通的瞬间,CPU内的寄存器和各引脚均会被置为初始状态,CPU复位之后,程序指针会指向启动地址,从该地址读取并直接运行启动程序的可执行代码,或者将可执行代码与数据载入CPU内置的RAM中再运行。这...

docker --- (入门必读)

容器 容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等;控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图。 docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及...

LINUX共享内存使用常见陷阱与分析【转】

转自:https://blog.csdn.net/sweetfather/article/details/80006161 所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空...

操作系统复习知识

一、进程和线程 进程和线程的区别: 进程是一个正在执行中的程序,包括程序计数器、寄存器和变量的当前值;一个进程包含一个或多个线程。 进程是操作系统分配资源的最小单位;而线程是作为独立运行和CPU调度的基本单位。 进程间的资源是独立的,而同一进程的各线程间资源是共享的;进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间、建立数据表来维护...

共享内存与存储映射(mmap)

【前言】对这两个理解还是不够深刻,写一篇博客来记录一下。 首先关于共享内存的链接:共享内存。里面包含了创建共享内存区域的函数,以及两个进程怎么挂载共享内存通信,分离、释放共享内存。 共享内存的好处就是效率高,不需要太多次的进行数据的copy。可以直接进行读写内存。所以,相对来说在IPC进程间通信三大主题里面,共享内存要比消息队列使用多,而且消息队列只在有血...

python中多线程,多进程,多协程概念及编程上的应用

1, 多线程  线程是进程的一个实体,是CPU进行调度的最小单位,他是比进程更小能独立运行的基本单位。  线程基本不拥有系统资源,只占用一点运行中的资源(如程序计数器,一组寄存器和栈),但是它可以与同属于一个进程的其他线程共享全部的资源。  提高程序的运行速率,上下文切换快,开销比较少,但是不够稳定,容易丢失数据,形成死锁。 直接上代码: impor...

操作系统——进程,线程,锁

基本概念 状态、地址空间 三种基本状态 —— 就绪、运行、阻塞 进程控制块PCB(Process Control Block) 进程描述信息(如PID); 进程控制&管理信息(状态、优先级等); 源分配清单(地址空间状况、fd等); 处理其相关信息(各寄存器的值等) 进程存在的标识,在Linux系统中是task_struct,task_s...

linux c编程:FIFO

前面介绍的pipe属于匿名管道 管道的主要局限性正体现在它的特点上: 只支持单向数据流;  只能用于具有亲缘关系的进程之间;  没有名字;  管道的缓冲区是有限的(管道制存在于内存中,在管道创建时,为缓冲区分配一个页面大小);  管道所传送的是无格式字节流,这就要求管道的读出方和写入方必须事先约定好数据的格式,比如多少字节算作一个消息(或命令、或记录)等...