四川大学:《Linux操作系统》课程教学资源(PPT课件讲稿)第6章 Linux系统调用

第6章 Linux系统调用 计算机学院潘薇 panweil17@qg.com
第6章 Linux系统调用 计算机学院 潘 薇 panwei117@qq.com

本章要点 61 Linux系统调用概述 62文件系统类系统调用 63进程类系统调用 6.4内存管理类系统调用 65其他常见系统调用
本章要点 ❖6.1 Linux系统调用概述 ❖6.2 文件系统类系统调用 ❖6.3 进程类系统调用 ❖6.4 内存管理类系统调用 ❖6.5 其他常见系统调用

61 Linux系统调用概述
6.1 Linux系统调用概述

61 Linux系统调用概述 系统调用是 Linux操作系统内核提供给用户程序的接口; 应用程序通过该接口使用系统资源 如果没有系统调用,应用程序失去内核的支持,也无法利 用内核提供的系统资源
6.1 Linux系统调用概述 ❖ 系统调用是Linux操作系统内核提供给用户程序的接口; ❖ 应用程序通过该接口使用系统资源; ❖ 如果没有系统调用,应用程序失去内核的支持,也无法利 用内核提供的系统资源

61 Linux系统调用概述 系统调用主要分为如下几类: 文件系统控制类; 文件系统操作类; 进程控制类; 操作系统控制类; 内存管理类; 网络管理类; Socket控制类; 用户管理类; 进程间通信类
系统调用主要分为如下几类: ❖ 文件系统控制类; ❖ 文件系统操作类; ❖ 进程控制类; ❖ 操作系统控制类; ❖ 内存管理类; ❖ 网络管理类; ❖ Socket控制类; ❖ 用户管理类; ❖ 进程间通信类。 6.1 Linux系统调用概述

61 Linux系统调用概述 系统调用是一种函数调用,与一般的函数调用相比,在表 现方式上和实现效果上有明显不同: 表现方式上的不同:一般函数调用时直接由调用过程转向 被调用过程;而系统调用不允许由调用过程直接转向被调 用过程,要借助于信号(软中断),先进入系统内核,再 转向相应的系统调用。 不能进入操作系统内核空间;而系统调用需要从用户空间 切换到内核空间,并在内核空间下进行。由于内核空间处 于保护模式下,更加安全。因此,通过系统调用方式提供 给应用程序使用内核资源不但更加安全,而且优先级高, 响应速度快,效率高
❖ 系统调用是一种函数调用,与一般的函数调用相比,在表 现方式上和实现效果上有明显不同: ❖ 表现方式上的不同:一般函数调用时直接由调用过程转向 被调用过程;而系统调用不允许由调用过程直接转向被调 用过程,要借助于信号(软中断),先进入系统内核,再 转向相应的系统调用。 ❖ 实现效果上的不同:一般函数调用一直在用户空间上进行, 不能进入操作系统内核空间;而系统调用需要从用户空间 切换到内核空间,并在内核空间下进行。由于内核空间处 于保护模式下,更加安全。因此,通过系统调用方式提供 给应用程序使用内核资源不但更加安全,而且优先级高, 响应速度快,效率高。 6.1 Linux系统调用概述

61 Linux系统调用概述 用户应用程序 冮链接库函数 用户态 系统调用 核心态 文件子系统 进程控制子系统 硬设备控制系统 硬件 硬件 图6.1 linux调用
6.1 Linux系统调用概述 用户应用程序 链接库函数 用户态 系统调用 核心态 文件子系统 进程控制子系统 硬设备控制系统 硬件 硬件 图6.1 linux调用

61 Linux系统调用概述 在C语言中存在一系列链接库,在链接库中含有一系列函 数调用,如链接库 stdio. h中含有标准输入、输出操作的 fopen、 fclose, fread、 fwrite、 fseek、ftel等, 用户应用程序调用这些链接库函数。这些函数位于操作系 统之上,需要通过系统调用才能和操作系统内核取得联系
❖ 在C语言中存在一系列链接库,在链接库中含有一系列函 数调用,如链接库stdio.h中含有标准输入、输出操作的 fopen、fclose,fread、fwrite、fseek、ftell等, 用户应用程序调用这些链接库函数。这些函数位于操作系 统之上,需要通过系统调用才能和操作系统内核取得联系。 6.1 Linux系统调用概述

