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

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

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的迁移。
相关文章
|
14天前
|
存储 资源调度 算法
操作系统的心脏:深入理解内核架构与机制####
【10月更文挑战第16天】 本文旨在揭开操作系统最神秘的面纱——内核,通过剖析其架构设计与关键机制,引领读者一窥究竟。在这篇探索之旅中,我们将深入浅出地讨论内核的基本构成、进程管理的智慧、内存分配的策略,以及那至关重要的系统调用接口,揭示它们是如何协同工作,支撑起现代计算机系统的高效运行。这既是一次技术的深潜,也是对“看不见的手”调控数字世界的深刻理解。 ####
34 3
|
3天前
|
缓存 调度
操作系统的心脏:深入理解内核机制
【10月更文挑战第26天】 在数字化时代,操作系统是计算机系统不可或缺的核心。本文旨在揭示操作系统内核的神秘面纱,探讨其工作原理和重要性。通过深入浅出的语言,我们将一窥究竟,了解内核如何协调硬件与软件,确保计算机系统的稳定运行。
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
1月前
|
消息中间件 存储 网络协议
操作系统的心脏:深入理解进程间通信(IPC)机制
在现代计算机系统中,操作系统扮演着至关重要的角色,而进程间通信(IPC)作为操作系统的核心功能之一,极大地影响着系统的性能和稳定性。本文将通过浅显易懂的语言,详细探讨进程间通信的基本原理、主要类型及其实际应用,旨在为读者提供一个清晰且全面的理解和认识。 ##
91 1
|
2月前
|
人工智能 Kubernetes 算法
探究操作系统的心脏——进程管理机制
本文深入探讨了操作系统核心组件之一——进程管理机制。进程管理作为操作系统的基础功能,负责协调和控制计算机系统内运行的所有进程,确保系统资源的有效分配与利用。通过详细介绍进程的定义、状态转换、调度算法以及多线程技术等关键概念,本文揭示了进程管理如何支撑起整个操作系统的运行框架,并保障用户任务的顺利执行。同时,文章还讨论了现代操作系统在进程管理方面的创新与挑战,为读者提供了一个全面而深入的理解视角。
43 1
|
2月前
|
算法 调度 UED
探索操作系统的心脏——进程管理机制
本文将深入探讨操作系统中至关重要的部分——进程管理机制。我们将从基本概念入手,逐步解析进程的定义、状态及其在操作系统中的角色。随后,我们会详细讨论进程调度算法,包括先来先服务、短作业优先、时间片轮转和优先级调度等,分析它们的优势与应用情景。最后,通过实例展示这些算法在实际系统运作中的运用,帮助读者更好地理解进程管理的核心原理。
|
2月前
|
消息中间件 Python
深入理解操作系统的进程间通信(IPC)机制
本文将探讨操作系统中的核心概念——进程间通信(IPC),揭示其在系统运作中的重要性及实现方式。通过分析不同类型的IPC手段,如管道、信号、共享内存等,帮助读者更好地理解操作系统的内部工作原理及其在实际应用中的表现。
98 1
|
1月前
|
小程序 iOS开发 MacOS
MacOS环境-手写操作系统-44-运行简单的程序
MacOS环境-手写操作系统-44-运行简单的程序
19 0
|
1月前
|
缓存 Java C语言
MacOS环境-手写操作系统-12-键盘中断机制
MacOS环境-手写操作系统-12-键盘中断机制为键盘建立中断机制
15 0
|
1月前
|
Java C语言 iOS开发
MacOS环境-手写操作系统-11-建立中断机制
本文详细介绍了如何为内核建立中断机制,涉及8259A中断控制器的初始化、中断信号的传递过程以及中断描述符表的设置。通过汇编和C语言代码展示了如何处理中断,特别是键盘和鼠标中断,最后给出了编译和运行的步骤。 摘要由CSDN通过智能技术生成
35 0