![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
TheWindRisesll
这个作者很懒,什么都没留下…
展开
-
Linux:如何使用命令安装gcc/g++, gdb, vim
安装 gccyum install gcc安装g++yum install gcc-c++安装gdb<1>先切换到root权限。centos点help。<2>在终端下打开FireFox,复制 https://mirrors.aliyun.com/ 回车<3>再输入yum list | grep gdb安装vim输入命令 yum -y inst...原创 2018-11-15 17:44:28 · 216 阅读 · 0 评论 -
Linux : 线程的同步与互斥(模拟买票系统)
线程的同步与互斥进程线程间的互斥相关背景概念【临界资源】:多线程执行流共享的资源就叫做临界资源【临界区】:每个线程内部,访问临界自娱的代码,就叫做临界区【互斥】:任何时刻,互斥保证有且只有一个执行流进入临界区,访问临界资源,通常对临界资源起保护作用【原子性】:不会被任何调度机制打断的操作,该操作只有两态,要么完成,要么未完成互斥量mutex大部分情况,线程使用的数据都是局部变量,变...原创 2019-01-21 21:23:12 · 640 阅读 · 1 评论 -
Linux : 基础 IO 二 ( 文件描述符fd(" 0 & 1 & 2 " 及 " 分配规则 ")、重定向、使用 dup2 系统调用 )
重定向这是重定向的示图,仔细看图哦,再动动脑筋,思考思考!看看能否理解重定向的本质呢?下面有代码,一会再对照一下自己的想法对不对上代码辣:#include &amp;amp;lt;stdio.h&amp;amp;gt; #include &amp;amp;lt;sys/types.h&amp;amp;gt; #include &amp;amp;lt;sys/stat.h&a原创 2019-01-15 22:11:26 · 5852 阅读 · 2 评论 -
Linux :条件变量
条件变量当一个线程互斥地访问某个变量时,它可能发现在其它线程改变状态之前,它什么也做不了。例如 : 一个线程访问队列时,发现队列为空,它只能等待,直到其它线程将一个节点添加到队列中。类似这种情况就需要用到条件变量。条件变量是用来实现同步机制的同步概念与竞态条件 :同步: 在保证数据安全的前提下,让线程能够按照某种特定的顺序访问临界资源,从而有效避免饥饿问题,叫做同步竞态条件: 因为...原创 2019-01-16 22:18:41 · 172 阅读 · 0 评论 -
Linux : 实现一个简易的 shell( mini_shell )
Shell介绍: Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序。它不属于内核部分,而是在核心之外,是操作系统的外壳程序,以用户态方式运行。其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口。系统初启后,核心为每个终端用户建立一个进程去执行Shell解释程序。 从技术角度,Shel的最简单定义:命令行解释器(command Interpreter...原创 2019-01-09 21:56:12 · 1209 阅读 · 0 评论 -
Linux :进程间通信(IPC)的五种方式(管道、FIFO、共享内存、信号量、消息队列)
进程间通信(IPC)进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。进程间通信的本质:让两个不同的进程看到同一份资源(该资源通常由操作系统直接或间接提供)进程间通信目的:数据传输 : 一个进程需要将它的数据发送给另一个进程资源共享 : 多个进程之间共享有同样的资源通知事件 :一个进程需要向另一个或一组进程发送消息,通知它(...原创 2019-01-09 16:16:33 · 1044 阅读 · 0 评论 -
Linux : 文件系统(创建一个文件 inode号 、inode、数据块之间的关系)
文件系统原创 2019-01-18 22:12:19 · 4529 阅读 · 1 评论 -
Linux : 软连接与硬链接(的比较)
软连接与硬链接软链接软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。软链接是通过名字引用另外一个文件,是一个独立的文件,有独立的 inode (与目标文件不同),存的是目标文件的路径和名称,可找到目标文件(类似于 windos 系统下的快捷方式,可快速访问目标文件)运行目标文件和软链接,可发现:软连接可直接执行目标文件硬链接是通...原创 2019-01-20 22:00:59 · 394 阅读 · 0 评论 -
Linux : 基础IO 一 ( 接口介绍、open函数 )
基础IOstdin &amp;amp;amp;amp;amp; stdout &amp;amp;amp;amp;amp; stderrC默认会打开三个输入输出流,分别是 stdin, stdout, stderr仔细观察发现,这三个流的类型都是FILE*( C语言提供的类型 ), fopen 返回值类型,文件指针stdin, stdout, stderr 对应的 键盘、显示器、显示器接口介绍open原型#include &a原创 2019-01-15 22:10:13 · 1365 阅读 · 0 评论 -
Linux:进程程序替换
进程程序替换原理:用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用exec并不创建新进程,所以调用exec前后该进程的id并未改变。如图所示:注意:进程程序替换,不创建新的子进程,替换的是代码段,一旦替...原创 2019-01-09 19:26:36 · 240 阅读 · 0 评论 -
Linux : 线程控制总结 (POSIX线程库、创建线程、线程ID及进程地址空间布局、线程终止、线程等待 、分离线程)
POSIX线程库与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的要使用这些函数库,要通过引入头文&amp;amp;amp;amp;amp;amp;amp;lt;pthread.h&amp;amp;amp;amp;amp;amp;amp;gt;链接这些线程函数库时要使用编译器命令的“-lpthread”选项创建线程原型#include &amp;amp;amp;amp;amp;amp;amp原创 2019-01-14 22:00:34 · 223 阅读 · 0 评论 -
Linux :线程介绍
进程是承担分配系统资源的基本实体线程是CPU调度的基本单位线程的概念进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位在⼀个程序⾥的⼀个执⾏路线就叫做线程(thread)更准确的定义是:线程是“⼀个进程内部的控制序列”⼀切进程⾄少都有⼀个执⾏线程线程是在进程内部运行,本质是在进程地址空间内运行进程和线程进程是资源竞争的基...原创 2019-01-11 20:47:06 · 413 阅读 · 0 评论 -
Linux 进程间通信——信号(阻塞信号、捕捉信号、可重⼊函数、SIGCHID信号)
信号概念的引入生活中的例子,比如:交通信号灯 、警报 、手机来电等,都是一种信号,而且信号的产生有三个特点 :1&amp;amp;gt; 随机性2&amp;amp;gt;信号没发出,但知道其作用3&amp;amp;gt;记住了信号了特征由此,我们可以得出,对于进程而言信号的特性类似1&amp;amp;gt;信号的产生是异步的(不知道什么时候会发出信号)2&amp;amp;gt;即使没收到信号,但提前知原创 2019-01-10 23:27:59 · 450 阅读 · 0 评论 -
Linux:常见命令du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password的用法
du1.作用是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。2.重要参数(1) -a:显示所有文件对系统数据块的使用情况(2) -b : 显示目录或文件大小时,以byte为单位(3) -c : 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和(4) -s : 只显示各数据块总大小 ,...原创 2018-12-05 17:29:28 · 1216 阅读 · 0 评论