一、系统程序和应用程序

系统程序就是操作系统的内核。往往是系统自带的程序。用来完成最基本的系统操作。有中断处理、时钟管理、原语、进程管理、存储器管理、设备管理的程序。

应用程序:普通的程序,用于文本操作、聊天、视频等程序。不能执行OS指令和访问OS区域。

二、系统态和用户态

指的是处理机的执行状态的分类。分类目的:防止应用程序对OS破坏。

系统态:又称核心态、管态、内核态。操作系统的内核的运行的状态。具有较高特权,能执行一切指令,访问所有寄存器和存储器。

用户态:又称目态,应用程序的运行的状态。具有较低的特权,仅能执行规定的指令,访问特定的寄存器和存储器。

状态转换:通过系统调用。必须经过软中断机制。

三、特权指令和非特权指令

特权指令

  • 在系统态下运行的指令。
  • 对内存的访问不受限制,可以访问用户空间也可以访问系统空间。比如:启动外部设备、设置系统时钟、关中断、转换执行状态。
  • 不允许应用程序使用。

非特权指令

  • 在用户态运行的指令,应用程序所使用的所有指令。
  • 访问内存受限,只允许访问用户空间。
  • 不能对系统中的软件和硬件直接访问。

四、系统调用和过程调用的区别

系统调用:调用程序一定是运行在用户态,被调用程序一定是运行在系统态。

过程调用:调用程序和被调用程序运行在相同的状态下,可以同时是用户态,也可以同时是系统态。

操作系统笔记——系统态和用户态相关推荐

  1. Linux 操作系统原理 — 内核态与用户态

    目录 文章目录 目录 Linux 的内核态与用户态 系统调用(System Call) Shell 用户态和内核态的切换 进程的用户空间和内核空间的内存布局 内核空间 用户空间 Linux 的内核态与 ...

  2. CPU的两种工作状态——系统态和用户态

    CPU的两个工作状态,也就是处理器的两种执行状态. 在一个系统中既有操作系统的程序,也由普通用户的程序.众多的指令中,有些指令只能由系统来使用,禁止用户程序去直接访问.为了保证操作系统和各个应用程序能 ...

  3. Linux系统中内核态、用户态和零拷贝技术解析

    ​目录 ​第一:存储介质的性能 ​第二:内核态和用户态 第三:内核态和用户态是怎么控制数据传输的? ​第四:什么是 DMA ? ​第五:零拷贝技术实现的方式 第六:mmap + write 第七:se ...

  4. 内核态与用户态的区别

    原文链接:https://www.cnblogs.com/gizing/p/10925286.html 1.操作系统需要两种CPU状态 内核态(Kernel Mode):运行操作系统程序,操作硬件 用 ...

  5. 内核态和用户态的区别

    当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态).此时处理器处于特权级最高的(0级)内核代码中执行.当进程处于内核态时,执行的内核代码会使用当前进程的 ...

  6. 内核态与用户态【转载】

    原文:http://blog.csdn.net/skywalkzf/article/details/5185442 内核态与用户态是操作系统的两种运行级别,intel cpu提供Ring0-Ring3 ...

  7. linux c程序中内核态与用户态内存存储问题

    Unix/Linux的体系架构 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核).内核从本质上看是一种软件--控制计算机的硬件资源,并提供上层应用程序运行 ...

  8. go语言学习--内核态和用户态(协程)

    go中的一个特点就是引入了相比于线程更加轻量级的协程(用户态的线程),那么什么是用户态和内核态呢? 一.什么是用户态和内核态 当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核 ...

  9. Linux 的内核态与用户态

    我们常说的 Linux 严格来说指代的是 Linux Kernel,泛指使用或裁剪标准 Linux Kernel 并在此基础之上实现各种应用程序解决方案的操作系统发行版本(e.g. RHEL.SUSE ...

最新文章

  1. springboot基于maven多模块项目搭建(直接启动webApplication)
  2. 设置KMPlayer的音量控制的快捷键
  3. Golang 并发Groutine实例解读(一)
  4. deactivate_sending在创建新的table entry时的作用
  5. win7纯净版镜像系统安装教程
  6. 真正的门槛 - 全干工程师
  7. 上海找python工作容易吗_Python 在上海什么程度才能找到工作?
  8. GNOME界面简单使用
  9. 苹果M1芯片:如何开启一个时代
  10. 我的firefox插件开发历程
  11. Android开发之使用Handler刷新UI控件
  12. python iotextwrapp执行不动_Python tkinter - 第10章 文本控件(Text)方法
  13. 减少 JPG 文件大小
  14. 微信小程序 下拉刷新 性能优化 参考饿了么小程序首页列表加载
  15. VLookup函数和单元格引用
  16. java商品销售管理系统_基于SSM框架下的JAVA商场销售管理系统
  17. 全国高校计算机能力挑战赛试题,2019年全国高校计算机能力挑战赛 C语言程序设计决赛(示例代码)...
  18. ROS 入门基础(四)自定义话题, publisher和Subscriber
  19. 【数学】欧拉恒等式:史上最完美的数学公式,没有之一!
  20. VAM语料库--学习笔记

热门文章

  1. 勒索软件_改善市政勒索软件防御能力的3种习惯
  2. R语言ggplot2可视化
  3. Selenium敏捷自动化测试
  4. DOS版环球经典游戏全集
  5. HCD中Root Hub对象的初始化
  6. CSS Grid详解
  7. tcl 脚本起头的一行 exec tclsh $0 $@的意思
  8. JVM第五讲:纵横数据如何应对洪峰推送
  9. An Integrated Neighborhood Dependent Approach for Nonlinear Enhancement of Color Images
  10. 美少女万华镜2:勿忘草与永远的少女 for Mac 支持M1/M2 中文版 苹果电脑游戏