Linux
文章平均质量分 92
每天都要进步呀~
看你骨骼惊奇,天生就能寿司代码
展开
-
【Linux修炼】16.共享内存
shmget函数功能:用来创建共享内存原型 int shmget(key_t key , size_t size , int shmflg);参数key : 这个共享内存段名字size : 共享内存大小shmflg : 由九个权限标志构成,它们的用法和创建文件时使用的mode模式标志是一样的返回值:成功返回一个非负整数,即该共享内存段的标识码;失败返回 - 1shmat函数功能:将共享内存段连接到进程地址空间。原创 2023-03-14 15:31:37 · 1001 阅读 · 7 评论 -
【Linux修炼】15.进程间通信
一个进程需要将它的数据发送给另一个进程多个进程之间共享同样的资源。一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。原创 2023-03-09 16:06:56 · 1102 阅读 · 10 评论 -
【Linux修炼】14.磁盘结构/文件系统/软硬链接/动静态库
在之前文件的学习中,一开始我们就提到了文件操作的本质是进程和被打开文件之间的关系,那没有没打开的文件呢?如果一个文件没有被打开,该如何被OS管理呢?没有被打开的文件只能静静的放在磁盘上放着磁盘上面有大量的文件,而其中的大部分都是处于未被打开的状态,一这些文件也需要被静态管理起来,方便我们随时找到并打开,操作系统对未打开文件的管理,称为文件系统。就比如快递点的快递没有被取走,但也有一一对应的取件码方便取走。那磁盘是如何管理的呢?一、定义静态库是将库中的代码拿到本地,即当程序运行的时候就不再需要链接静态库。原创 2023-02-24 15:30:07 · 1294 阅读 · 23 评论 -
【Linux修炼】13.缓冲区
我们所提到的缓冲区有两种:用户缓冲区和内核缓冲区,用户缓冲区就是语言级别的缓冲区,对于C语言来说,用户缓冲区就在FILE结构体中,其他的语言也类似;而内核缓冲区属于操作系统层面,他的刷新策略是按照OS的实际情况进行刷新的,与用户层面无关。述符引导写到操作系统中的内核缓冲区,最后通过操作系统自主决定的刷新策略写入到外设中。原创 2023-01-10 22:25:37 · 811 阅读 · 12 评论 -
【Linux修炼】12.深入了解系统文件
文件的底层调用你了解吗?语言级别的文件接口和系统级别的文件接口你了解吗?原创 2023-01-06 11:41:05 · 877 阅读 · 20 评论 -
【Linux修炼】11.进程的创建、终止、等待、程序替换
进程的创建,终止,等待,进程的程序替换(和进程地址空间强相关)在linux中fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。那么在调用fork函数之前只有一个进程,当进程调用fork时,当控制转移到内核中的fork代码后,内核做:对于这个问题,从三个层次去理解。1. 如何理解fork函数有两个返回值问题?对于fork函数,当调用时,fork函数内部会有两个执行流,对应父进程和子进程,当fork函数内部代码执行完毕后,子进程也就被创建好了并有可能在OS的运行队原创 2022-12-27 21:10:43 · 863 阅读 · 18 评论 -
【Linux修炼】10.进程地址空间
纠正一直以来的对地址(指针)的层次上的错误观点!深入学习进程地址空间并克服Linux学习的第一道险关:4.1中的3:统一性!原创 2022-12-11 03:46:51 · 935 阅读 · 12 评论 -
【Linux修炼】9.环境变量
在开始之前,大家回想一下,有的编译器中的main函数中存在着这样的参数:比如上面的DevC++中,main()中有着整形的argc参数和指针数组的argv参数,事实上,这两个参数这就是我们这一节中的主角:命令行参数。那这个所谓的命令行参数到底是个什么鬼东西?有什么作用?能用来做什么呢?有的编译器怎么就没有呢?在演示之前,我们要对其进行准备工作,也就是设置一下Makefile以及程序的代码:Makefile:在这里,我们可以通过$脚本语言来改变之前的代码风格,即第一个$后的@代表生成的mycmd。原创 2022-11-27 18:05:07 · 1084 阅读 · 20 评论 -
【Linux修炼】8.进程概念
进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合,称之为PCB(process control block)在Linux中描述进程的结构体叫做task_struct。在磁盘中的程序中,并没有进程控制块以及内部属性信息的存在,而是加载到内存之后通过操作系统的一系列的管理才出现的。原创 2022-11-12 16:24:48 · 1421 阅读 · 37 评论 -
【Linux修炼】7.计算机软硬件体系结构(转载)
本文意在对计算机的软硬件体系结构进行梳理,包括计算机体系结构,什么是操作系统,为什么存在操作系统,操作系统如何进行管理,以及建立在这些软硬件基础上的各种提供给用户进行操作的接口。本文对于理解操作系统本身以及下一节的进程概念,甚至对整个Linux系统编程的理解都有着至关重要的作用,希望大家能耐心读完。操作系统是一个进行软硬件资源管理的软件,它通过对下管理好各种软硬件资源 – 手段,来对上为用户提供良好的 (安全、稳定、高效) 运行环境 – 目的;转载 2022-11-08 14:08:07 · 328 阅读 · 3 评论 -
【Linux修炼】6.gcc/g++及Makefile【工具篇】
本篇介绍了gcc/g++的使用,Makefile的相关知识,以及小程序进度条的实现。原创 2022-10-27 16:14:47 · 1845 阅读 · 33 评论 -
【Linux修炼】5.vim详解【工具篇】
详细讲解了yum、vim(重点)、sudo提权的方法原创 2022-10-22 18:31:33 · 2288 阅读 · 22 评论 -
【Linux修炼】4.Linux权限
详细介绍了关于Linux的权限。原创 2022-10-16 17:12:51 · 813 阅读 · 26 评论 -
【Linux修炼】3.常见指令(下)
介绍了:find、grep、zip、tar、bc、uname等命令、以及热键和扩展。原创 2022-10-02 15:43:59 · 1219 阅读 · 22 评论 -
【Linux修炼】2.常见指令(中)
常用命令:rmdir、rm、man、cp、mv、cat、more、less、head、tail指令的详细介绍原创 2022-10-01 17:27:32 · 1263 阅读 · 25 评论 -
【Linux修炼】1.常见指令(上)
讲述了Linux常见的部分指令:pwd、ls、cd、touch、mkdir、以及扩展内容。原创 2022-09-26 09:40:25 · 1158 阅读 · 18 评论 -
【Linux修炼】开篇
介绍Linux发展史,环境搭建,以及用户的登陆和创建子用户原创 2022-09-18 14:26:20 · 806 阅读 · 15 评论