《计算机操作系统-第二章》之操作系统的运行机制与体系结构

简介: 《计算机操作系统-第二章》之操作系统的运行机制与体系结构

1.什么是指令?

我们平时所写的代码基本上都是用高级语言所书写的,但是计算机是无法直接识别的就需要编译器将我们所写的代码翻译成计算机能够直接识别的机器语言,而机器语言是用二进制代码表示的计算机直接识别和执行的一种机器指令的集合,综上指令即为二进制。

1.1指令的分类?

1.1.1非特权指令

所谓非特权指令就是权限比较小的命令,比如命令计算机进行加,减,乘,除这些普通的运算指令。

1.1.2特权指令

所谓的特权指令可以看做权限较高的命令,比如内存清零指令,如果用户程序使用了这个指令,就意味着一个用户程序有能力将其它的用户程序随意清零,这样明显是危险,毕竟在计算机中数据就是金钱。所以这类指令只用于操作系统或者3其它系统软件,一般不直接提供给用户使用。

上述可以特权指令是有点危险的,那么CPU如何判断当前是否可以执行特权指令?

CPU在运行的时有两种状态,一种是用户态(目态)此时CPU只能执行非特权指令,另一种是和核心态(管态)此时特权指令和非特权指令都可以执行。

CPU如何判断该处于什么状态?

使用CPU中程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态,如0为用户态,1位核心态。用户自编程序运行在用户态,操作系统内核程序运行在核心态。

2.程序的分类

根据不同程序所能使用指令的不同将程序划分为以下两种

  1. 1.内核程序
  2. 2.应用程序

2.1什么是内核程序?

即实现操作系统内核功能的程序,内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。

2.2什么是应用程序?

比如自己电脑上的微信qq等,都是应用程序,对于这些程序操作系统并不是很信任,所以只能执行非特权指令,运行在用户态。

操作系统的哪些功能由内核程序实现?

电脑有许许多多程序,但是不是每个程序都是至关重要的,像画图板等,哪怕就是直接干掉了它电脑照样运行,而一旦删除了某些系统文件就可能导致电脑出各种各样的问题,像我自己之前不知不觉中就删了某些系统文件,最后导致键盘上的回车以及几个字母按键使用不了,最后是重装系统才解决的。通过下图了解操作系统的内核部分。

内核是计算机上配置的最底层得软件,是操作系统最基本,最核心的部分。实现内核功能的那些程序就是内核程序。

由于不同的操作系统在划分最底层功能的时候可能不一样,因此就产生了不同的操作系统体系结构。

3.体系结构

3.1大内核

大内核就是如上图所示将大部分的功能都最为系统内核,,运行在核心态。该系统的优点为高性能,缺点为内核代码庞大,结构混乱,难以维护。

3.2微内核

微内核是保留最基本的功能在内核,具体看下图。该体系的优点为功能少,结构清晰,容易维护。缺点为需要频繁的在核心态和用户态之间切换,性能低。

最后的话

