条件变量的工作原理:对当前不访问共享资源的任务,直接执行睡眠处理,如果此时需要某个任务访问资源,直接将该任务唤醒.条件变量类似异步通信,操作的核心:睡眠.唤醒. 1.pthread_cond_t  定义条件变量 2.初始化条件变量 函数原型:int pthread_cond_init(pthread_cond_t *restrict cond,const pthread_condattr_t *restrict attr); 功能 :初始化条件变量 参数:cond  条件变量标识符 addr  …
system V IPC 1)消息队列 2)共享内存 3)信号灯(信号量集) 1.消息队列. ipcs -q 查看系统中使用消息队列的情况 ipcrm -q +msqid 删除消息队列 消息队列工作原理:在内核空间上创建队列,信息发送者将发送信息打包成结点添加到队列中,信息的接受者选择性从队列上读取想要的节点 1)创建队列,2)向队列中添加信息,3)从队列中移除信息,4)实现队列的控制(获取队列的属性,设置队列的属性,删除不使用的队列) 1)创建队列: 函数原型:key_t ftok(const…
1.采用信号量访问:当有段临界代码,需要保证排他的访问一个资源. 2.sudo  dmesg -c 消除dmesg缓冲 3.互斥锁:代表的是一种锁资源,互斥锁的工作原理是:保证对共享资源操作的原子性 4.自旋锁:轮循 5.读写锁:奇偶 6.顺序锁:读写可并发,但是会检测信号 互斥锁中: 死锁:(1)互斥锁交叉嵌套 (2)同一个互斥锁嵌套使用 (3)占有锁资源的任务被异常退出,锁资源不会释放,比如,一个线程开了一个锁,还没来得及解锁,线程就被取消了. 避免死锁:申请锁,按顺序加锁,以防死锁. 7,…
目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 Linux磁盘分区.挂载 网络配置 进程管理 RPM YUM 搭建JAVAEE环境 安装Tomcat 安装Eclipse 安装mysql Shell编程 Shell编程综合案例 Python定制篇 开发平台Ubuntu 尚硅谷韩顺平Linux教程学习笔记 写在前面 学习链接:尚硅谷韩顺平Linux…
由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make config(基于文本的最为传统的配置界面,不推荐使用)#make menuconfig(基于文本菜单的配置界面)#make xconfig(要求 QT 被安装)#make gconfig(要求 GTK+被安装)在配置 Linux 2.6 内核所使用的 make config. make menuconfig. mak…
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并和标准I/O进行对比. 文件描述符 内核通过文件描述符引用打开的文件,它是一个非负整数.按惯例,shell中使用0与进程的标准输入关联,1与标准输出关联,2与标准错误输出关联.依照POSIX,这些幻数应替换为符号常量 STDIN_FILENO . STDOUT_FILENO .STDERR_FILE…
原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert Love,陈莉君等译. 1.进程 进程是正在执行的程序代码的实时结果,包含打开的文件.挂起的信号等.线程是进程中的活动的对象,内核调度的对象是线程.在Linux内核对线程与进程并不加以区分,线程只不过是一种特殊的进程. 2.进程描述符 内核把进程的信息存放在task list的双向循环链表中,链表中的…
原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert Love,陈莉君等译. 1.操作系统和内核简介 Linux内核是自由公开软件,使用GNU的General Public License(GPL)第二版作为限制条款.大多数软件许可证决意剥夺你共享和修改软件的自由.相比之下,GNU通用公共许可证试图保证你共享和修改自由软件的自由. 通常一个内核负责响应中…
Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamWriter操作 内存操作流 管道流 打印流 System对IO的支持 BufferedReader和BufferedWriter 后续 字节流 字节流的操作都是基于InputStream和OutputStream这两个抽象类 InputStream InputStream是字节输入流,主要的功能是从…
Java IO学习笔记一 File File是文件和目录路径名的抽象表示形式,总的来说就是java创建删除文件目录的一个类库,但是作用不仅仅于此,详细见官方文档 构造函数 File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例. File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例. File(String parent, String chil…