讲过程之前,让我们先明白什么是调用?
但是讲调用之前又需要明白两个概念 核心态用户态
操作系统中的状态可以分为核心态(管态)和用户态(目态)。
程序有些是特权指令,特权指令是只能在核心态运行,不能够在用户态运行的指令。
再额外说一点:
其实微内核系统和宏内核系统就是核心态和用户态的划分不同。微内核只提供一些必要的系统服务,也就是处于核心态的系统服务少,只有一些必要的。宏内核把很多的系统服务都划分到了核心态,所以提供的服务比较多。
那划分核心态和用户态的意义是什么呢?
那么我们想一个问题,如果只有核心态没有用户态的情况下,会出现什么情况?
由于系统资源可能同时被多个应用程序访问,那么会出现文件、网络、各种硬件设备等资源竞争的情况,各个应用程序之间可能会产生冲突,对于恶意应用程序更可能导致系统奔溃。
所以对应用程序进行限制就出现了了用户态。
我们普通的应用程序基本都是处于用户态下运行。

那么操作系统调用过程是怎样的呢?
首先运行于用户态的应用程序发出系统调用请求,保护现场。一般都是给出一个中断指令(软中断),然后根据中断向量表查找系统调用表,最后在核心态执行系统调用处理程序(中断程序),最后返回应用程序,恢复现场。

40.简述操作系统中调用过程?相关推荐

  1. oracle中调用过程,oracle中如何调用存储过程

    oracle中如何调用存储过程 发布时间:2020-03-08 03:28:03 来源:51CTO 阅读:511 作者:lxg290 一.通过pls块来调用存储过程: declare p_dzno v ...

  2. 只能在执行 Render() 的过程中调用 RegisterForEventValidation

    当用GridView导出Execl的时候,会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示.有两种方法可以解决以上问题: 1.修改web ...

  3. 开机启动加载驱动过程中调用PostMessage函数出错

    今天在WINCE5.0+S3C2440系统调试检测出租车是否载客的驱动的时候遇到这样的问题: 发现在开机启动加载驱动过程中调用PostMessage函数时会导致调用的线程崩溃,比如如果下面的线程在创建 ...

  4. 异常“只能在执行Render()的过程中调用RegisterForEventValidation”的解决办法(转)...

    当出现下面的异常的时候: 只能在执行Render()的过程中调用RegisterForEventValidation 当出现的异常的提示: 异常详细信息: System.InvalidOperatio ...

  5. 简述python函数调用过程_python函数定义和调用过程详解

    我们可以创建一个函数来列出费氏数列 >>> def fib(n): # write Fibonacci series up to n ... """Pr ...

  6. C++绝不在构造和析构过程中调用virtual函数

    绝不在构造和析构过程中调用virtual函数 如果希望在继承体系中根据类型在构建对象时表现出不同行为,可以会想到在基类的构造函数中调用一个虚函数: class Transaction { //所有交易 ...

  7. 关于构造与析构过程中调用虚函数的问题

    今天面试碰到一个构造函数与析构函数中调用需虚函数的问题,当时不太确定,回来敲了一下,发现确实表现的不一样,在网上一查发现另有玄机. 代码: # gcc version 4.8.2 (Ubuntu 4. ...

  8. Linux的open函数的调用过程,Linux 中open系统调用实现原理

    用户空间的函数在内核里面的入口函数是sys_open 通过grep open /usr/include/asm/unistd_64.h查找到的 #define __NR_open2 __SYSCALL ...

  9. windows调用python_如何在Windows操作系统中从R调用Python?

    我正在寻找一种在Windows操作系统上调用R中的python的方法.因为似乎没有可用的R包(至少没有最近更新的包),我正在寻找如何在R脚本中编写一组命令的线索,然后可以以批处理模式发送蟒蛇. 简而言 ...

最新文章

  1. vs2008 C++ 没有找到MSVCR90D.dll 问题
  2. 用MediaPlayer做个带进度条可后台的音乐播放器
  3. 九十五、二叉树的递归和非递归的遍历算法模板
  4. 在阿里云函数计算上部署.NET Core 3.1
  5. 代码整洁之道——9、格式化
  6. 360os比android,手机系统比拼360OS、Flyme究竟哪个好?
  7. Microsoft Edge逃离360之路
  8. C语言定义数组起始地址对齐方式(IAR C99 Kinetis K66)
  9. linux 下写不了文件,linux下用root为什么写不了windows下的文件
  10. 机器视觉LED灯珠检测案例
  11. 安装程序无法创建新的系统分区或者无法识别
  12. Altera FPGA 配置方式概述
  13. Bode Plots by Hand 徒手绘制波特图
  14. Java学习日记-Day01
  15. 微软笔记本怎么装linux,微软正在为XO笔记本装Win/Linux双系统
  16. excel中文本格式如何批量转化成数字
  17. XZ_iOS之实现textView占位文本和占位图片
  18. 2.excel导出-poi使用
  19. 由Java引起的指令重排序思考
  20. JSP、JS和HTML的区别

热门文章

  1. WPF纯手工两步打造图片切割工具(一)
  2. [转]分布式文件系统 MogileFS 安装手册
  3. 虫洞协议和闪电网络如何混为一谈?
  4. C++基础学习笔记001
  5. JMeter 测试计划
  6. 从网上搜索到的虚拟化笔记
  7. 【数据结构作业心得】4-0 二叉树
  8. 获取站点某一目录下某些文件
  9. 《时间简史》(评论一)(转载)
  10. 安全访问服务边缘(SASE)是什么?