各位看官如果觉得文章写得不错,点赞评论关注走一波!谢谢啦!。如果你想变强那么点我点我 牛客网

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
12天前
|
消息中间件 算法 Java
深入浅出操作系统:进程管理的艺术掌握Java中的异常处理机制
【8月更文挑战第30天】在数字世界的舞台上,操作系统扮演着导演的角色,精心安排着每一个进程的表演。本文将揭开进程管理的神秘面纱,从进程的诞生到终结,探究它们如何在操作系统的指挥下和谐共舞。通过生动的比喻和直观的代码示例,我们将一同走进操作系统的核心,理解进程调度、同步与通信的内在机制,以及它们对计算生态的重要性。让我们跟随代码的节奏,一起感受操作系统的魅力吧!
|
15天前
|
存储 算法 网络协议
了解操作系统的基本原理和常见操作,提高计算机使用效率
了解操作系统的基本原理和常见操作,提高计算机使用效率
21 4
|
15天前
|
存储 安全 Java
深入理解操作系统:从用户空间到内核空间的旅程深入浅出Java异常处理机制
【8月更文挑战第28天】在数字世界的海洋中,操作系统是承载软件与硬件沟通的巨轮。本文将揭开操作系统神秘的面纱,通过一次思维的航行,带领读者从应用程序的用户空间出发,穿越系统调用的大门,深入内核空间的心脏。我们将探索进程管理、内存分配、文件系统等核心概念,并借助代码示例,揭示操作系统背后的魔法。准备好了吗?让我们启航,去发现那些隐藏在日常计算活动背后的秘密。 【8月更文挑战第28天】在Java编程世界中,异常处理就像是我们生活中的急救包。它不仅保护程序不因意外而崩溃,还确保了代码的健壮性和可靠性。本文将通过简洁明了的语言和生动的比喻,带你了解Java异常处理的奥秘,从基本的try-catch语
|
19天前
|
调度 UED
操作系统中的多任务处理机制
【8月更文挑战第23天】在数字时代,操作系统的核心功能之一是多任务处理。它允许用户同时运行多个程序,优化资源使用,并提高生产效率。本文将深入探讨操作系统如何实现多任务处理,以及这一机制对用户体验和系统性能的影响。通过理解多任务处理的工作原理,用户可以更好地管理计算资源,提升个人和组织的工作效率。
|
2月前
|
存储 算法 调度
深入理解操作系统的内存管理机制
【7月更文挑战第12天】本文将深入探讨操作系统中至关重要的内存管理机制。内存是计算机系统中宝贵的资源,其管理效率直接影响系统性能。我们将从内存管理的基本原理出发,逐步解析分页和分段技术、虚拟内存的概念以及内存分配策略等核心内容。通过实例分析,揭示现代操作系统如何优化内存使用,提高系统响应速度及资源利用效率。
|
2月前
|
存储 缓存 算法
操作系统中的内存管理机制探究
【7月更文挑战第13天】本文深入探讨了操作系统中至关重要的内存管理机制,揭示了其对系统性能与稳定性的影响。通过分析现代操作系统中内存管理的基本原理、关键技术以及面临的挑战,文章提供了对内存分配策略、虚拟内存技术和缓存管理等核心概念的深度解析。进一步地,文章讨论了内存泄漏和碎片化问题,提出了相应的解决策略,旨在为读者提供操作系统内存管理的全面视角,并指出未来可能的发展趋势。
|
2月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
138 1
|
2月前
|
缓存 监控 关系型数据库
深入理解Linux操作系统的内存管理机制
【7月更文挑战第11天】在数字时代的浪潮中,Linux操作系统凭借其强大的功能和灵活性,成为了服务器、云计算以及嵌入式系统等领域的首选平台。内存管理作为操作系统的核心组成部分,对于系统的性能和稳定性有着至关重要的影响。本文将深入探讨Linux内存管理的基本原理、关键技术以及性能优化策略,旨在为读者提供一个全面而深入的理解视角,帮助开发者和系统管理员更好地优化和管理Linux系统。
|
2月前
|
存储 算法 数据处理
深入理解操作系统之内存管理机制
【7月更文挑战第7天】本文旨在探讨操作系统中的内存管理机制,揭示其对现代计算机系统性能和稳定性的关键影响。我们将从内存管理的基础知识出发,逐步深入到高级概念如虚拟内存、分页和分段等技术,并讨论内存泄漏、碎片化及其解决方案。通过理论与实践的结合,读者将获得对操作系统内存管理机制的全面认识,并了解其在提升系统效率和资源利用方面的重要性。
|
2月前
|
算法 UED
深入理解操作系统:虚拟内存管理机制
【7月更文挑战第4天】在数字时代的浪潮中,操作系统的虚拟内存管理机制如同一座精巧的时间桥梁,连接着有限的物理资源与无限的程序需求。本文将揭开这座桥梁的秘密,从虚拟内存的基本概念出发,逐步深入到页面置换算法的世界,探讨它们如何影响系统性能和用户体验。通过对比分析不同的页面置换策略,我们旨在为读者提供一种全新的视角,以理解和评估现代操作系统中这一至关重要的功能。
38 1

热门文章

最新文章