Linux
文章平均质量分 88
…狂奔的蜗牛~
孤独成就算法
展开
-
【Linux练习生】高级IO
I/O(input/output)也就是输入和输出,在著名的冯诺依曼体系结构当中,将数据从输入设备拷贝到内存就叫做输入,将数据从内存拷贝到输出设备就叫做输出。对文件进行的读写操作本质就是一种IO,文件IO对应的外设就是磁盘。对网络进行的读写操作本质也是一种IO,网络IO对应的外设就是网卡。IO是输入input输出output的首字母缩写形式,直观意思是计算机输入输出,它描述的是计算机的数据流动的过程,因此IO第一大特征是有数据的流动;原创 2023-03-15 09:54:33 · 228 阅读 · 0 评论 -
【Linux练习生】线程池
一般来说,线程池都是采用预创建的技术,在应用启动之初便预先创建一定数目的线程。应用在运行的过程中,需要时可以从这些线程所组成的线程池里申请分配一个空闲的线程,来执行一定的任务,任务完成后,并不是将线程销毁,而是将它返还给线程池,由线程池自行管理。如果线程池中预先分配的线程已经全部分配完毕,但此时又有新的任务请求,则线程池会动态的创建新的线程去适应这个请求。当然,有可能,某些时段应用并不需要执行很多的任务,导致了线程池中的线程大多处于空闲的状态,为了节省系统资源,线程池就需要动态的销毁其中的一部分空闲线程。原创 2022-10-28 16:22:46 · 1118 阅读 · 4 评论 -
【Linux练习生】POSIX信号量( 基于环形队列的生产消费模型)
我们之前在进程间通信这一节简单讲解了System V信号量,信号量本质就是一把计数器,描述临界资源中资源数目的大小(信号量能够更细粒度的对临界资源进行管理)。本节要讲的POSIX信号量和SystemV信号量作用相同,都是用于同步互斥操作,达到无冲突的访问共享资源目的。 但POSIX可以用于线程间同步。原创 2022-10-26 17:04:28 · 862 阅读 · 6 评论 -
【Linux练习生】生产者与消费者模型
生产者和消费者彼此之间不直接通讯,而通过这个容器来通讯,所以生产者生产完数据之后不用等待消费者处理,直接将生产的数据放到这个容器当中,消费者也不用找生产者要数据,而是直接从这个容器里取数据,这个容器就相当于一个缓冲区,平衡了生产者和消费者的处理能力,这个容器实际上就是用来给生产者和消费者解耦的。原创 2022-10-25 12:37:02 · 248 阅读 · 6 评论 -
【Linux练习生】线程安全
我们知道,对于线程来说,多个同属一个进程的线程间是共享地址空间的,也就是很多资源是共享的–这就导致了它的优点是通信方便,不需要类似进程间通信需要建立管道(临界资源)来看到同一份资源;但是也造成了一个缺点,就是缺乏访问控制。因为一个线程的操作问题,很可能给其他进程造成不可控,或者引起崩溃、异常、逻辑不正确等现象–即线程安全问题!那么接下来我们就线程的安全问题来进行讲解~原创 2022-10-22 13:12:43 · 1818 阅读 · 2 评论 -
【Linux练习生】Linux多线程
本节重点了解线程概念,理解线程与进程区别与联系。了解线程控制,线程创建,线程终止,线程等待,线程分离。了解线程ID。原创 2022-10-19 09:26:47 · 519 阅读 · 5 评论 -
【Linux练习生】进程信号(深度理解)
前面我们介绍的进程间通信,都是常规状态下的工作模式。对于异常情况下的工作模式,就需要用「信号」的方式来通知进程。原创 2022-07-23 19:33:22 · 590 阅读 · 7 评论 -
【Linux练习生】进程间通信
管道是Unix中最古老的进程间通信的形式,我们把从一个进程连接到另一个进程的数据流称为一个“管道”。例如,统计我们当前使用云服务器上的登录用户个数。who命令用于查看当前云服务器的登录用户(一行显示一个用户),wc-l用于统计当前的行数。其中,who命令和wc命令都是两个程序,当它们运行起来后就变成了两个进程,who进程通过标准输出将数据打到“管道”当中,wc进程再通过标准输入从“管道”当中读取数据,至此便完成了数据的传输....原创 2022-07-18 13:36:20 · 926 阅读 · 10 评论 -
【Linux练习生】如何用 VS Code 登录云服务器(和Linux端进行同步)
1.打开vs code,在扩展商店里,搜索 Remote - SSH,然后下载。2.下载后,左侧栏会出现如图所示图标,然后点击加号3.输入例如,然后回车。4.点击下图所示路径,然后在右下角点击 Open Config5.然后会默认显示当前云服务器用户的信息,确认无误后关闭即可。7.然后按下图一步一步执行选择操作系统点击continue后输入密码;此时已经连接成功~然后点击左侧远程资源管理器-》选中当前服务器-》然后点击文件(选择打开文件夹)-》右侧就会显示服务器的根目录....原创 2022-07-12 12:25:39 · 524 阅读 · 1 评论 -
【Linux练习生】基础IO(详细)
本节我们讲解基础IO的部分,将围绕以下内容进行梳理讲解:- 复习C文件IO相关操作- 认识文件相关系统调用接口- 认识文件描述符,理解重定向- fd和FILE,理解系统调用和库函数的关系- 理解文件系统中inode的概念- 认识软硬链接,对比区别...原创 2022-07-10 12:43:19 · 2723 阅读 · 10 评论 -
【Linux练习生】深度解剖-》进程控制
在Linux中,fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。返回值:在子进程中返回0,父进程中返回子进程的PID,子进程创建失败返回-1。fork之后,父子进程代码共享。也就是说,fork之前父进程独立执行,而fork之后父子两个执行流分别执行。注意: fork之后,父进程和子进程谁先执行完全由调度器决定。一个父进程可以创建多个子进程,而一个子进程只能有一个父进程。因此,对于子进程来说,父进程是不需要被标识的;而对于父进程来说,子进程是需要被标识的,因为原创 2022-07-02 17:39:54 · 460 阅读 · 4 评论 -
【Linux练习生】两万字带你看透进程(相关概念)
程序员写完代码后,当你的代码进行编译链接后便会生成一个可执行程序,这个可执行程序本质上是一个文件,是放在磁盘上的。当我们双击这个可执行程序将其运行起来时,本质上是将这个程序的代码和数据加载到内存当中了,因为只有加载到内存后,CPU才能对其进行逐行的语句执行,而一旦将这个程序加载到内存后,我们就不应该将这个程序再叫做程序了,严格意义上将应该将其称之为进程。原创 2022-01-19 11:33:37 · 1318 阅读 · 22 评论 -
【Linux练习生】Linux指令汇总(入门必备)
我将我写的两篇基础Linux指令放在下面,供大家参考学习【Linux练习生】学好linux?先从基本指令入手(详解+举例)(上)【Linux练习生】学好linux?先从基本指令入手(详解+举例)(下)– the End –以上就是我分享的Linux指令汇总(入门必备),感谢阅读!本文收录于专栏:Linux关注作者,持续阅读作者的文章,学习更多知识!https://blog.csdn.net/weixin_53306029?spm=1001.2014.3001.53432022/1/14原创 2022-01-14 23:45:39 · 530 阅读 · 7 评论 -
【Linux练习生】使用 git 命令行--在 Gitee上传项目
使用 git 命令行--在 Gitee上传项目原创 2021-11-16 01:32:37 · 1812 阅读 · 9 评论 -
【Linux练习生】Linux项目自动化构建工具-make/Makefile
背景会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的ID原创 2021-11-15 23:32:48 · 319 阅读 · 0 评论 -
【Linux练习生】第一个Linux小程序--倒计时计数+进度条
前提:(概念理解)\r&&\n回车概念换行概念行缓冲区概念原创 2021-11-14 23:51:52 · 1096 阅读 · 0 评论 -
【Linux练习生】Linux调试器-gdb使用(详解+举例)
gdb使用原创 2021-11-13 14:18:07 · 1144 阅读 · 2 评论 -
【Linux练习生】Linux编辑器-vim使用(详解)
Linux编辑器-vim使用原创 2021-11-13 10:45:41 · 487 阅读 · 0 评论 -
【Linux练习生】深度理解Linux权限(超详细)
深度理解Linux权限原创 2021-11-05 09:23:39 · 1028 阅读 · 0 评论 -
JDK安装
JDK 是 Java Development ToolKit 的简称,也就是 Java 开发工具包。JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简称 JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。原创 2021-11-02 19:52:43 · 211 阅读 · 0 评论 -
【Linux练习生】学好linux?先从基本指令入手(详解+举例)(下)
上篇博文:【Linux练习生】学好linux?先从基本指令入手(详解+举例)(上)(ls、pwd、cd、touch、mkdir、rmdir、rm、man、cp、mv、cat、tac、more、less)接上篇:Linux下基本指令~下篇原创 2021-11-02 01:50:24 · 294 阅读 · 1 评论 -
CentOS7安装MySQL8(详解)
MySQL 是世界上最流行的开源数据库。它包括 InnoDB,使其成为一个完全集成的、事务安全的、符合 ACID 的数据库。此外,MySQL 复制允许您交付高性能和可扩展的应用程序。MySQL Cluster 是结合了线性可扩展性和高可用性的分布式数据库。它提供内存中的实时访问,并具有跨分区和分布式数据集的事务一致性。它专为关键任务应用程序而设计原创 2021-11-02 01:03:03 · 299 阅读 · 0 评论 -
Nginx负载均衡实现
Nginx负载均衡实现原创 2021-10-31 13:32:36 · 2846 阅读 · 0 评论 -
【Linux练习生】学好linux?先从基本指令入手(详解+举例)(上)(ls、pwd、cd、touch、mkdir、rmdir、rm、man、cp、mv、cat、tac、more、less)
Linux基本指令原创 2021-10-30 18:16:07 · 325 阅读 · 5 评论 -
Nginx服务器安装
Nginx服务器安装原创 2021-10-28 22:53:04 · 1879 阅读 · 2 评论 -
实验案例: Linux磁盘挂载
Linux磁盘挂载原创 2021-10-28 01:26:42 · 954 阅读 · 4 评论 -
实验案例:FTP服务器搭建与配置
FTP服务器搭建与配置原创 2021-10-27 01:07:56 · 1521 阅读 · 0 评论