
Linux
文章平均质量分 91
懒懒学c
一个自学编程的爱好者
展开
-
Linux的学习之路:22、线程(2)
本章继续讲一下线程的东西目录摘要一、抢票二、加锁保护三、死锁1、死锁四个必要条件2、避免死锁四、同步1、常见的线程安全的情况2、常见不可重入的情况3、常见可重入的情况4、可重入与线程安全联系5、可重入与线程安全区别。原创 2024-04-26 19:44:15 · 862 阅读 · 3 评论 -
Linux的学习之路:21、线程(1)
本章说一下线程目录一、回忆一下二、如何理解线程三、命令行看线程四、利用函数进行使用五、本章总结1、线程的优点2、线程的缺点3、线程的异常4、线程的用途1、创建一个新线程的代价要比创建一个新进程小得多2、与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多3、线程占用的资源要比进程少很多4、能充分利用多处理器的可并行数量5、在等待慢速I/O操作结束的同时,程序可执行其他的计算任务6、计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现。原创 2024-04-25 20:22:26 · 939 阅读 · 6 评论 -
Linux的学习之路:20、进程信号(2)
本章讲一下进程信号的阻塞信号和捕捉信号和可重入函数目录摘要一、阻塞信号1、阻塞信号2、信号集操作函数二、捕捉信号1、内核如何实现信号的捕捉2、代码实演三、可重入函数。原创 2024-04-24 17:48:02 · 1393 阅读 · 2 评论 -
Linux的学习之路:19、进程信号(1)
今天这张说一下信号的一部分知识目录摘要一、信号1、生活角度的信号2、技术应用角度的信号3、注意4、用kill -l命令可以察看系统定义的信号列表5、信号处理常见方式概览二、产生信号1、通过终端按键产生信号2、调用系统函数向进程发信号3、由软件条件产生信号4、硬件异常产生信号如下图所示每个信号都有一个编号和一个宏定义名称,这些宏定义可以在signal.h中找到,例如其中有定 义 #define SIGINT 2编号34以上的是实时信号,本章只讨论编号34以下的信号,不讨论实时信号。原创 2024-04-23 21:59:31 · 955 阅读 · 2 评论 -
Linux的学习之路:17、进程间通信(1)
本章主要是介绍一下通信,然后进行使用代码进行测试,代码放在文章末。原创 2024-04-21 22:51:17 · 429 阅读 · 7 评论 -
Linux的学习之路:16、文件(3)
本章主要是把文件结尾以及自己制作库目录摘要一、文件理解二、静态库与动态库1、硬链接2、软链接3、静态库与动态库三、静态库代码实施编辑编辑编辑四、动态库代码实施五、代码。原创 2024-04-21 20:19:01 · 958 阅读 · 1 评论 -
Linux的学习之路:15、文件(2)
这里就说一下文件描述符和重定向以及缓冲区目录摘要一、文件描述符1、0 、1、22、分配规则二、重定向三、缓冲区四、代码。原创 2024-04-20 20:01:13 · 690 阅读 · 3 评论 -
Linux的学习之路:14、文件(1)
有一说一文件一天学不完,细节太多了,所以这里也没更新完,这里部分文件知识,然后C语言和os两种的文件操作目录摘要一、文件预备二、c文件操作三、OS文件操作1、系统文件I/O2、接口介绍四、思维导图这里是 利用man进行查看open进行讲解,如下图一就是所需的头函数以及可以使用的函数接口,这里就不多截图了,我把常用的放在下方块中了。#include <fcntl.h>//头函数//函数接口的使用pathname: 要打开或创建的目标文件。原创 2024-04-19 20:37:26 · 939 阅读 · 2 评论 -
Linux的学习之路:13、进程替代
本章主要是说一下进程替代用到的函数exec以及自己实现的简易shell。原创 2024-04-19 07:09:10 · 1351 阅读 · 1 评论 -
Linux的学习之路:12、地址空间(续)与进程的创建、终止和等待
本章将讲述上章没说的一些东西以及进程创建终止与等待目录摘要一、地址空间(续)二、创建三、终止四、等待五、思维导图。原创 2024-04-17 18:45:25 · 2304 阅读 · 2 评论 -
Linux的学习之路:11、地址空间
本章主要是说一下地址空间,我也只是按照我的理解进行解释,可能说不清楚,欢迎指正目录摘要一、空间布局图二、代码测试一下三、进程地址空间四、测试代码。原创 2024-04-15 19:42:33 · 355 阅读 · 14 评论 -
Linux的学习之路:10、进程(2)
本章主要是说一下fork的一些用法、进程状态、优先级和环境变量。目录摘要一、fork1、fork的基本用法2、分流二、进程状态三、优先级四、环境变量1、常见环境变量2、和环境变量相关的命令3、通过代码如何获取环境变量五、导图。原创 2024-04-14 19:45:44 · 1094 阅读 · 8 评论 -
Linux的学习之路:9、冯诺依曼与进程(1)
本章主要是说一下冯诺依曼体系结构和进程的一部分东西。目录摘要一、冯诺依曼体系结构二、操作系统的概念三、设计OS的目的四、管理五、进程的基本概念六、PCB七、在Linux环境下查看进程八、使用代码创建进程九、思维导图。原创 2024-04-13 20:27:34 · 1310 阅读 · 6 评论 -
Linux的学习之路:8、Linux调试器-gdb使用
本章主要是说一下gdb的使用,以及把使用指令放入放个指令手册。目录摘要一、背景二、使用1、产生debug文件2、进入gdb3、使用指令三、思维导图。原创 2024-04-12 22:05:09 · 662 阅读 · 13 评论 -
Linux的学习之路:7、yum与git
本章主要是说一下yum和git的操作目录摘要一、什么是yum二、yum三板斧1、list2、install3、remove三、怎么创建仓库四、git三板斧1、add2、commit3、push4、pull五、思维导图YUM是Yellowdog Updater Modified的简称,是杜克大学为了提高RPM软件包安装性而开发的一种软件包管理器。它可以从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,就像手机里面的应用商店。原创 2024-04-12 21:32:48 · 1424 阅读 · 9 评论 -
Linux的学习之路:6、Linux编译器-gcc/g++使用
本文主要是说一些gcc的使用,g++和gcc使用一样就没有特殊讲述。目录摘要一、背景知识二、gcc如何完成1、预处理(进行宏替换)2、编译(生成汇编)3、汇编(生成机器可识别代码4、链接(生成可执行文件或库文件)5、函数库6、静态库和动态库7、gcc选项三、思维导图。原创 2024-04-11 21:28:26 · 1190 阅读 · 16 评论 -
Linux的学习之路:5、粘滞位与vim
这里主要是把上章没说完的权限的粘滞位说一下,然后就是vim的一些操作。目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档三种模式:正常模式、插入模式、底行模式。原创 2024-04-11 20:32:40 · 1664 阅读 · 0 评论 -
Linux的学习之路:4、权限
权限我们都熟悉,最常见的就是在看电视时需要vip这个就是权限,然后在Linux就是有两个权限,就是管理员也就是超级用户和普通的用户命令:su [用户名]功能:切换用户。例如,要从root用户切换到普通用户user,则使用 su user。要从普通用户user切换到root用户则使用 suroot(root可以省略),此时系统会提示输入root用户的口令,测试如下。原创 2024-04-04 22:36:29 · 1120 阅读 · 9 评论 -
Linux的学习之路:3、基础指令(2)
这个指令在上篇文章我也用了但是忘了说了,这个指令的大概用法就是把后面跟的文本等输出在显示器上,如下代码所示打印的“Hello Linux”原创 2024-03-24 19:25:09 · 1101 阅读 · 2 评论 -
Linux的学习之路:2、基础指令(1)
上篇文章已经说了一点点的ls指令,不过那还是不够的,这篇文章会介绍更多的指令,最起码能使用命令行进行一些简单的操作,下面开始介绍了ls常用选项-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。如:ls –d 指定目录-i 输出文件的 i 节点的索引信息。如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件-l 列出文件的详细信息。-n 用数字的 UID,GID 代替名称。原创 2024-03-23 23:11:43 · 2817 阅读 · 3 评论 -
Linux的学习之路:1、发展史与编译环境的搭建
1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。原创 2024-03-22 21:38:31 · 702 阅读 · 0 评论