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

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

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的迁移。
相关文章
|
2天前
|
算法 调度 UED
探索操作系统的心脏——进程管理机制
本文将深入探讨操作系统中至关重要的部分——进程管理机制。我们将从基本概念入手,逐步解析进程的定义、状态及其在操作系统中的角色。随后,我们会详细讨论进程调度算法,包括先来先服务、短作业优先、时间片轮转和优先级调度等,分析它们的优势与应用情景。最后,通过实例展示这些算法在实际系统运作中的运用,帮助读者更好地理解进程管理的核心原理。
|
2天前
|
消息中间件 Python
深入理解操作系统的进程间通信(IPC)机制
本文将探讨操作系统中的核心概念——进程间通信(IPC),揭示其在系统运作中的重要性及实现方式。通过分析不同类型的IPC手段,如管道、信号、共享内存等,帮助读者更好地理解操作系统的内部工作原理及其在实际应用中的表现。
11 1
|
21天前
|
消息中间件 算法 Java
深入浅出操作系统:进程管理的艺术掌握Java中的异常处理机制
【8月更文挑战第30天】在数字世界的舞台上,操作系统扮演着导演的角色,精心安排着每一个进程的表演。本文将揭开进程管理的神秘面纱,从进程的诞生到终结,探究它们如何在操作系统的指挥下和谐共舞。通过生动的比喻和直观的代码示例,我们将一同走进操作系统的核心,理解进程调度、同步与通信的内在机制,以及它们对计算生态的重要性。让我们跟随代码的节奏,一起感受操作系统的魅力吧!
|
23天前
|
存储 算法 网络协议
了解操作系统的基本原理和常见操作,提高计算机使用效率
了解操作系统的基本原理和常见操作,提高计算机使用效率
24 4
|
3天前
|
消息中间件 存储 大数据
深入理解操作系统中的进程间通信(IPC)机制
本文旨在探讨操作系统中进程间通信(IPC)的核心机制与其重要性。通过对不同IPC手段如管道、信号、消息队列及共享内存等的详细解析,揭示它们如何高效地促进进程间的信息交换与同步。文章不仅阐述各种IPC技术的实现原理,还探讨了它们在实际系统应用中的场景与优化策略,为系统开发者提供全面而深入的理解。
|
3天前
|
存储 安全 算法
探索操作系统的心脏:内核架构与机制的深度剖析
本文旨在深入探讨操作系统的核心——内核,揭示其架构设计与运行机制的内在奥秘。通过对进程管理、内存管理、文件系统、设备控制及网络通信等关键组件的细致分析,展现内核如何高效协调计算机硬件与软件资源,确保系统稳定运行与性能优化。文章融合技术深度与通俗易懂的表述方式,旨在为读者构建一幅清晰、立体的内核运作全景图。
17 0
|
3天前
|
消息中间件 程序员 数据处理
探究操作系统中的进程间通信(IPC)机制及其在现代软件开发中的应用
本文深入探讨了操作系统中的核心概念——进程间通信(IPC),揭示了其在现代软件开发中的关键作用。通过对各种IPC机制如管道、消息队列、共享内存等的详细分析,本文旨在为读者提供一个清晰的理解框架,帮助他们掌握如何在实际应用中有效利用这些技术以实现进程间的协同工作。此外,文章还将探讨IPC在高并发环境下的性能优化策略,以及如何避免常见的IPC编程错误。通过结合理论与实践,本文不仅适合希望深入了解操作系统原理的技术人员阅读,也对那些致力于提升软件质量和开发效率的程序员具有重要参考价值。
12 0
|
6天前
|
存储 监控 安全
探究Linux操作系统的进程管理机制及其优化策略
本文旨在深入探讨Linux操作系统中的进程管理机制,包括进程调度、内存管理以及I/O管理等核心内容。通过对这些关键组件的分析,我们将揭示它们如何共同工作以提供稳定、高效的计算环境,并讨论可能的优化策略。
13 0
|
20天前
探索操作系统中的线程同步机制
【8月更文挑战第31天】在多线程编程领域,理解并实现线程同步是至关重要的。本文通过浅显易懂的语言和生动的比喻,带你走进线程同步的世界,从互斥锁到信号量,再到条件变量,逐步揭示它们在协调线程行为中的作用。我们将一起动手实践,用代码示例加深对线程同步机制的理解和应用。
|
23天前
|
存储 安全 Java
深入理解操作系统:从用户空间到内核空间的旅程深入浅出Java异常处理机制
【8月更文挑战第28天】在数字世界的海洋中,操作系统是承载软件与硬件沟通的巨轮。本文将揭开操作系统神秘的面纱,通过一次思维的航行,带领读者从应用程序的用户空间出发,穿越系统调用的大门,深入内核空间的心脏。我们将探索进程管理、内存分配、文件系统等核心概念,并借助代码示例,揭示操作系统背后的魔法。准备好了吗?让我们启航,去发现那些隐藏在日常计算活动背后的秘密。 【8月更文挑战第28天】在Java编程世界中,异常处理就像是我们生活中的急救包。它不仅保护程序不因意外而崩溃,还确保了代码的健壮性和可靠性。本文将通过简洁明了的语言和生动的比喻,带你了解Java异常处理的奥秘,从基本的try-catch语