Linux
文章平均质量分 81
讲解关于Linux的相关知识
桜キャンドル淵
凑个整,就1024吧
展开
-
C++【多线程】
线程在进程内部执行,是OS调度的基本单位。在堆区上存在下面一种数据结构//用来记录这块空间的起始和终止。//其实这是一个双向链表中的结点,用具记录前后的空间节点 struct vm_ares_struct * vm_next , * vm_prev;如果我们的堆区申请了比较多的空间,然后我们的vm_area_struct就是用来记录我们每一小块的地址空间的起始和结束。然后这些小的内存块就通过双向链表的形式串联起来。所以说,OS是可以做到让进程进行细粒度的划分的。原创 2023-01-09 12:52:24 · 1777 阅读 · 1 评论 -
【Linux】【信号】
本质是一种通知机制。用户或者操作系统通过发送一定的信号,通知进程,某些事件已经发生,你可以在后序进行处理。结合进程,信号结论进程要处理信号,必须具备信号“识别”的能力(a.看到这个信号b.处理这个信号)凭什么进程能够“识别”这个信号呢?一定是在进程内部提前规定了这个信号应该如何被处理。曾经我们使用过kill -9来杀死一个进程,本质就是对进程发送了9号新号来杀死进程,这里的9就是一个信号信号是随机产生的,进程可能正在忙自己的事情。所以新号的处理可能不是立即处理的。原创 2023-01-04 19:50:10 · 415 阅读 · 0 评论 -
Linux【windows使用xshell连接本地虚拟机】【Mac使用terminal连接本地虚拟机】
(这里由于我最初始上面的我的ip是192.168.31.1,所以我们不妨将子网设置成192.168.31.188)关闭虚拟机,在parallels设置中,启用网卡2网络连接,连接方式选择“(wifi)网络”。然后输入我们对应的账号的密码,我们就能够用mac的terminal操作我们的虚拟机的终端了。也就是我们刚刚的上面的配置,我们虚拟机的ip事192.168.31.188,然后端口是22。在mac系统下的terminal使用ping命令判断宿主机到虚拟机是否是连通的。然后在我们的虚拟机中安装ssh服务。原创 2022-12-22 14:27:05 · 1538 阅读 · 0 评论 -
Linux【进程间通信】
进程的运行具有独立性,有独立的页表,pcb,等等父子进程之间,数据不相干扰这就让我们进程想要通信的难度比较大。因为操作系统在设计的时候,它本身就是独立的。进程间通信的本质:先让不同的进程看到同一份资源(内存空间)为什么要进行进程间通信?数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。原创 2022-11-19 20:19:01 · 429 阅读 · 0 评论 -
Linux【Mac】【parallels如何为ubuntu创建新的硬盘挂载】
然后打开我们的虚拟机,我们打开disk工具,也可以查看到我们新添加的硬盘。这时我们就可以看到我们新的硬盘已经被创建了。(我们的虚拟机必须要是关机状态!原创 2022-10-21 11:01:24 · 810 阅读 · 0 评论 -
Linux【如何重新设置root密码】
当我们忘记了root账户的密码之后,我们可以通过下面的方式重新设置root密码(sudo只能是管理员才有权限设置)这时候切换到root账户,就是使用的是我们上面重新设置的密码了。然后输入我们给root重新设置的密码,并且重复输入一遍。这里输入的是我们的当前账号的密码。原创 2022-09-30 12:11:43 · 2005 阅读 · 0 评论 -
【Linux】【基础IO】
上面的我们的c/c++中的文件指针是FILE*类型的,c/c++程序在编译的时候,把打开的代码都已经内置到你的代码里面了,这就是默认情况下会打开这些流。键盘和显示器可以被看做是文件。但是我从来没有打开过键盘和显示器啊,但是依旧能够进行scanf,fgets,printf,cout。即便是内容为0,磁盘上也会存储文件的属性。标准输入、标准输出,标准错误。键盘、显示器可以被看做文件吗?在系统角度理解文件!原创 2022-10-09 20:25:47 · 1309 阅读 · 13 评论 -
Linux【编写一个简单的shell】
通过让子进程执行命令,父进程等待,解析命令,即可完成对应的命令行解释器。(子进程如果执行命令出错了,也不会影响父进程)原创 2022-09-22 18:17:27 · 2529 阅读 · 2 评论 -
Linux【进程控制】
CPU其实只会取指令,分析指令,执行指令,而eip就是相当于是CPU的小秘书的职责,eip指向哪里,我们的CPU就执行哪里的代码。虽然父子进程各自调度,各自会修改EIP,但是已经不重要了,因为子进程已经认为自己的EIP起始值,就是fork之后的代码!所以我们的子进程也是一样,创建子进程,不需要将不会被访问的,或者只会读取的数据拷贝一份。创建子进程,给子进程分配对应的内核结构,必须子进程自己独有了,因为进程具有独立性!可是一般而言,我们没有加载的过程,也就是说,子进程没有自己的代码和数据!原创 2022-09-13 23:08:00 · 877 阅读 · 13 评论 -
Linux【概念思维导图】
思维导图原创 2022-09-07 21:17:26 · 120 阅读 · 0 评论 -
Linux【操作系统】
老冯需要先通过输入设备(键盘输入)到内存中(虽然老冯好像是在QQ对话框中输入的,但事实上这个QQ软件此时是被加载到内存里的),然后CPU内存中读取了这个要发消息的请求,将我们的数据进行了包装,然后又重新写回内存中,内存又将这些数据刷新到网卡中,通过互联网,这个数据包就被王大队长的网卡收到了,根据冯诺依曼规定,内存就会从网卡中读取收到的数据,内存将这个数据包读取给CPU,CPU将这个数据包解读之后又将解读后的数据写入到内存中,而内存又将我们的内容刷新到王大队长的显示器上。我们的程序编译好就仅仅是一个文件。..原创 2022-07-29 18:03:26 · 587 阅读 · 2 评论 -
Linux【yum】【git】【gdb】
在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序.但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装.软件包和软件包管理器,就好比"App"和"应用商店"这样的关系.如果没有epel库的话,执行下面的代码安装源将我们能够在Linux上下载的软件全部罗列出来yumlist我们可以查看到大量的软件。.........原创 2022-07-28 18:37:30 · 457 阅读 · 6 评论 -
Linux【vim】【gcc/g++】【make/Makefile】
我们打游戏需要去网吧,有一个朋友告诉你网吧的位置,你就去那个地方的网吧上网,这就好比是链接,网吧就好比是我们的动态库,有一天,这个网吧被查封了,我们就没办法打游戏了,也就是没办法跑代码了。我们的C程序中,并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢?在运行时需要跳转到库中进行运行,在编译时需要将库中的代码(地址链接到我们写的文件)连接到我的自身的写的代码的就称为。............原创 2022-07-20 18:04:50 · 1062 阅读 · 5 评论 -
Linux【shell命令以及运行原理】【权限】
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目,即使目录仍然有-r读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。我们如果是文件的拥有者,又属于文件的所属组,但是我们被root设定了没有文件的读取权限,但是我们的所属组有文件的读取权限,我们依然无法读取文件。普通用户可以在命令前加上sudo,就是执行以下命令,要以root的权限执行,仅限这一次,输入的密码为普通用户自己的密码。......原创 2022-07-19 18:12:20 · 3303 阅读 · 0 评论 -
Linux入门指令
目录1. ls 指令 2. pwd命令 3. cd 指令(change director) 4.touch指令5.mkdir指令 (make director)6.stat 7.rmdir指令 && rm 指令8.man指令 9.cp指令 10.mv指令11.cat指令 12.tac指令13.echo指令 使用>符号使用两个>符号14.more指令15.less指令 16.head 指令17.tail 指令18.wc 19.date指令20.cal指令21.find指令-name 22.which指令2原创 2022-07-12 18:02:22 · 321 阅读 · 0 评论