Linux
文章平均质量分 92
Linux阶段学习笔记,帕鲁刚出时期
贩卖纯净水.
圣火昭昭,圣光耀耀,凡我子弟,喵喵喵喵
展开
-
Socket也是夜猫子
赫赫mac地址只在局域网中保持唯一性。原创 2024-10-16 10:15:25 · 807 阅读 · 0 评论 -
网络命令多吃点满小饱
这是一期关于网络命令的加餐。原创 2024-10-15 19:19:20 · 335 阅读 · 0 评论 -
网络基础擅长组建乐队
让我们荡起双桨来说说网络吧现有计算机要进行协作,网络的产生是必然的局域网:计算机数量更多了, 通过交换机和路由器连接在一起广域网:将远隔千里的计算机都连在一起交换机路由器等设备就应运而生计算机是人的工具,人要协作,所以网络的产生是必然的!原创 2024-10-07 15:04:31 · 552 阅读 · 0 评论 -
子非线程池中物
线程池: 一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。线程池的应用场景:1. 需要大量的线程来完成任务,且完成任务的时间比较短。WEB服务器完成网页请求这样的任务,使用线程池技术是非常合适的。原创 2024-10-02 16:59:47 · 681 阅读 · 0 评论 -
从信号量开始的里牛渴死生活
讲讲信号量。原创 2024-09-28 16:24:22 · 1022 阅读 · 0 评论 -
线程同步也喜欢吃凤梨
什么啊?我哪里敢说话。原创 2024-09-26 11:00:30 · 837 阅读 · 0 评论 -
线程ID与互斥
补充一下上次没有说完的线程终止的内容:1. 从线程函数return,这种方法对主线程不适用,从main函数return相当于调用exit2. 线程可以调用pthread_ exit终止自己3. 一个线程可以调用pthread_ cancel终止同一进程中的另一个线程参数 value_ptr:value_ptr不要指向一个局部变量返回值:无返回值,跟进程一样,线程结束的时候无法返回到它的调用者(自身)原创 2024-09-22 20:19:10 · 571 阅读 · 0 评论 -
虎先锋,你也喜欢线程控制嘛
讲讲线程控制捏。原创 2024-09-19 15:08:32 · 1551 阅读 · 0 评论 -
多线程的高手——海王(浅谈线程概念)
听到大海的声音了吗让我想想炉石里面能被成为海王的卡牌我个人感觉就是拿着三叉戟的甲壳元素可是这牌被删了我心痛。原创 2024-09-16 17:42:33 · 939 阅读 · 0 评论 -
让上次的疯癫反省出信号保存与处理
上篇太颠了我们重说懒得喷。原创 2024-09-15 15:20:34 · 746 阅读 · 0 评论 -
白月光git
感觉bug好多干脆直接从头到脚梳理感冒不嘻嘻近况是:早起学习开车去沟里把蜜蜂拍到狗身上把车开回来吃席。原创 2024-09-12 18:56:41 · 703 阅读 · 1 评论 -
信号保存和处理
把上一篇回顾一下吧:共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,进程不再通过执行进入内核的系统调用来传递彼此的数据功能:用来创建共享内存原型参数key:这个共享内存段名字size:共享内存大小shmflg:由九个权限标志构成,它们的用法和创建文件时使用的mode模式标志是一样的返回值:成功返回一个非负整数,即该共享内存段的标识码;失败返回-1shmat函数功能:将共享内存段连接到进程地址空间原型参数shmid: 共享内存标识。原创 2024-09-11 21:49:08 · 1076 阅读 · 0 评论 -
共享内存喜欢沙县小吃
旭日新摊子好耶!系统从0开始搭建过通信方案,本地通信方案的代码:System V IPC里面有共享内存、消息队列、信号量。原创 2024-09-08 00:16:10 · 1551 阅读 · 0 评论 -
精彩管道不会梦到深沉蓝调
如果上天开了眼请多给我点蓝调多给我点沙锤多给我点甲壳让我吃鸡!星元自动机,新的版本之神给宁磕一个完蛋你说这不是问题吗我这篇文章从我写开始,到写完炉石都换赛季了!!!!!伙伴没了我心碎。原创 2024-08-25 13:45:18 · 906 阅读 · 0 评论 -
进程间也要唠一唠
讲讲进程间通信是怎么会是吧之前用的环境一直是vim+Centos到后面可以尝试改变一下Centos快要停止维护了,尽力搞UbuntuVScode是微软开发滴介素官网:update是历史的更新列表:无脑装VScode就完事了VScode不是IDE,是文本编辑器,逻辑上只能写代码但是VScode+插件可以打造本地市IDEVScode也可以远程开发链接云服务器VScode可以把vim给替换掉先康康VScode在本地怎么用。原创 2024-08-13 21:58:26 · 716 阅读 · 3 评论 -
我像只鱼儿在你的进程池~
父进程是master,它提前创建出一堆紫禁城,如果有命令就交给子进程去执行(和shell不一样,shell是有任务才去创建子进程),提前创建子进程,父子间需要进行通信,父进程持有写端,紫禁城具有读端,每个紫禁城都从管道中进行读取,这批提前创建出的紫禁城叫进程池,减小了创建进程的成本,管道里面没有数据,worker进程就阻塞等待数据的到来,master向哪一个管道写入,就是唤醒哪一个紫禁城来处理问题。(不关心是否从管道里读)是固定长度的四字节的数组下标,是对应的任务码,对应的是函数指针数组的下标。原创 2024-08-21 15:10:12 · 865 阅读 · 2 评论 -
软硬链接和动静态库
为什么一定要提供路径呢?因为要根据路径找到文件一切与路径相关的问题都是方便用户去访问文件。原创 2024-08-08 16:34:08 · 726 阅读 · 1 评论 -
西部菱斑响尾蛇教你基础IO
快学,再不学普洱就要超过你们了在C阶段进行的文件操作有哪些呢?原创 2024-08-05 19:23:48 · 777 阅读 · 3 评论 -
下个自主shell蛋
而像ls -a -l -i这种命令本质上是字符串嘞,不能直接用scanf获取,因为scanf空格作为分割,但是我们输入命令是不知道有多少空格的输入,按照行获取有木有?之前学过exec相关函数,我们所获得的命令串都是系统中的,所以默认去环境变量中寻找即可(带p的),又因为获取的是命令串,所以要带v的(容器)我们自己创建的shell在打印命令行的时候保存的是一串路径,但是正常的shell在保存路径的时候只会保存当前路径,那应该怎么办捏?需要注意的是,我们需要刷新环境变量,以保证出来的都是绝对路径。原创 2024-07-30 13:47:55 · 769 阅读 · 3 评论 -
让上次犯的错反省出梦想
🍍系统调用是操作系统向上层提供的用于访问内核特定功能的接口,应用程序通过系统调用将自己需要完成的功能传递给内核,系统调用的运行过程是在内核态完成的,操作系统并不允许用户直接访问内核(用户运行态并不满足访问内核的权限),系统调用是上层提供用于完成特定内核服务或功能的,用户只需要将自己的请求以及数据通过系统调用接口传递给内核,内核中完成对应的设备访问过程,最终返回结果正确。make程序会读取makefile文件中的数据,然后根据规则调用编译器,汇编器,链接器产生最后的输出。包括环境变量的配置命令。原创 2024-07-25 17:23:44 · 665 阅读 · 1 评论 -
控制欲过强的Linux小进程
控制欲强?视奸?普通人那才叫视奸,您是皇帝,天下大事无一逃过您的耳目,您想看什么就看什么,臣怀疑他在朋友圈私养兵士,囤积枪甲,蓄意谋反,图谋皇位啊!哈哈哈哈开个玩笑,这篇就主要讲讲Linux进程的控制吧~原创 2024-07-20 11:05:00 · 1975 阅读 · 5 评论 -
进程呼叫转移
进程不会消失,只会转移把一个进程的温暖转移到另一个的胸膛~让上个进程犯的错反省出梦想~不扯皮了,来说进程替换。原创 2024-07-22 11:50:02 · 807 阅读 · 1 评论 -
不要小看环境变量和地址空间的羁绊啊
优先级:指定进程获取某种资源的先后顺序task_struct,也叫进程控制块,本质是个结构体,有很多内部字段(进程的优先级就是其中的一只内部字段)int prio =??Linux中优先级数字越小,优先级越高优先级和权限有什么区别呢?首先,权限是决定我们能不能获取资源,而优先级是决定获取资源的顺序。原创 2024-07-15 22:59:12 · 913 阅读 · 12 评论 -
备胎般的内核进程调度队列
这么热的夏天没有你的冷暴力我可怎么活啊虽然我是个选学,但也请爱我爱的深沉一点吧!回归啊不对,进入正题:Linux真正情况下,进程是怎样调度的呢?因为进程本身要排队,那怎么排队呢?优先级?一样怎么办?下面来看看是怎样调度的吧:Linux系统中每一个CPU都有一个运行队列我们目前谈论的Linux操作系统是分时操作系统,进行调度时注重公平实时操作系统只会使用[100,139]的四十个元素进程优先级是40个数字,运行队列默认给我们使用的也是四十个数字。原创 2024-07-16 02:43:22 · 896 阅读 · 0 评论 -
含情脉脉的进程
刚开始启动的进程:19137一定是父进程, 通过调用fork看到了两个执行流,查到了两个不同的进程,有两个不同的pid(19156就是传说中的紫禁城),在fork之后,父子代码共享:创建一个进程,本质是系统中多了一个进程,多了一个进程就是多了一个task_struct进程控制块,多了的进程还要有自己的代码和数据,那紫禁城的代码和数据从哪来呢?父进程的代码和数据是从磁盘加载进来的,在默认情况下,紫禁城继承父进程的代码和数据(紫禁城没有代码和数据,只能继承,只有自己的task_struct)原创 2024-06-02 18:18:12 · 1506 阅读 · 0 评论 -
炫酷gdb
在VS里面调试很方便对吧?(F5直接调试,F10逐过程调试--不进函数,F11逐语句调试--进函数,F9创建断点),那在Linux中怎么调试呢?我们知道VS中程序的版本大致有两种模式:debug(开发模式,可被调试)和release(发布模式,不可被调试),为什么会形成这样的差异呢?原创 2024-05-19 14:21:07 · 769 阅读 · 11 评论 -
超绝git
我们应该学会使用超绝git了,首先,什么是git?git是超绝版本控制器(去中心化的分布式系统),什么又是版本控制,git和Gitee又有什么牵扯?原创 2024-05-12 20:25:14 · 1098 阅读 · 29 评论 -
所向披靡のmakefile
在VS里敲代码,只需要Fn+F5就可以直接运行勒,在Linux下敲代码却要即敲命令还要用编辑器还要用编译器,那在Linux下有没有能帮我们进行自动化组建的工具呢?当然有,超级巨星:makefile!!!!原创 2024-05-08 00:41:21 · 597 阅读 · 3 评论 -
gcc和g++的爱恨纠葛
gcc想必大家都听过吧,gcc是一个编译器,进行C语言编译的编译器但是有的时候代码会发现编不过,有可能是因为标准太低,不支持某些写法这个时候就可以C++中文件的后缀一般有三种:.c,.cpp(c++特有),.cc(c++特有)gcc不能用来编译C++代码(gcc不认识C嘎嘎的某些流),c嘎嘎在编译的时候就用g++啦还有一种后缀是cxx。原创 2024-04-25 14:27:55 · 991 阅读 · 3 评论 -
燃冬之yum、vim和你
了解了很多指令和权限,搞点真枪实弹来瞅瞅学Linux不是天天就在那掰扯指令玩,也不是就研究那个权限准备好迎接Linux相关工具的使用了么码农桑~原创 2024-04-22 23:45:28 · 1682 阅读 · 3 评论 -
Linux权限
就比如,我想拿uu加速某个游戏,我就得买会员(vip),这是权限再比如,我想进小邮的校门,有门禁,需要刷脸(它什么时候认识我一下),这也是权限权限是通过一定的条件,拦住一部分人,给另一部分人权利来访问某种资源。原创 2024-04-17 19:55:46 · 841 阅读 · 2 评论 -
Shell命令及运行原理
时代在召唤!!!真的不来看看灿灿一步一总结指导出来的广播操么???大部分命令就是磁盘中系统下特定目录中的可执行文件(大部分指令就是文件,狭义)那每次输指令前这个是什么?这个叫命令行提示符,是一个字符串(用户名主机名路径构成的字符串)每次从键盘输入东西就相当于文件把从键盘中输入的数据读进来了,这个程序负责打印提示符:用户执行某种功能的时候,并不是直接让操作系统执行对应指令的(用户不能直接访问操作系统),而是先交给外壳程序(命令行、图形化界面),桌面啦、命令行啦都是原创 2024-03-29 12:18:33 · 1148 阅读 · 12 评论 -
linux指令
linux的整个文件目录结构是一棵多叉树,任何一个文件可以有很多子目录,但是只能隶属于一个父目录(一个爹有很多孩子,这些孩子共有一个爹),保证了路径的唯一性。我们使用的桌面的本质是文件夹,当我们登陆windows时,它会确认登录用户,再根据用户名,找到用户目录下的”桌面文件夹",再将桌面文件夹显示形成图形化界面。虽然不至于把所有的都删掉(一些正在运行的删不了),但是rm会尽他所能把所有的都删掉,但是云服务器哎,没什么大不了,重装一两分钟就搞定了哎。所以,删除需谨慎,想好了再用(误删也很常见了)。原创 2024-01-26 22:03:29 · 1692 阅读 · 8 评论 -
linux系统的安装
个人也可以租赁云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器.使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 能让我们自己写的程序真的去给别人去使用。我们所能使用的软件,叫客户端,数据从哪来,是服务器上的,我们看到那些视频的过程,就是用户申请访问服务器上的数据的一个过程。tips: 这里的用户名密码都是在最初购买服务器的时候设置的用户名密码。原创 2024-01-26 22:06:35 · 437 阅读 · 3 评论 -
初识linux
这些软件、操作系统都是要收费的,相当于是这一个行业的油水都被那些大型企业捞走,有一个人就在想,能不能自己写一个免费的操作系统,打破这种行业垄断的局面,这个人就是雷纳斯托瓦兹(Linus Benedict Torvalds),他抱着为整个人类效力的念头仿照unix 写了一个操作系统,命名为linux(linux-> linux is not unix),并开放源代码,免费给其他人使用。1.对下提供基本的管理工作,让各种硬件工作在一个稳定的,高效的,安全的状态当中。又是在一个怎样的背景下,计算机诞生了呢?原创 2024-01-26 22:07:01 · 1029 阅读 · 3 评论