wlbk.net
当前位置:首页 >> 用户程序如何使用系统调用 >>

用户程序如何使用系统调用

首先,要知道:操作系统与用户间的接口有两种,一种是命令接口,另一种是程序接口.什么是命令接口: 为了便于用户直接或者间接地控制自己的作业,操作系统向用户提供了命令接口,用户可以通过该接口向作业发出命令以控制作业的运行

在Windows系统中,只要双击运行已安装好的用户程序就等于被系统调用了..用户程序系统调用的实现..参考链接: http://www.doc88.com/p-205939363505.html

下面通过一个简单的例子来说明在用户程序中是如何使用系统调用的.例如,要写一个简单的程序,用于从一个文件中读出数据,再将该数据复制到另一文件中.为此,首先须输入该程序的输入文件名和输出文件名.文件名可用多种方式指定,

各个操作系统的实现并不一样,同样操作系统在不同CPU上实现也有区别,但总的来说,操作系统都至少区分两个运行状态核bai心态和用户态,系统调用运行在内核态,用户程序运行在用户态.用户态的所有代码都无法直接访问内核态的

定义:在计算机中,系统调用(英语:system call),又称为系统呼叫,指运行在使用者空间的程序向操作系统内核请求需要更高权限运行的服务. 系统调用提供了用户程序与操作系统之间的接口.大多数系统交互式操作需求在内核态执行.如设备IO操作或者进程间通信.原理:操作系统中的状态分为管态(核心态)和目态(用户态).特权指令:一类只能在核心态下运行而不能在用户态下运行的特殊指令.不同的操作系统特权指令会有所差异,但是一般来说主要是和硬件相关的一些指令.访管指令:本身是一条特殊的指令,但不是特权指令.(trap指令).基本功能:“自愿进管”,能引起访管异常.

用户程序若需要得到操作系统的服务,唯一可以使用的是系统调用接口.因此,此题的答案是c(访管指令)

请参考以下链接,解释的非常清楚!用户是处于用户态,具有的权限是非常有限,肯定是不能直接使用内核态的服务,只能间接通过有访问权限的API函数内嵌的系统调用函数来调用.介绍下系统调用的过程:首先将API函数参数压到栈上,然后将函数内调用系统调用的代码放入寄存器,通过陷入中断,进入内核将控制权交给操作系统,操作系统获得控制后,将系统调用代码拿出来,跟操作系统一直维护的一张系统调用表做比较,已找到该系统调用程序体的内存地址,接着访问该地址,执行系统调用.执行完毕后,返回用户程序

系统调用的为进程 一般占用较少的资源 在后台运行 程序则在前台运行 但是程序肯定有进程在后台支持才可以运行……

改编成的系统通过系统的调用可以获得啊,坐着医生底层服务.

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com