1.什么是系统调用?有何作用?
系统调用
是内核提供给应用程序使用的功能函数,由于应用程序一般运行在用户态
,处于用户态的进程有诸多限制(如不能进行 I/O 操作),所以有些功能必须由内核代劳完成。而内核就是通过向应用层提供系统调用
,来完成一些在用户态不能完成的工作- 作用:1.应用程序可以通过系统调用请求获得操作系统的服务,并且使处理器从用户态切换到核心态2.防止用户对系统进行非法操作(用户态执行非特权指令),保证系统安全性
2.系统调用和库函数的区别?
- 库函数就是对系统调用的封装,比如说Java语言创建文件进行读写,它内部封装了调用操作系统提供的系统调用来完成创建文件、读写磁盘数据的功能,我们程序员只需要调用Java提供的库函数即可
- 系统调用是操作系统向上层提供的接口