API和系统调用的区别
1个回答
2016-11-10
展开全部
一.windows规定一切的应用程序优先级为3,而windows自己的为0,(0最高,3最低)。
windows不允许应用程序直接访问硬件,但会提供API函数让用户间接地访问,这样就会调用系统级API。平时出现的“........非法操作”就是因为应用程序非法访问硬件造成的。
API 一般分为两种
1.用户级API 有的也成为应用级API。替用户写好的函数,方便调用,使用户可以将焦点放在设计程序逻辑上面,而不必再编写繁琐、重复的程序。这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。
2.系统级API 想要和系统硬件交互,必须调用此类函数
二.DOS系统中规定系统和应用程序的优先级一样,所以DOS允许用户为所欲为。引导型病毒就是这个性质
API与系统调用的区别:
程序员调用的是API(API函数),然后通过与系统调用共同完成函数的功能。
因此,API是一个提供给应用程序的接口,一组函数,是与程序员进行直接交互的。
系统调用则不与程序员进行交互的,它根据API函数,通过一个软中断机制向内核提交请求,以获取内核服务的接口。
并不是所有的API函数都一一对应一个系统调用,有时,一个API函数会需要几个系统调用来共同完成函数的功能,甚至还有一些API函数不需要调用相应的系统调用(因此它所完成的不是内核提供的服务)。
windows不允许应用程序直接访问硬件,但会提供API函数让用户间接地访问,这样就会调用系统级API。平时出现的“........非法操作”就是因为应用程序非法访问硬件造成的。
API 一般分为两种
1.用户级API 有的也成为应用级API。替用户写好的函数,方便调用,使用户可以将焦点放在设计程序逻辑上面,而不必再编写繁琐、重复的程序。这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。
2.系统级API 想要和系统硬件交互,必须调用此类函数
二.DOS系统中规定系统和应用程序的优先级一样,所以DOS允许用户为所欲为。引导型病毒就是这个性质
API与系统调用的区别:
程序员调用的是API(API函数),然后通过与系统调用共同完成函数的功能。
因此,API是一个提供给应用程序的接口,一组函数,是与程序员进行直接交互的。
系统调用则不与程序员进行交互的,它根据API函数,通过一个软中断机制向内核提交请求,以获取内核服务的接口。
并不是所有的API函数都一一对应一个系统调用,有时,一个API函数会需要几个系统调用来共同完成函数的功能,甚至还有一些API函数不需要调用相应的系统调用(因此它所完成的不是内核提供的服务)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询