开发操作系统 内核是用C开发的,图形界面是用GTK或QT,界面操作是怎么调用内核呢?
2个回答
展开全部
可以参照linux内核提供给用户层使用的系统调用。
系统调用是linux提供给用户态的应用程序调用系统资源(磁盘、IO、内存)等硬件资源的接口,此接口是用中断号为0x80的中断实现的,2.6版本的linux内核提供了300多个系统调用,如读文件read、写文件write等。
中断,现代cpu基本都有的特性,intel的x86平台的cpu最多可以提供256个中断,其中0-31是intel自己用的,用于处理操作系统异常、32以后可以定制,其中0x80(也就是128)被linux内核用于系统调用了。
通过中断可以访问内核里的函数,系统调用就是中断的一种,而glibc是一组C函数库,glibc里的函数封装了系统调用,所以页面要操作内核,你想办法让页面能调用到glibc库就可以了。
系统调用是linux提供给用户态的应用程序调用系统资源(磁盘、IO、内存)等硬件资源的接口,此接口是用中断号为0x80的中断实现的,2.6版本的linux内核提供了300多个系统调用,如读文件read、写文件write等。
中断,现代cpu基本都有的特性,intel的x86平台的cpu最多可以提供256个中断,其中0-31是intel自己用的,用于处理操作系统异常、32以后可以定制,其中0x80(也就是128)被linux内核用于系统调用了。
通过中断可以访问内核里的函数,系统调用就是中断的一种,而glibc是一组C函数库,glibc里的函数封装了系统调用,所以页面要操作内核,你想办法让页面能调用到glibc库就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询