03 2019 档案

摘要:一. 实际现实问题出发 1.1. 一个进程中如何既获取键盘键值也同时获取鼠标值? 1.1.1. 使用while轮询 a. 效率低下。 1.1.2. 使用IO多路复用 a. 高效,响应及时。 1.1.3. 通过异步IO实现 二. 使用IO多路复用 2.2. IO多路复用相关API函数 2.2.1. s 阅读全文
posted @ 2019-03-19 21:21 三七鸽 阅读(189) 评论(0) 推荐(0)
摘要:1. 使用宏定义swap函数,不使用中间变量 #define swap(x,y) {(x) = (x) + (y);(y) = (x) - (y);(x) = (x) - (y)} 2. 实现字符串的反转 #define swap(x,y) {(x) = (x) + (y);(y) = (x) - 阅读全文
posted @ 2019-03-16 11:20 三七鸽 阅读(298) 评论(0) 推荐(0)
摘要:一. 信号介绍 1.1. 什么是信号 1.1.1. 信号是内容受限的一种异步通信机制 a. 之所以称之为受限是因为通信内容在OS已经规定,内容简单,单一(signal.h文件中定义好) b. 信号本质上是int型数字编号(事先定义好的) 1.2. 信号处理 1.2.1. 忽略信号 a. 忽略信号就是 阅读全文
posted @ 2019-03-15 23:14 三七鸽 阅读(401) 评论(0) 推荐(0)
摘要:一. 单链链表 1.1. 单链链表的主体 a. 此处链表的主体包含数据和节点,与linux内核中链表的用法很不一样,详细可以查看内核中链表的使用 b. 链表节点中由真实数据和下个节点指针构成。 struct node { int data; struct node *pNext; }; 1.2. 链 阅读全文
posted @ 2019-03-15 10:48 三七鸽 阅读(211) 评论(0) 推荐(0)
摘要:一. STM32程序构成 1.1. STM32的存储空间 1.1.1. RAM 1.1.1.1 单片机的RAM是SRAM. 1.1.1.2. SRAM特点 a.优点,速度快,不必配合内存刷新电路,可提高整体的工作效率,软件上不需要初始化SRAM。 b. 缺点,集成度低,功耗较大,相同的容量体积较大, 阅读全文
posted @ 2019-03-14 16:59 三七鸽 阅读(1665) 评论(0) 推荐(0)
摘要:一 进程间通信 1.1. linux内核提供多种进程间通信机制 a. 无名管道和有名管道 b. SystemV IPC:信号量、消息队列、共享内存 c. Socket域套接字 d. 信号 1.2. 无名管道和有名管道 1.2.1. 管道(无名管道) a. 管道通信的原理:内核维护的一块内存,有读端和 阅读全文
posted @ 2019-03-12 23:00 三七鸽 阅读(181) 评论(0) 推荐(0)
摘要:一. exec族函数 1.1. 为什么需要exec函数 a. fork子进程是为了执行新程序(fork创建了子进程后,子进程和父进程同时被OS调度执行,因此子进程可以单独的执行一个程序,这个程序宏观上将会和父进程程序同时进行) b. 使用exec族运行新的可执行程序(exec族函数可以直接把一个编译 阅读全文
posted @ 2019-03-12 00:02 三七鸽 阅读(270) 评论(0) 推荐(0)
摘要:一. 进程的开始和结束 1.1. main函数的调用 a. 编译链接时的引导代码。操作系统下的应用程序其实在main执行前也需要先执行一段引导代码才能去执行main,我们写应用程序时不用考虑引导代码的问题,编译连接时(准确说是连接时)由链接器将编译器中事先准备好的引导代码给连接进去和我们的应用程序一 阅读全文
posted @ 2019-03-10 22:17 三七鸽 阅读(459) 评论(0) 推荐(0)
摘要:一. 不可重入函数 1.1. 什么是不可重入函数 a. 在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果有一个函数不幸被设计成为不可重入这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。 1.2. 阅读全文
posted @ 2019-03-05 22:41 三七鸽 阅读(593) 评论(0) 推荐(0)
摘要:一. linux系统如何管理文件 1.1. 硬盘中的静态文件和inode a. 文件平时都在存放在硬盘中的,硬盘中存储的文件以一种固定的形式存放的,我们叫静态文件。 b. 一块硬盘中可以分为两大区域:一个是硬盘内容管理表项,另一个是真正存储内容的区域。操作系统访问硬盘时是先去读取硬盘内容管理表,从中 阅读全文
posted @ 2019-03-05 00:04 三七鸽 阅读(295) 评论(0) 推荐(0)
摘要:一. linux常用文件IO接口 1.1. 文件描述符 1.1.1. 文件描述符的本质是一个数字,这个数字本质上是进程表中文件描述符表的一个表项,进程通过文件描述符作为index去索引查表得到文件表指针,再间接访问得到这个文件对应的文件表。 1.1.2. 文件描述符这个数字是open系统调用内部由操 阅读全文
posted @ 2019-03-04 00:25 三七鸽 阅读(345) 评论(0) 推荐(0)