系统调用与库函数

操作系统中的状态分为管态(核心态)和目态(用户态)。

系统调用(System call):是可直接进入内核的入口点。操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API)。是应用程序系统之间的接口。

 

库函数(Library function)是把函数放到库里,供别人使用的一种方式。.方法是把一些常用到的函数编完放到一个文件里,供不同的人进行调用。调用的时候把它所在的文件名用#include<>加到里面就可以了。一般是放到lib文件里的。
 
printf调用write系统调用以输出一个字符串,但strcpy和atoi并不使用任何系统调用。
malloc为库函数,UNIX系统调用中处理存储器分配的是sbrk。
内核中的系统调用分配另一块空间给进程;库函数malloc只在用户层次管理这一空间。
      
 
系统调用通常提供一种最小接口,而库函数通常提供较复杂的功能。
进程控制系统调用(fork、exec和wait)通常由用户应用程序调用。但为了简化,UNIX系统提供了一些库函数,如system、popen。
 
 
 

 

 

 

 

posted @ 2015-11-01 23:21  LarryKnight  阅读(300)  评论(0编辑  收藏  举报