linux系统调用分类

The linux kernel provide some api to opearte the system,some usually used api loke like read,write which aoubt IO

  • IO
  • user manage
  • file param
  • mutial pthread

linux操作系统常用的系统调用

  • 文件操作
  • 进程控制
  • 用户

文件IO

in the linux,every thing can abstract to file.the operation of the hardware device or input output stream can be sum up to read,write,open,close,seek.

in the file systeam,every file have unique identity called file descriptor ,the type of file descriptor is int.when a new file stream create,the kernel will arragge the unused ,the smallest value descriptor to stream.

open:open a file stearm

write:写入数据

read:读取数据

lseek:定位流

close:关闭流

文件权限操作

umask:文件掩码

chmod:修改文件权限

进程控制操作

fork:复制进程

execl:取代当前进程

系统信息操作

用户组操作

getuid:用户id

系统日志操作

openlog

syslog:将消息写入系统日志

closelog

系统调用的执行过程

系统调用的大致执行过程为:参数保存->中断陷入->内核态转化->上下文保存->中断向量表->执行程序->上下文恢复->用户态转化-

当进程发出系统调用指令时,操作系统软中断(int)或硬中断触发,参数保存在寄存器中,其中系统调用号存放在ax寄存器中,操作系统由==用户态转变为内核态==,通过ax寄存器中的系统调用号在==中断向量表==中查询,查询成功后将参数存入寄存器或栈堆,执行中断程序,执行完毕参数出栈,通过==调整模式位==恢复为用户态