随笔分类 - 学习 / 基础篇
摘要:互斥锁(mutex): 也叫互斥量,互斥锁是⼀种简单的加锁的⽅法来控制对共享资源的访问,互斥锁只有两种状态,即加锁( lock )和解锁 ( unlock ) 1. 在访问共享资源后临界区域前,对互斥锁进⾏加锁。 2. 在访问完成后释放互斥锁导上的锁。 3. 对互斥锁进⾏加锁后,任何其他试图再次对互
阅读全文
摘要:线程通信 线程间的通信⽬的主要是⽤于线程同步。所以线程没有像进程通信中的⽤于数据交换的通信机制。 同⼀进程的不同线程共享同⼀份内存区域,所以线程之间可以⽅便、快速地共享信息。只需要将数据复制到共享 (全局或堆)变量中即可。但是需要避免出现多个线程试图同时修改同⼀份信息。 线程属性 1、线程属性初始化
阅读全文
摘要:进程号⽤ pid_t 数据类型表⽰,是⼀个⾮负整数。线程号则⽤ pthread_t 数据类型来表⽰,Linux 使⽤⽆符号长整 数表⽰。 1、pthread_self函数 #include <pthread.h> /** * 获取线程号. * @return 返回调⽤线程的线程. */ pthrea
阅读全文
摘要:1. 线程是轻量级进程(light-weight process),也有PCB,创建线程使⽤的底层函数和进程⼀样,都是clone; 2. 从内核⾥看进程和线程是⼀样的,都有各⾃不同的PCB; 3. 进程可以蜕变成线程; 4. 在linux下,线程最是⼩的执⾏单位;进程是最⼩的分配资源单位。 实际上,
阅读全文
摘要:1、批处理系统中的调度 (1)先来先服务: ⾮抢占式的调度算法,按照请求的顺序进⾏调度。 有利于长作业,但不利于短作业,因为短作业必须⼀直等待前⾯的长作业执⾏完毕才能执⾏,⽽长作业又需要执⾏ 很长时间,造成了短作业等待时间过长。 (2)最短作业优先: ⾮抢占式的调度算法,按估计运⾏时间最短的顺序进⾏
阅读全文
摘要:1、进程的概念 我们编译的代码可执⾏⽂件只是储存在硬盘的静态⽂件,运⾏时被加载到内存,CPU执⾏内存中指令,这个运⾏的程序被称为进程。 进程是对运⾏时程序的封装,操作系统进⾏资源调度和分配的基本单位。 2、进程的实现 中断发⽣后操作系统底层的⼯作步骤 1. 硬件压⼊堆栈程序计数器等 2. 硬件从中断
阅读全文

浙公网安备 33010602011771号