![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 71
Delete&_all
长风破浪会有时,直挂云帆济沧海。
展开
-
Linux下进度条实现以及缓冲区和回车换行
进度条实现1.首先,为了实现进度条,我编写了一段小的C代码:#include<stdio.h>#include<unistd.h>int main(){ int i = 0; char b[102]; const char *lb = "-\\|/"; b[0] = '\0'; while(i <=100 ){ printf("[%-10原创 2017-02-16 21:22:58 · 577 阅读 · 0 评论 -
Linux中的进程通信(一)--命名管道
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。 进程间通信的本质是两个不同的进程看到同一份公共资源。进程间通信的步骤: 1.父进程调用pi原创 2017-03-22 21:59:06 · 640 阅读 · 0 评论 -
Linux中的管道容量
管道管道(pipe) 管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的操作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属于某一种文件系统,而是一种独立的文件系统,有其自己的数据结构。根据管道的适用范围将其分为:无名管道和命名管道。 ● 无名管道 主要用于父进程与子进程之间,或者两个兄弟进程之间。在Linux系统中可原创 2017-03-08 15:52:01 · 1296 阅读 · 0 评论 -
Linux中Access Modify Change以及find指令的含义
stat命令首先,在当前工作目录下新建一个.c文件。这里我创建的为test.c。 然后stat test.c文件如下: 其中出现了三个时间,其含义分别如下: 1.Access:对于文件来说,当我们用编辑器打开file,或使用cat more less grep sed 等等命令读取文件内容,以及使用file cp命令操作文件,或执行可执行文件时,Acces原创 2017-02-15 20:04:56 · 965 阅读 · 0 评论 -
Linux中的atexit函数
什么是atexit函数? 起初学习C语言的时候,我们都知道整个程序的入口是main函数,但是其实事实并不是如此,在内核中可以使用链接器来设置程序的开始地方。当内核使用一个exec函数执行C程序时,在调用main函数之前先调用一个特殊的启动例程,可执行程序将此例程指定为程序的其实地址。启动历程从内核获取命令行参数和环境变量,然后为main函数做好准备。Atexit简介函数名: atexit头原创 2017-02-20 10:06:17 · 386 阅读 · 0 评论 -
Linux中的t权限位详解
t权限位在Linux中,如果对一个目录具有写权限,那么我们就可以在这个目录下创建删除文件。现在我们要创建这样一个目录,我们可以在这个目录里创建文件,但是其他用户不能删除这个文件。在这里就要用到一个特殊的权限:粘着位 在linux中有三种特殊权限,分别为: SetUID = 4:在所有者设置的权限 SetGID = 2:在所属组设置的权限 粘着位原创 2017-02-20 10:36:32 · 13834 阅读 · 2 评论 -
Linux中的file结构体解析
Linux–struct file结构体struct file(file结构体): struct file结构体定义在include/linux/fs.h中定义。文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的 struct file。 它由内核在打开文件时创建,并传递给在文件上进行操作的任何函数。在文件的所有实例都关闭后,内核释放这个数据结构。在内核创建和原创 2017-02-20 11:07:07 · 4156 阅读 · 0 评论 -
Linux下实现简单的shell解释器
什么是shellshell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接受用户输入的命令并把它送入内核去执行。 实际上shell就是一个命令解释器,它解释有用户输入的命令并且把它们送到内核。不仅如此,shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。shell变成语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编原创 2017-02-28 16:35:42 · 6475 阅读 · 5 评论 -
进程调度算法解析
进程调度算法何为进程调度算法? 进程调度算法是指根据系统的资源分配策略所规定的资源分配算法。 调度也称dispatcher 这是内核的主要职责之一就是决定该轮到哪个任务运行了多数实时内核是基于优先级调度算法的每个任务根据其重要程度的不同被赋予一定的优先级基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行然而究竟何时让高优先级任务掌握CPU的使用权有两种不同的情况这要看原创 2017-02-18 22:16:15 · 434 阅读 · 0 评论 -
Linux中的进程通信(二)--信号量
一、什么是信号量信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件,外部设备)来实现进程间通信,它本身只是一种外部资源的标识。信号量在此过程中负责数据操作的互斥、同步等功能。 为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新原创 2017-04-24 22:01:52 · 446 阅读 · 0 评论