6.1 Linux系统调用概述 ◇链接库函数是高层的,完全运行在用户空间,是为程序员 提供调用系统调用的更方便的接口。 系统调用在内核态运行并且由内核自己提供。 部分标准C函数不使用系统调用,如 strlen, strcat, memcpy等等。因为他们不需要使用到系统相关资源。 标准C库函数 printf(可以被看做是一个通用的输出语句, 但它实际做的是将数据转化为符合格式的字符串并且调用 系统调用 write(输出这些字符串
6.1 Linux系统调用概述 ❖ 链接库函数是高层的,完全运行在用户空间,是为程序员 提供调用系统调用的更方便的接口。 ❖ 系统调用在内核态运行并且由内核自己提供。 ❖ 部分标准C函数不使用系统调用,如strlen, strcat, memcpy等等。因为他们不需要使用到系统相关资源。 ❖ 标准C库函数printf()可以被看做是一个通用的输出语句, 但它实际做的是将数据转化为符合格式的字符串并且调用 系统调用write()输出这些字符串

6.1 Linux系统调用概述 t include int main (void) printf( hello i return o 使用命令gcc-Wal- o helo hello.c编译。 用命令 strace·/ hello跟踪该可执行文件。输出的结 果每一行都和一个系统调用相对应。 strace是一个非常 有用的程序,它可以告诉你程序使用了哪些系统调用和这 些系统调用的参数、返回值。 其中有这么一行: write(1, hello!",hello!) =6
6.1 Linux系统调用概述 ❖ #include int main(void) { printf("hello"); return 0; } ❖ 使用命令gcc -Wall -o hello hello.c编译。 ❖ 用命令 strace ./hello 跟踪该可执行文件。输出的结 果每一行都和一个系统调用相对应。 strace是一个非常 有用的程序,它可以告诉你程序使用了哪些系统调用和这 些系统调用的参数、返回值。 ❖ 其中有这么一行: ❖ write(1, "hello!", 6hello!) = 6
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《编译原理 Compiler Construction》课程教学资源(PPT讲稿)语义分析 Semantic Analysis(Attributes and Attribute Grammars、Algorithms for Attribute Computation).ppt
- 《嵌入式系统开发》课程PPT教学课件(讲稿)第一章 嵌入式系统概述.ppt
- 《数据库基础》课程PPT教学课件(SQL Server)第4章 T-SQL与可编程对象.ppt
- 软件配置管理和项目管理工具(PPT讲稿)Software Configuration Management and Project Management Tool.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第五章 存储层次.ppt
- 四川大学:《数据库技术》课程教学资源(PPT课件讲稿)第4章 数据库查询.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 7 Memory Management.ppt
- 香港浸会大学:并行输入输出(PPT讲稿)Parallel I/O.ppt
- 香港浸会大学:Kickstart Tutorial/Seminar on using the 64-nodes P4-Xeon Cluster in Science Faculty.ppt
- Essential Cluster OS Commands.ppt
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 07 Mean-shift and Cam-shift.pptx
- 香港中文大学:Image processing and computer vision(PPT课件讲稿)Edge detection and image filtering.pptx
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 05 Hough transform.pptx
- GD-Aggregate:A WAN Virtual Topology Building Tool for Hard Real-Time and Embedded Applications.ppt
- Introduction to Internet and TCPIP(PPT讲稿)IP转发 IP FORWARDING.pptx
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 10 Pose estimation by the iterative method.pptx
- 《操作系统》课程教学资源(PPT课件讲稿)Chapter 8 Virtual Memory.ppt
- 《操作系统》课程教学资源(PPT课件讲稿)Chapter 6 Concurrency Deadlock and Starvation.ppt
- 《操作系统》课程教学资源(PPT课件讲稿)Chapter 1 and 2 Computer System and Operating System Overview.ppt
- 印第安纳大学:《Informatics》课程PPT教学课件(信息学)08 网络爬虫 Web Crawling.ppt
- 《数据库技术》课程教学资源(PPT课件讲稿)第3章 SQL语言基础及数据定义功能(主讲:曾晓东).ppt
- 四川大学:.NET and .NET Core:Languages, Cloud, Mobile and AI(PPT课件讲稿)NET for Data Science and AI.pptx
- 四川大学:《Matlab程序设计》课程教学资源(教学大纲)Programming in Matlab.pdf
- 电子科技大学:《计算系统与网络安全 Computer System and Network Security》课程教学资源(PPT课件讲稿)第4章 网络基础(网络概述、协议).ppt
- 电子科技大学:《计算系统与网络安全 Computer System and Network Security》课程教学资源(PPT课件讲稿)第7章 协议安全技术(安全协议实例).ppt
- 电子科技大学:《计算系统与网络安全 Computer System and Network Security》课程教学资源(PPT课件讲稿)第5章 网络隔离技术.ppt
- 电子科技大学:《计算系统与网络安全 Computer System and Network Security》课程教学资源(PPT课件讲稿)第2章 信息安全数学基础(计算复杂性).ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第五章 存储系统.ppt
- 《操作系统》课程教学资源(PPT课件讲稿)Chapter 03 Process Description And Control.ppt
- 电子科技大学:《面向对象程序设计语言C++》课程教学资源(PPT课件讲稿)第九章 多态性(主讲:丘志杰).ppt
- 《计算机体系结构》课程教学资源(PPT课件讲稿)第七章 多处理机系统.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)Chapter 05 并发性——互斥和同步(Concurrency - Mutual Exclusion and Synchronization).ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第八章 多计算机系统.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第一章 计算机系统结构的基本概念.ppt
- 《数学建模》课程教学资源(PPT讲稿)SAS基础培训(生成SAS数据集、加工SAS数据集)Statistical Analysis System.ppt
- 《数字图像处理》课程教学资源(PPT课件讲稿)第8章 彩色图像处理.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第8章 因特网上的音频/视频服务.ppt
- 《数字图像处理》课程教学资源(PPT课件讲稿)第4章 图像增强.ppt
- 郑州大学:《计算机组成原理》课程教学资源(PPT课件讲稿,共八章,任课教师:石磊).ppt
- 长沙医学院:《计算机专业英语》课程教学资源_教学大纲.doc