
Linux从入门到精通
文章平均质量分 87
本专栏记录我在Linux的学习中的心得和体会。
reyas
程序小白
展开
-
以Linux为例了解线程
线程是进程的一个执行分枝线程是CPU调度与执行的基本单位。而我们之前学过的进程,则是OS资源分配的基本单位。进程与线程之间的关系如下图。原创 2024-05-15 17:34:47 · 647 阅读 · 0 评论 -
Linux信号详解
信号是Linux系统中定义的宏值,我们可以通过kill -l 命令查看信号我们要注意,没有0号信号,同时31号信号以后的信号都是实时信号,在当今计算机都是分时计算机,这些信号用不到。从内核来说,信号是进程/用户给另一个进行发送的异步信息的方式。当发送信号后,接收信号的进程会在合适的时候处理该信号,完成异步操作。当我们在详谈信号前,我们需要先了解一些事情。1).在进程没有收到确切的信号时,我们是否已经知道了这些信号的处理方法?答案是对的。原创 2024-05-05 18:01:52 · 747 阅读 · 2 评论 -
进程间通信(3)信号量初识
信号量是IPC资源,信号量可以理解为一个计数器,在某个进程要访问临界资源时,需要先申请信号量,预留资源。在操作系统中,将申请信号量的操作称为P操作, 释放信号量被称为V操作。对于一块资源,我们可以将其分成多份,让每一份都满足互斥和同步,这样对于一块临界资源,我们就可以实现并发访问了。要实现互斥,则一个信号量就足够了。若要实现同步,则需要给每个小空间都分配一个信号量。所以信号量就是实现同步和互斥,从而保护临界资源。原创 2024-05-04 17:36:06 · 643 阅读 · 1 评论 -
详解库和程序运行过程
我最近开了几个专栏,诚信互三!====> |||::刷题教程来自网站。|||====> |||::记录我学习C++的经历,看完你一定会有收获。|||====> |||::记录我学习Linux的经历,看完你一定会有收获。|||====> |||::记录我复习C#的经历,,不定期更新。|||====> |||::记录我学习计算机网络,看完你一定会有收获。|||原创 2024-03-24 14:04:31 · 958 阅读 · 3 评论 -
保护共享资源的方法(互斥锁)
锁是完成线程互斥的一种方法,它可以让共享资源在同一时间内,只被一个执行流访问。锁的底层原理其实相当简单,我们可以将锁想象成一个整数1,只有线程拿到这个整数1,才可以执行后面的代码,否则就阻塞,在执行完后,再把锁还回去。原创 2024-05-23 22:53:42 · 1043 阅读 · 4 评论 -
保护共享资源的方法(条件变量)
在对共享资源进行访问时,主要存在两种身份,及生产者和消费者。原创 2024-05-25 13:04:18 · 1012 阅读 · 0 评论 -
进程间通信(1)管道
进程间通信是让进程可以看到另一个进程发送的资源。原创 2024-04-20 17:36:11 · 546 阅读 · 5 评论 -
Linux文件系统
我最近开了几个专栏,诚信互三!====> |||::刷题教程来自网站。|||====> |||::记录我学习C++的经历,看完你一定会有收获。|||====> |||::记录我学习Linux的经历,看完你一定会有收获。|||====> |||::记录我复习C#的经历,,不定期更新。|||====> |||::记录我学习计算机网络,看完你一定会有收获。|||原创 2024-03-08 21:30:56 · 1013 阅读 · 4 评论 -
进程间通信(2)共享内存
我最近开了几个专栏,诚信互三!====> |||::刷题教程来自网站。|||====> |||::记录我学习C++的经历,看完你一定会有收获。|||====> |||::记录我学习Linux的经历,看完你一定会有收获。|||====> |||::记录我复习C#的经历,,不定期更新。|||====> |||::记录我学习计算机网络,看完你一定会有收获。|||原创 2024-05-03 18:08:30 · 1076 阅读 · 2 评论 -
以Linux为例了解进程
根据教材介绍,进程被加载到内存上的程序,其实在进程被加载到内存上时,我们直接操作的不是进程所对应的内存空间,而是操作系统描述出的进程数据类型,在Linux下,进程的数据内核名为task_struct,所以进程根加易于理解的定义是:进程 = 进程数据内核+运行在内存的可执行程序。原创 2023-11-20 09:48:21 · 89 阅读 · 5 评论 -
Linux进程程序替换
我最近开了几个专栏,诚信互三!====> |||::刷题教程来自网站。|||====> |||::记录我学习C++的经历,看完你一定会有收获。|||====> |||::记录我学习Linux的经历,看完你一定会有收获。|||====> |||::记录我复习C#的经历,,不定期更新。|||====> |||::记录我学习计算机网络,看完你一定会有收获。|||原创 2024-01-14 17:32:08 · 454 阅读 · 10 评论 -
Linux文件(1)
我最近开了几个专栏,诚信互三!====> |||::刷题教程来自网站。|||====> |||::记录我学习C++的经历,看完你一定会有收获。|||====> |||::记录我学习Linux的经历,看完你一定会有收获。|||====> |||::记录我复习C#的经历,,不定期更新。|||====> |||::记录我学习计算机网络,看完你一定会有收获。|||原创 2024-01-24 11:47:05 · 809 阅读 · 4 评论 -
进程地址空间
可执行程序会被加载到内存中,和pcb形成了进程,在之前的介绍中,我们没有对进程的存储形式进行描述,而进程地址空间就是对进程在内存中的存储形式进行描述的一个数据结构。所有可执行都要被加载到内存中,每个程序的大小,截然不同,为了我们更加方便管理进程,我们对进程进行了内存级别的划分。插入图片:可以看到,所有进程所占有的内存空间都被划分成了以上几个部分,上述部分我们并不陌生,在我们进行编程的时候,我们就是按照上述规则划分内存的,但是真实的物理内存也是这样划分的吗?原创 2023-12-04 17:49:30 · 294 阅读 · 9 评论 -
命令行参数与环境变量
我们在Linux中,输入的所有字符都叫做命令行参数,命令行参数都被shell程序维护在一个数组中,命令行参数会被当做变量传入main函数的参数列表中,由argc代表参数个数,argv代表命令行参数数组,**我们在命令行上输入的串,以空格作为分割符,NULL作为结束符,被写入到argv数组中,传入main函数。在我们运行可执行文件时会由以下效果。并且我们在命令行上输入的都会输出下来。根据上述案例,我们不仅可以了解到命令行参数是什么,原创 2023-11-29 20:10:20 · 126 阅读 · 4 评论 -
Linux gcc make/makefile详解
我最近开了几个专栏,诚信互三!====> |||::刷题教程来自网站。|||====> |||::记录我学习C++的经历,看完你一定会有收获。|||====> |||::记录我学习Linux的经历,看完你一定会有收获。|||====> |||::记录我复习C#的经历,,不定期更新。|||原创 2023-11-15 23:30:49 · 378 阅读 · 7 评论 -
shell外壳与Linux权限
操作系统可以简单分为内核,外壳,各式应用程序内核调度整个计算机硬件与软件之间的关系,为上层提供运行基础。而shell外壳可以参与到人机的交互翻译中,是计算机组成中重要的组成部分。原创 2023-11-02 11:16:00 · 131 阅读 · 5 评论 -
Linux查找与压缩指令
使用方法。原创 2023-10-25 21:16:20 · 178 阅读 · 13 评论 -
Linux yum,vim详解
yum是一个Linux系统预装的指令,yum的功能是可以对app进行搜索,下载,相当于Linux下的应用商店。yum是读取Linux中镜像文件中的网页地址,下载用户所输入的命令。原创 2023-11-12 23:13:04 · 320 阅读 · 6 评论 -
初识Linux
Linux是一款开源的操作系统,它由Linus在大学受到了Unix…操作系统的启发而创造并且开源的,Linux应其开源的特性成了许多企业开发的不二之选。Linux官网。原创 2023-09-28 21:22:55 · 148 阅读 · 6 评论 -
Linux指令与符号认识
cat直接读取键盘数据,输出到显示器上,cat [选项][文件名]可以将文件内的数据显示在显示屏上。cat > [文件名],将键盘读取的内容输出重定向到文件内,每次写文件都会删除原来文件的内容。cat Test.txt 将Test.txt的内容输出到屏幕上,可以通过cat > Test.txt可以吧键盘上读取的数据,输出重定向到Test.txt文件内。‘>’ 输出重定向,将数据输出的位置重定向到另一个位置,cat可以读取键盘数据,输出到键盘上。移动,mv src dest,dest是文件时,为文件重命名(原创 2023-10-02 18:48:04 · 135 阅读 · 7 评论