博客
关于我
《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/

你可能感兴趣的文章
PyTorch Lightning:通过分布式训练扩展深度学习工作流
查看>>
PyQt5 - QThread:在线程仍在运行时被销毁
查看>>
PyQt5 - 如何从工作线程发出信号以通过 GUI 线程调用事件
查看>>
PyQt5 Designer 不工作:此应用程序无法启动,因为无法初始化 Qt 平台插件
查看>>
PyQt5 QLCNumber 没有更新
查看>>
PyQt5 TabWidget选项卡BarClicked TypeError:本机Qt信号不可调用
查看>>
PyQt5 从 PyQt4 转换信号代码
查看>>
PyQt5 和 asyncio:从永不完成的收益
查看>>
PyQt5 和 Django:如何使用 HTTP 请求(Multipart-form)上传图像?
查看>>
PyQt5 按钮运行功能和更新 LCD
查看>>
pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)
查看>>
pyqt5 设置控件在最上层或者在下层
查看>>
pyqt5 设置网格布局的间距
查看>>
pyTorch Hub 系列#4:PGAN — GAN 模型
查看>>
PyQt5-基本窗口控件-QMainWindow
查看>>
PyQt5:如何安装/运行 Qt 设计器
查看>>
PyQt5——pyqtgraph绘图大招
查看>>
PyQt5——多窗口之间数据处理
查看>>
PyQt5——多线程、信号与槽
查看>>
PyQt5——开发地图软件
查看>>