1.2系统调用和库函数

操作系统用户接口
命令接口以命令形式呈现在用户面前,方便用户直接或者间接控制自己的电脑
程序接口为应用程序使用系统功能而设置,是应用程序取得操作系统服务的唯一途径。由一系列系统调用组成,每一个系统调用都是一个能完成特定功能的子程序
图形接口采用了图形化的操作界面,将各种应用程序和文件,直观、逼真地表示出来

在这里插入图片描述

系统调用是内核提供地程序接口,是应用程序和硬件设备之间的中间层:

为应用程序提供了服务和硬件抽象能力,例如,当需要读文件时,应用程序可以不管磁盘类型和介质,甚至不用去管文件所在的文件系统到底是哪种类型;
系统调用保证了系统的稳定和安全;
每个进程都运行在虚拟系统中。

Linux根据不同的版本有240到260个系统调用

系统调用类型
文件操作类系统调用如打开、创建、读取、删除、修改文件
进程控制类系统调用如创建进程、设置或获取进程属性
通信类系统调用创建进程之间的通信连接,发送、接收信息,或其它的通信方式
设备管理类系统调用打开、关闭和操作设备
信息维护类系统调用在用户程序和OS之间传递信息。例如,系统向用户程序传送当前时间、日期、操作系统版本号等

系统调用和C库函数之间并不是一一对应的关系,可能几个不同的函数会调用到同一个系统调用;

并非所有的库函数都会调用系统调用,例如,printf函数会调用write系统调用以输出一个字符串,但strcpyatoi函数则不会使用任何系统调用。

在这里插入图片描述

一般而言,应用程序使用API而不是直接使用系统调用来编程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值