Linux
文章平均质量分 91
绝活蛋炒饭
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程编程初探:掌握基本概念与核心原理
线程的概念到线程的控制,以及Linux封装出来线程的底层实现的万字总结原创 2024-12-28 19:04:42 · 1386 阅读 · 0 评论 -
基于进程信号量的多线程同步机制研究与实现
信号量机制本质是对于资源的预订操作,线程或者进程预订了之后,确保未来有一段时间,资源是属于我的。对于预订资源,会有一个最小单位,资源都是以这个最小单位为整体被使用的。这里,由于是信号量的前导,我们简单的把信号量理解为一个计数器(是由OS维护的)。我们这里对于这个信号量的计数器的设计,提出几个问题?1.计数器能不能简单的设计成一个整型变量?原创 2024-12-28 19:05:45 · 744 阅读 · 2 评论 -
掌握线程安全之道:线程互斥与同步技术解析
临界资源:多线程执行流共享的资源就叫做临界资源临界区:每个线程内部,访问临界资源的代码,就叫做临界区互斥:任何时刻,互斥保证有且只有一个执行流进入临界区,访问临界资源,通常对临界资源起保护作用原子性(后面讨论如何实现):不会被任何调度机制打断的操作,该操作只有两态,要么完成,要么未完成。临界资源和临界区进程之间如果要进行通信我们需要先创建第三方资源,让不同的进程看到同一份资源,由于这份第三方资源可以由操作系统中的不同模块提供,于是进程间通信的方式有很多种。原创 2024-12-28 19:06:11 · 1123 阅读 · 15 评论 -
从零开始:实现进程间管道通信的实例
进程之间的通信的匿名管道和命名管道详细介绍。原创 2024-12-03 20:09:39 · 1291 阅读 · 40 评论 -
深入探索进程间通信:System V IPC的机制与应用
关于systemV三种通信方式的原理和概念的深入解析原创 2024-12-03 20:09:13 · 839 阅读 · 18 评论 -
进程间通信的信号艺术:机制、技术与实战应用深度剖析
信号的产生,信号的保持,信号的处理,万字总结原创 2024-11-21 19:41:08 · 1029 阅读 · 22 评论 -
动静态库:选择与应用的全方位指南
由软硬链接到动静态库。原创 2024-11-21 19:40:18 · 1152 阅读 · 12 评论 -
手搓简易shell
这里就是,在学习了进程之后,利用创建子进程和进程程序替换,形成的简易版的shell原创 2024-11-03 15:49:42 · 347 阅读 · 5 评论 -
文件描述符fd 和 缓冲区
本文介绍的文件描述符如何让进程打开文件时如何管理文件,以及C语言在语言层面给用户提供的缓冲区原创 2024-11-01 20:57:21 · 929 阅读 · 0 评论 -
探秘磁盘内部的储存方式,揭露文件在软硬件上的不同模式
本文详细介绍了磁盘存储文件内容的基本模式,从硬件的物理存储模式,再到软件层的逻辑存储模式,以及两者之间如何进行转化。原创 2024-11-01 20:55:18 · 856 阅读 · 0 评论 -
Linux下的文件IO操作
本文主要讲解了,在Linux环境下一些C语言提供的文件接口,以及C语言文件接口底层封装的由操作系统Linux提供的系统调用接口原创 2024-10-28 20:15:02 · 1331 阅读 · 0 评论 -
Linux进程控制
本文是主要讲解了,Linux下的进程创建:包含了进程创建,进程退出,进程等待以及进程程序替换原创 2024-10-28 20:13:17 · 1467 阅读 · 0 评论 -
进程地址空间
关于进程地址空间的第一部分的介绍,详细介绍了进程地址空间,页表和物理地址之间的关系。深刻说明了进程地址空间和页表存在的意义。原创 2024-10-16 19:54:13 · 1115 阅读 · 0 评论 -
Linux下的环境变量
详细介绍了环境变量的概念和查看环境变量的方法原创 2024-10-16 19:53:10 · 913 阅读 · 0 评论 -
进程优先级
关于进程中优先级的概念的介绍,以及如何修改进程优先级原创 2024-10-11 19:55:36 · 435 阅读 · 1 评论 -
进程的调度和切换
本文主要介绍进程的调度和切换的基本概念,其中最主要的还是介Linux2.6内核进程调度队列的实现原创 2024-10-11 19:54:26 · 1075 阅读 · 0 评论 -
描述进程和进程状态
一开始介绍进程的描述PCB,介绍了在Linux下进程的基本操作,fork函数的介绍以及操作系统下的进程状态和Linux下的进程状态原创 2024-10-09 17:14:16 · 1246 阅读 · 0 评论 -
操作系统软硬件方面的体系结构的认识
这是关于操作系统理论篇的开篇,着重介绍了冯诺依曼体系,和操作系统的基本架构原创 2024-10-09 14:30:37 · 968 阅读 · 0 评论 -
Linux调试器---gdb的使用
2.要改变的变量必须是被定义了 (就是在修改这个变量的时候,程序必须运行过这个变量定义的那条指令了)。debug模式下形成的可执行程序会给我们添加了调试信息,但是用户并不需要,他们需要更快的下载速度。relese模式下形成的可执行程序,会去掉调试信息,这样会让release模式下的可执行文件更小。gcc默认编译出来的可执行程序是release模式的,这个模式下的可执行程序是无法调试的,在使用gcc的时候,添加 -g 选项更改编译出来的可执行文件为denug模式。gcc默认链接时,链接的是动态库。原创 2024-10-02 15:59:41 · 1027 阅读 · 0 评论 -
Linux项目自动化构建工具-make/Makefile
因为会对时间进行一个对比,我们之间在VS上编译代码时,会发现我们解决了问题,但编译执行文件时依旧还是按照之前的程序执行,这就是因为VS识别文件不及时或者是没识别出来,还以为你的文件没有修改,所以他也没有对你的程序重新编译。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。不可能的,程序编译和代码修改都需要时间,逻辑上他们两个的时间根本就不会是一样的。原创 2024-09-23 16:27:21 · 1030 阅读 · 0 评论 -
Linux编译器-gcc/g++使用
1. 预处理(进行宏替换)2. 编译(生成汇编3. 汇编(生成机器可识别代码)4. 连接(生成可执行文件或库文件格式gcc [选项要编译的文件选项] [目标文件先写好自己的文件,利用gcc编译好后会在当前目录下形成一个a.out文件,这个就是编译好的可执行程序。(上面程序有点小问题,格式不太好看)gcc在编译的时候,后面加上-o,就可以指定生成文件的名字。C语言可以用gcc和g++编译。c++只能用g++编译。原创 2024-09-20 10:17:16 · 1059 阅读 · 0 评论 -
Linux环境基础开发工具---yum
yum会有一个基础软件源,里面为了维持环境的稳定性,一定不会随随便便更新的,但是为了满足更新需要,此时就会有一个拓展软件源用于更新,当一个软件经过验证了之后才会被更新进入基础软件源。既然这些操作系统的侧重点不同,那么吸引到的人也不同,这些用户在社区讨论的问题也就不同,同样的,这些操作系统的配套设施,也肯定是围绕着自己的侧重点来建立的。但是,如果在使用虚拟机的时候,可能你的虚拟机还使用是国外的网址,这样就会导致你下载东西比较慢,这时候更新一下yum源就行了。CentOS-Base.repo:基础软件源。原创 2024-09-14 16:32:06 · 1096 阅读 · 0 评论 -
Linux环境基础开发工具---vim
vim是一款多模式的编辑器,里面有很多子命令,来实现代码编写操作。原创 2024-09-14 16:31:50 · 1174 阅读 · 0 评论 -
Linux下的权限
Linux环境下的权限设置原创 2024-05-20 22:29:29 · 1579 阅读 · 0 评论 -
Linux下基本指令
Linux下的一些基本指令和Linux下的基本知识,适用于Linux上指令的入门原创 2024-05-12 14:35:48 · 911 阅读 · 0 评论 -
Linux环境搭建
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。原创 2023-10-10 20:47:45 · 104 阅读 · 0 评论
分享