操作系统
操作系统
blazer小桦桦
好好学习,年年向上
微信公众号:懂了还要学
展开
-
iniparser 库的简单使用
文章目录1 iniparser介绍2 ini文件格式3 iniparser.h4 dictionary.h5 常用的几个函数6 测试代码1 iniparser介绍iniparser是一个C语言库,是针对INI文件的开源解析器。ini文件则是一些系统或者软件的配置文件。github地址如下:https://github.com/ndevilla/iniparser直接git clone关键的头文件和c文件在src下2 ini文件格式我自己定义了一个配置文件,和测试代码ini文原创 2020-08-18 22:15:31 · 1375 阅读 · 0 评论 -
嵌入式系统总结
文章目录1, 指令集比较2, 存储器结构比较3, 处理器分类4, ARM 处理器高速缓存cache流水线总线BUSARM 运行模式ARM 存储模式指令系统下面的内容都是围绕这2幅图进行的。1, 指令集比较2, 存储器结构比较哈佛结构将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储是分开,可以使指令和数据有不同的数据宽度,通常具有较高的执行效原创 2020-07-01 09:15:54 · 842 阅读 · 0 评论 -
深挖程序编译过程
A ship in port is safe. but that is not what ships are builts for.--------船舶在港湾里当然是安全的,但是船不是为了停泊在港湾里而建造的。文章目录1, 全过程图示2, 预处理3, 编译4, 汇编5, 链接5.1 静态链接:缺点:优点:5.2 动态链接:优点:缺点:1, 全过程图示2, 预处理预编译主要处理源代码文件中...原创 2020-03-31 15:08:09 · 296 阅读 · 0 评论 -
静态库和动态库
The purpose of our lives is to give birth to the best which is within us.--------我们生活的目的是要孕育我们内在最好的东西.文章目录1, 什么是库?2, 静态链接库3, 动态链接库(共享库)3.1 名称3.2 优点:3.3 缺点:4, 静态库和动态库区别用过python,你肯定import过很多库,然后直接调用库...原创 2020-03-31 15:06:22 · 620 阅读 · 0 评论 -
进程间通信之管道(用水管思维理解)
Nothing is ever a setback. If anghing, it just motivate you for what is next.--------没有挫折这回事,他若具有任何意义,那只是激励你再下一个挑战中表现更好.文章目录1, 前景回顾2,管道真的就是管道2.1 管道通俗理解2.2 为什么管道是半双工通信?2.3 管道特点3, 无名管道(有时会直接叫做管道,不要混淆)3...原创 2020-03-28 09:50:16 · 645 阅读 · 0 评论 -
3分钟故事学会用信号机制完成进程间同步
A successful man is one who can lay a firm foundation with the bricks others have thrown at him.--------成功的人会利用别人丢他的砖头来建构一个坚固的基础。文章目录1, Linux下信号概念以及如何安装信号2, 多进程回顾3, 如何利用信号实现进程间通信1, Linux下信号概念以及如何安装信...原创 2020-03-27 15:47:59 · 237 阅读 · 0 评论 -
多进程编程就是孙悟空拔猴毛--变猢狲
Our bravest and best lessons are not learned through success, but through misadventure.--------我们最好的教训不是透过成功而学到,而是透过不幸的遭遇。文章目录1, 进程回顾2, 进程内存空间回顾3, 系统调用fork()4, 系统调用vfork()5, fork和vfork的区别6, 写时复制6.1 ...原创 2020-03-27 15:04:10 · 545 阅读 · 1 评论 -
Linux系统限制
It is better to be boldly decisive and risk being wrong than to agnonize at length and be right too late.--------宁可大胆果断,冒险犯错,而不要犹豫不定,正确的太晚文章目录1, 如何修改文件最大句柄数方法一方法二2, 修改系统限制API函数Linux下每种资源都有相关的软硬限制,譬如...原创 2020-03-26 15:08:43 · 697 阅读 · 0 评论 -
僵尸进程
A pessimist sees the difficulty in every opportunity; an optimist sees the oppertunity in every difficulty.--------悲观主义者在每个机会里都看到困难; 乐观主义者在每次困难里都看到机会。文章目录1, 正常进程2, 孤儿进程2.1 慈父init进程的出现3, 僵尸进程3.1 僵尸进程...原创 2020-03-25 16:00:55 · 313 阅读 · 1 评论 -
进程(程序)空间内存布局
It can be inferred that you lack confidence in a victory over your rivals from the fact that you are irritable against them. --------如果敌人让你生气,说明你还没有战胜他们的把握。最近看了以前博客,觉得有点自导自演的感觉,讲述的知识点还是过于枯燥生硬,往后小黑会加...原创 2020-03-24 17:07:08 · 940 阅读 · 1 评论 -
多线程编程以及锁的介绍
文章目录1, 多线程简单介绍1.1 线程回顾1.2 多线程的优点2, 主线程和子线程的关系3, 多线程编程3.1 线程API函数知识体系3.2 基本函数3.2.1 pthread_creat()3.2.2 其他三个函数3.3 默认会合态处理API函数3.4 设置线程分离态API函数4, 多线程锁概念及锁API函数4.1 多线程锁概念4.2 互斥锁API函数5, 无锁的线程示例代码5.1 默认会...原创 2020-03-21 09:09:42 · 329 阅读 · 1 评论 -
多线程中锁那些事儿
文章目录1, 线程间通信2, Linux的4种锁机制3, 死锁3.1 死锁产生的4个必要条件3.2 死锁解决我们就从一个生活例子入手。你长大了,但是因为没有在大学好好学习的缘故,你入职了一家偏僻的小公司,办公环境还说的过去,但是至于厕所就只有一个了,更惨的事情是厕所里只有一个马桶,你们公司可以比作同一个进程空间,每个员工就是进程中不同的线程,干着各自的活,洗手间就是临界区,马桶就是共享变量(临...原创 2020-03-20 18:21:36 · 265 阅读 · 1 评论 -
系统调用与库函数
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。在《APUE》这本书中讲的绝大部分函数都是系统调用,而非库函数。1,系统调用1.1 概念在计算机中,系统调用(system call),又称为系统呼叫,指运行在使用者空间的程序向操作系统内核请求需要更高权限运行的服务。系统调用提供了用户程序与操作系统之间的接口。(即系统...原创 2020-03-09 18:08:46 · 1753 阅读 · 1 评论 -
进程与线程
进程基本概念进程是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现操作系统的并发。线程基本概念线程是进程的子任务,是cpu调度和分配的基本单位,用于保证程序的实时性,实现进程内的并发;线程是操作系统的可识别的最小执行和调度的单位。每个线程都独立占用一个虚拟处理器:独立的寄存器组,指令计数器和处理器状态。每个线程完成不同的任务,但是共享同一地址空间(也就是同样的动态内存,映...原创 2020-03-12 20:24:05 · 424 阅读 · 1 评论