Linux系统调用列表
本文列出了大部分常见的Linux系统调用,并附有简要中文说明。 以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。 按照惯例,这个列表以man pages第2节,即系统调用节为蓝本。按照笔者的理解,对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用的系统调用,对个别本人稍觉不妥的地方作了一些小的修改,并对所有列出的系统调用附上简要注释。 其中有一些函数的作用完全相同,只是参数不同。(可能很多熟悉C++朋友马上就能联想起函数重载,但是别忘了Linux核心是用C语言写的,所以只能取成不同的函数名)。还有一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数我会在前面标上“*”号以示区别。 一、进程控制: fork
创建一个新进程 clone
按指定条件创建子进程 execve
运行可执行文件 exit
中止进程 _exit
立即中止当前进程 getdtablesize
进程所能打开的最大文件数 getpgid
获取指定进程组标识号 setpgid
设置指定进程组标志号 getpgrp
获取当前进程组标识号 setpgrp
设置当前进程组标志号 getpid
获取进程标识号 getppid
获取父进程标识号 getpriority
获取调度优先级 setpriority
设置调度优先级 modify_ldt
读写进程的本地描述表 nanosleep
使进程睡眠指定的时间 nice
改变分时进程的优先级 pause
挂起进程,等待信号 personality
设置进程运行域 prctl
对进程进行特定操作 ptrace
进程跟踪 sched_get_priority_max
取得静态优先级的上限 sched_get_priority_min
取得静态优先级的下限 sched_getparam
取得进程的调度参数 sched_getscheduler
取得指定进程的调度策略 sched_rr_get_interval
取得按RR算法调度的实时进程的时间片长度 sched_setparam
设置进程的调度参数 sched_setscheduler
设置指定进程的调度策略和参数 sched_yield
进程主动让出处理器,并将自己等候调度队列队尾 vfork
创建一个子进程,以供执行新程序,常与execve等同时使用 wait
等待子进程终止 wait3
参见wait waitpid
相关文档:
制作可移动的linux系统(Ubuntu)
1、光盘启动,安装复制到移动硬盘,将grub安装到dev/sda。
2、复制完后重启,光盘启动,安装启动界面输入rescue,进入急救模式,选择挂载分区时,选择系统所在硬盘和分区。
3、ctrl-Alt-F2,打开新窗口。
CODE:mount -tproc proc /target/proc
chroot /target
su
4、nano /etc/mkini ......
哈希表(Hashtable)又称为“散置”,Hashtable是会根据索引键的哈希程序代码组织成的索引键(Key)和值(Value)配对的集合。Hashtable 对象是由包含集合中元素的哈希桶(Bucket)所组成的。而Bucket是Hashtable内元素的虚拟子群组,可以让大部分集合中的搜寻和获取工作更容易、更快速。
哈希函 ......
Linux 内核中采用可加载的模块化设计(LKMs,Loadable Kernel
Modules),一般情况下编译的Linux
内核是支持可插入式模块的,也就是将最基本的核心代码编译在内核中,其他的代码可以选择在内核中,或者编译为内核的模块文件。常见的驱动程序也是作为内核
模块动态加载的。
模块相关命令
lsmod 列出当前系统加载的 ......
和其他操作系统一样,Linux包含进程调度与进程间通信(IPC)、内存管理(MMU)、虚拟文件系统(VFS)、网络接口等,下图给出了Linux的组成及其关系:
Linux内核源代码包括多个目录:
(1)arch:包括硬件特定的内核代码,如arm、mips、i386等;
(2)drivers:包含硬件驱动代码,如cha ......
目 录
驱动
I/O端口
from smth
基本结构
驱动程序
具体实现
PCI
loopback
Sis 900
ISA总线DMA的实现
驱动
Linux系统支持三种类型的硬件设备:字符设备、块设
< type="text/javascript">< type="text/jav ......