操作系统部分(持续更新中)

原创 2017年10月03日 20:19:30

1.进程与线程

进程是CPU资源分配的最小单位,是具有一定独立功能的程序。
  线程是CPU调度的最小单位,基本上不拥有系统资源。
  一个进程可以包含1+个线程。
  进程与线程之间关系的简单解释:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

2.几个基本概念

临界区,互斥量,信号量,事件
这些概念解释了线程间同步方式。

3.进程的几种状态

4.进程间的通信方式

进程间通信主要包括管道, 系统IPC(包括消息队列,信号,共享存储), 套接字(SOCKET).
管道分为三种:
1.普通管道:只能在有亲缘关系的进程间单向传输
2.流管道:半双工,可以双向传输
3.命名管道:双工,可以在许多并不相关的进程之间进行通讯

系统IPC:
三种方式类同,都是使用了内核里的标识符来识别.
1.信号
信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生.
2.消息队列
消息队列就是消息的一个链表,它允许一个或多个进程向它写消息,一个或多个进程从中读消息。
3.共享内存
通常由一个进程创建,其余进程对这块内存区进行读写。
它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步与通信.
套接字:
可用于不同机器间的进程通信。

5.进程的同步方式

进程间通信与线程间通信之间的关系?
因为WINDOWS运行的实体是线程, 狭义上的进程间通信其实是指分属于不同进程的线程之间的通讯.而单个进程之间的线程同步问题可归并为一种特殊的进程通信.它要用到内核支持的系统调用来保持线程之间同步. 通常用到的一些线程同步方法包括:Event, 互斥量Mutex,信号量Semaphore,临界区资源等.

版权声明:本文为博主原创文章,未经博主允许不得转载。

2015-2017机器人操作系统(ROS)及其应用暑期学校资料汇总 ROS Summer School 持续更新

综合信息:2015     2016 课程资料:2015     2016 全部课程视频链接:智能机器人运动与视觉实验室...

操作系统知识点整理(持续更新)

基础概念 操作系统的四个特性 1. 并发: 同一时间间隔内支持执行多个任务, 对于一个核则是交替执行; 2. 共享: 硬件资源或数据资源支持多个进程共享; 3. 异步: 并发情况下, 一个程序会陆陆续...

操作系统面试题汇总(持续更新)

1.进程和线程的区别 1.线程是程序执行的最小单位,进程是操作系统分配的最小单位 2.一个进程由多个线程组成,线程是进程中代码的不同执行路线 3.进程间相互独立,同一进程下的线程共享地址空间以及...

【其他部分 第一章 矩阵】The C Programming Language 程序研究 【持续更新】

其他部分   第一章矩阵 一、矩阵的转置   问题描述: 编写函数,把给定的任意一个二维整型矩阵转换为其倒置矩阵。 输入:       1 2 3       4 5 6 输出:     ...
  • DuanXu1
  • DuanXu1
  • 2013年09月26日 14:32
  • 1019

Hibernate-部分知识点概述(持续更新)

Hibernate 面向对象操作模型数据库->阻抗不匹配 ORM(Object Relation Mapping->对象关系映射)->完成对象与关系之间的转换 主流ORM框架:Hibernate To...

Redis集群原理3.0 官方文档 可用性、容错部分 持续更新

实习的时候在做redis相关的东西,3.0的stable版本还没有出,所以自己先做了一个redis cluster。后来发现3.0的进度变快了,所以也来学习一下官方的实现方法~以下是对官方文档集群实现...
  • rbb317
  • rbb317
  • 2015年03月19日 20:10
  • 1287

小米笔记本在Kali Linux下所遇问题部分解决方案(持续更新中)

小米笔记本安装Kali遇到的无线网卡问题触摸板问题等

iOS部分小技巧 持续更新中

可以在viewWillDisappear中判断下一个页面是pop、push还是present的 画圆的三种方式 获取当前控制器 消除警告 UIButton中的TitleEdgeInsets使用 定位后...

网络安全实验室CTF练习部分题目(持续更新)

1、脚本关:微笑一下,过关地址:http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php 查看源代码: ...

hgame17_re 部分writeup(持续更新)

re.35 奇怪的代码先运行看下, 要求我们输入flag ida看反编译:main(): 可以发现是输入的字符串4个为一组进行加密, 一共有8组 进入加密函数encrypt(): shift数...
  • vvv_347
  • vvv_347
  • 2017年05月07日 16:01
  • 156
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:操作系统部分(持续更新中)
举报原因:
原因补充:

(最多只允许输入30个字)