博客
关于我
《Linux/Unix 系统调用》学习导图
阅读量:239 次
发布时间:2019-03-01

本文共 1849 字,大约阅读时间需要 6 分钟。

《Linux/Unix 系统调用》学习导图

《Linux/Unix 系统调用》学习导图

文件I/O篇

文件属性篇

用户篇

内存篇

事件信号篇

系统篇

进程篇

福利补充网络篇待定

文件I/O的核心系统调用

文件I/O是Linux/Unix系统调用的重要组成部分,涉及文件的读写、属性查询等操作。以下是文件I/O的核心系统调用:

  • open(): 打开文件或目录
  • close(): 关闭打开的文件
  • read(): 读取文件内容
  • write(): 写入文件内容
  • seek(): 移动文件指针位置
  • stat(): 获取文件属性
  • chmod(): 修改文件权限
  • chown(): 修改文件所有者和组
  • unlink(): 删除文件
  • mkdir(): 创建目录
  • rmdir(): 删除目录

这些系统调用为用户提供了对文件进行操作的接口,是日常系统管理的重要工具。

文件属性管理

了解文件属性是管理文件的重要基础。以下是常用的文件属性管理系统调用:

  • stat(): 获取文件属性
  • chmod(): 修改文件权限
  • chown(): 修改文件所有者和组
  • ls(): 列出目录内容
  • find(): 查找文件
  • cp(): 复制文件或目录
  • mv(): 移动文件或目录

这些系统调用帮助用户对文件进行属性查询和修改,方便文件管理操作。

用户管理篇

User space(用户空间)是Linux/Unix系统的重要组成部分,涉及用户身份管理、权限控制等内容。以下是用户管理的核心系统调用:

  • login(): 登录系统
  • logout(): 退出系统
  • whoami(): 获取当前用户
  • groups(): 获取用户组信息
  • passwd(): 修改用户密码
  • id(): 获取用户ID
  • uid(): 获取用户ID
  • gid(): 获取组ID

这些系统调用为用户提供了对自身身份和权限的管理接口,确保系统安全和稳定运行。

内存管理篇

内存管理是Linux/Unix系统运行的核心任务之一,涉及内存分配、管理和使用效率。以下是内存管理的核心系统调用:

  • malloc(): 动态分配内存
  • free(): 释放内存
  • realloc(): 重新分配内存
  • memalign(): 对齐内存块
  • valloc(): 分配可变大小内存
  • memget(): 获取内存
  • memput(): 将内存内容写入文件

这些系统调用为程序提供了管理内存的接口,确保系统内存资源的高效利用。

事件信号篇

事件信号是Linux/Unix系统中处理异步事件的重要机制,用于通知程序系统事件发生。以下是事件信号的核心系统调用:

  • signal(): 安排信号处理函数
  • kill(): 给程序发送信号
  • waitpid(): 等待子进程完成
  • pipe(): 创建管道
  • fork(): 创建子进程
  • exit(): 退出程序
  • exec(): 执行可执行文件
  • chdir(): 改变当前目录

这些系统调用为程序提供了处理异步事件和系统事件的接口,确保程序能够高效响应系统变化。

系统篇

System call(系统调用)是Linux/Unix系统运行的基础,涵盖文件I/O、进程管理、网络通信等多个方面。以下是一些常见的系统调用示例:

  • read(): 读取文件内容
  • write(): 写入文件内容
  • open(): 打开文件或目录
  • close(): 关闭打开的文件
  • mkdir(): 创建目录
  • rmdir(): 删除目录
  • chmod(): 修改文件权限
  • chown(): 修改文件所有者和组
  • fork(): 创建子进程
  • exit(): 退出程序
  • exec(): 执行可执行文件

这些系统调用为程序提供了与操作系统交互的接口,实现了系统功能的调用和控制。

进程管理篇

进程管理是Linux/Unix系统中核心功能之一,涉及进程的创建、调度、终止等操作。以下是进程管理的核心系统调用:

  • fork(): 创建子进程
  • exec(): 执行可执行文件
  • exit(): 退出程序
  • waitpid(): 等待子进程完成
  • kill(): 给程序发送信号
  • pause(): 暂停当前进程
  • continue(): 继续当前进程
  • setsid(): 创建会话组
  • tcsetpgrp(): 设置终端终端

这些系统调用为程序提供了管理进程和任务的接口,确保系统任务能够高效运行。

网络篇待定

网络通信是Linux/Unix系统的重要功能之一,涉及数据传输、网络管理等内容。本文将在后续章节详细探讨网络通信相关的系统调用。

转载地址:http://nlkt.baihongyu.com/

你可能感兴趣的文章
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>