linux & Unix
BluceTao
留下的就是你自己的
展开
-
linux 中软链接和硬链接
现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用。在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式。换言之,UNIX 系统中除进程之外的一切皆是文件,而 Linux 保持了这一特性。为了便于文件的管理,Linux 还引入了目录(...转载 2018-04-18 03:00:06 · 364 阅读 · 0 评论 -
Linux下 prctl 进程控制
Linux 下 prctl 进程控制Linux下可通过 prctl进行进程各种控制 #include <sys/prctl.h> int prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long a...原创 2019-04-04 18:48:18 · 3363 阅读 · 0 评论 -
信号章——函数 abort (未完善)
函数 abort、exit、_exit、_Exit 区别abort 函数abort 函数的功能是使程序异常终止。#include <stdlib.h>void abort(void);// 此函数不返回值。abort 函数将发送 SIGABRT 信号给调用进程, 前提是进程没有忽略此信号,而且 POSIX.1说明 abort 并不在意进程对这个信号阻塞还是忽略。ISO C...原创 2019-04-04 01:16:01 · 614 阅读 · 0 评论 -
Unix 标准及实现
Unix 标准及实现1.1 前言人们在 Unix 编程环境和 C 程序设计语言的标准化方面已经做了很多努力工作。在20世纪80年代 Unix 版本种类快速增加,随之而来的是它们之间的差别扩大,为了使不同种类的 Unix 系统之间应有程序可以顺利移植,人们开始呼吁进行Unix标准化。1.2 Unix1.2.1 ISO CISO 是国际标准化组织,它下属许多行业,IEC 是旗下国际电子标准...原创 2019-03-30 00:10:55 · 321 阅读 · 0 评论 -
线程二(线程同步之条件变量)
线程同步原创 2019-03-08 21:12:39 · 212 阅读 · 0 评论 -
线程 一
怎么在单个进程中执行多个任务。一个进程中的所有线程都可以访问该进程的组成部件,例如文件描述符和内存。不管在什么情况下,只要单个资源需要在多个用户间共享,就必须处理一致性问题。我们将在之后的笔记中目前可用的同步机制,防止多个线程在共享资源时出现不一致问题。线程的概念典型的unix进程可以看成只有一个控制线程,即一个进程在某一时刻只能做一件事情。有了多个控制线程以后,在程序设计时就可以把进程设计...原创 2019-03-03 19:50:01 · 161 阅读 · 0 评论 -
文件I/O
文件I/O之函数lseek每个打开的文件都有一个与其关联的“当前文件偏移量”,它通常是一个非负整数,用以度量从文件开始处计算的字节数。通常,读、写操作都从当前文件偏移量处开始,并使偏移量增加读写的字节数。按系统默认的情况,当打开一个文件时,除非指定O_APPEND选项,否则该偏移量被设置为0。可以调用lseek显式地为一个打开文件设置偏移量。#include&amp;lt;unistd.h&amp;gt...原创 2019-01-06 18:17:17 · 259 阅读 · 2 评论 -
进程环境 一
main函数我们先分析一下当一个C程序开始执行时,main函数是如何被调用的。C程序总是从main函数开始执行,java、C++、C#等这些类C语言的程序也是。(这里是我的猜测,以后需要求证)main函数的原型:int main (int argc, char* argv[]);其中,argc是命令行参数的数目,argv是指向命令行参数的指针所组成的数组。当内核执行C程序时(其实使用一个...原创 2019-03-01 19:31:19 · 222 阅读 · 0 评论 -
使用 Git 管理源代码
使用 Git 管理源代码工具集在 Linux 上提供了可靠的版本控制功能 ...转载 2018-04-19 00:46:57 · 144 阅读 · 0 评论 -
Linux VFS
Linux 有着极其丰富的文件系统,大体上可分如下几类:网络文件系统,如 nfs、cifs 等;磁盘文件系统,如 ext4、ext3 等;特殊文件系统,如 proc、sysfs、ramfs、tmpfs 等。实现以上这些文件系统并在 Linux 下共存的基础就是 Linux VFS(Virtual File System 又称 Virtual Filesystem Switch),即虚拟文件系统。V...转载 2018-04-18 03:01:27 · 1477 阅读 · 0 评论 -
供编译器进行分支预测,是的编译器对代码进行优化,减少指令跳转代
GCC提供内建函数之 __builtin_expect分支预测,目的是将“分支转移”的信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。这个指令是gcc引入的,作用是允许程序员将最有可能执行的分支告诉编译器。这个指令的写法为:__builtin_expect(EXP, N)。意思是:EXP==N 的概率很大。一般的使用方法是将 __builtin_expec...原创 2019-04-05 00:57:41 · 1004 阅读 · 0 评论