操作系统笔记——系统态和用户态
一、系统程序和应用程序
系统程序就是操作系统的内核。往往是系统自带的程序。用来完成最基本的系统操作。有中断处理、时钟管理、原语、进程管理、存储器管理、设备管理的程序。
应用程序:普通的程序,用于文本操作、聊天、视频等程序。不能执行OS指令和访问OS区域。
二、系统态和用户态
指的是处理机的执行状态的分类。分类目的:防止应用程序对OS破坏。
系统态:又称核心态、管态、内核态。操作系统的内核的运行的状态。具有较高特权,能执行一切指令,访问所有寄存器和存储器。
用户态:又称目态,应用程序的运行的状态。具有较低的特权,仅能执行规定的指令,访问特定的寄存器和存储器。
状态转换:通过系统调用。必须经过软中断机制。
三、特权指令和非特权指令
特权指令:
- 在系统态下运行的指令。
- 对内存的访问不受限制,可以访问用户空间也可以访问系统空间。比如:启动外部设备、设置系统时钟、关中断、转换执行状态。
- 不允许应用程序使用。
非特权指令:
- 在用户态运行的指令,应用程序所使用的所有指令。
- 访问内存受限,只允许访问用户空间。
- 不能对系统中的软件和硬件直接访问。
四、系统调用和过程调用的区别
系统调用:调用程序一定是运行在用户态,被调用程序一定是运行在系统态。
过程调用:调用程序和被调用程序运行在相同的状态下,可以同时是用户态,也可以同时是系统态。
操作系统笔记——系统态和用户态相关推荐
- Linux 操作系统原理 — 内核态与用户态
目录 文章目录 目录 Linux 的内核态与用户态 系统调用(System Call) Shell 用户态和内核态的切换 进程的用户空间和内核空间的内存布局 内核空间 用户空间 Linux 的内核态与 ...
- CPU的两种工作状态——系统态和用户态
CPU的两个工作状态,也就是处理器的两种执行状态. 在一个系统中既有操作系统的程序,也由普通用户的程序.众多的指令中,有些指令只能由系统来使用,禁止用户程序去直接访问.为了保证操作系统和各个应用程序能 ...
- Linux系统中内核态、用户态和零拷贝技术解析
目录 第一:存储介质的性能 第二:内核态和用户态 第三:内核态和用户态是怎么控制数据传输的? 第四:什么是 DMA ? 第五:零拷贝技术实现的方式 第六:mmap + write 第七:se ...
- 内核态与用户态的区别
原文链接:https://www.cnblogs.com/gizing/p/10925286.html 1.操作系统需要两种CPU状态 内核态(Kernel Mode):运行操作系统程序,操作硬件 用 ...
- 内核态和用户态的区别
当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态).此时处理器处于特权级最高的(0级)内核代码中执行.当进程处于内核态时,执行的内核代码会使用当前进程的 ...
- 内核态与用户态【转载】
原文:http://blog.csdn.net/skywalkzf/article/details/5185442 内核态与用户态是操作系统的两种运行级别,intel cpu提供Ring0-Ring3 ...
- linux c程序中内核态与用户态内存存储问题
Unix/Linux的体系架构 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核).内核从本质上看是一种软件--控制计算机的硬件资源,并提供上层应用程序运行 ...
- go语言学习--内核态和用户态(协程)
go中的一个特点就是引入了相比于线程更加轻量级的协程(用户态的线程),那么什么是用户态和内核态呢? 一.什么是用户态和内核态 当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核 ...
- Linux 的内核态与用户态
我们常说的 Linux 严格来说指代的是 Linux Kernel,泛指使用或裁剪标准 Linux Kernel 并在此基础之上实现各种应用程序解决方案的操作系统发行版本(e.g. RHEL.SUSE ...
最新文章
- springboot基于maven多模块项目搭建(直接启动webApplication)
- 设置KMPlayer的音量控制的快捷键
- Golang 并发Groutine实例解读(一)
- deactivate_sending在创建新的table entry时的作用
- win7纯净版镜像系统安装教程
- 真正的门槛 - 全干工程师
- 上海找python工作容易吗_Python 在上海什么程度才能找到工作?
- GNOME界面简单使用
- 苹果M1芯片:如何开启一个时代
- 我的firefox插件开发历程
- Android开发之使用Handler刷新UI控件
- python iotextwrapp执行不动_Python tkinter - 第10章 文本控件(Text)方法
- 减少 JPG 文件大小
- 微信小程序 下拉刷新 性能优化 参考饿了么小程序首页列表加载
- VLookup函数和单元格引用
- java商品销售管理系统_基于SSM框架下的JAVA商场销售管理系统
- 全国高校计算机能力挑战赛试题,2019年全国高校计算机能力挑战赛 C语言程序设计决赛(示例代码)...
- ROS 入门基础(四)自定义话题, publisher和Subscriber
- 【数学】欧拉恒等式:史上最完美的数学公式,没有之一!
- VAM语料库--学习笔记
热门文章
- 勒索软件_改善市政勒索软件防御能力的3种习惯
- R语言ggplot2可视化
- Selenium敏捷自动化测试
- DOS版环球经典游戏全集
- HCD中Root Hub对象的初始化
- CSS Grid详解
- tcl 脚本起头的一行 exec tclsh $0 $@的意思
- JVM第五讲:纵横数据如何应对洪峰推送
- An Integrated Neighborhood Dependent Approach for Nonlinear Enhancement of Color Images
- 美少女万华镜2:勿忘草与永远的少女 for Mac 支持M1/M2 中文版 苹果电脑游戏