[计算机基础四大件学习笔记]计算机组成原理

news2025/1/12 15:49:41

文章总览:YuanDaiMa2048博客文章总览


计算机基础四大件学习笔记

说明:虽然学习过计算机组成与系统结构、操作系统、计算机网络以及数据结构这四门课程,但是对于这四门课的结合和实际中的应用还是模糊的,因此x想通过网上的一些视频,将这四门课从程序员实际应用的角度去结合,主要记录一些课程学习的笔记,目的是由浅入深真正了解计算机底层的工作原理。

计算机组成原理

关键词:内核、程序、cpu、硬中断、软中断、GDT、IDT、IO中断、时钟中断…

一、程序运行的底层逻辑

流程图
在这里插入图片描述

  1. 程序如何执行:

    在计算机中,系统的运行分为用户态和内核态。用户态运行的是用户程序,而内核态运行的是内核代码,负责管理硬件设备和执行系统调用等。程序执行时,特别是需要进行系统调用(比如文件操作、网络通信等需要操作系统介入的操作)时,会通过软中断(例如int 0x80syscall指令)从用户态切换到内核态。CPU收到这个指令后,会查询IDT(中断描述表),找到对应的处理函数(系统调用的入口点)并执行,这个过程称为系统调用。

  2. 内核安全性保证:

    内核的安全性主要通过内存保护、权限控制和用户态/内核态的隔离来实现。GDT(全局描述符表)和IDT是其中的关键机制。GDT中定义了不同段的属性,包括基地址、界限以及访问权限等,确保用户程序不能直接访问或修改内核代码和数据。通过这种方式,加上CPU的特权级别机制,确保了只有合适的权限(通常是内核态)才能执行某些敏感操作。

  3. 软件程序的并行执行:

    现代计算机通过进程调度(多任务)实现了看似并行的执行效果。实际上,单核CPU在任一时刻只执行一个任务,而多核CPU可以同时执行多个任务。进程调度器(系统的一部分)负责管理所有进程的运行,确保CPU时间被公平且高效地分配给每个进程。

    时钟中断是实现时间片轮转调度的关键机制之一。计算机中的时钟会定时产生中断,触发操作系统的调度程序运行,挂起当前进程,保存其状态,然后根据调度算法选择另一个进程继续执行。这样,通过在不同进程间迅速切换,给用户一种多个程序似乎在同时运行的错觉。

    硬中断和软中断(包括系统调用)也是触发任务切换的机制,但它们主要用于处理异步事件和系统调用请求,而时钟中断主要用于实现时间片调度。

二、相关概念介绍

  1. 内核 (Kernel)

    • 内核是操作系统的核心部分,负责管理计算机的硬件资源,提供系统服务。它在用户程序和硬件之间充当中介,执行包括内存管理、进程调度、文件系统管理等任务。
  2. 程序 (Program)

    • 在计算机中,程序是一系列指令的集合,这些指令能被CPU执行以完成特定的任务。程序在执行前通常存储在磁盘上,执行时加载到内存中。
  3. CPU (Central Processing Unit)

    • CPU,即中央处理器,是计算机的主要部件之一,负责解释和执行程序指令,处理数据。
  4. 硬中断 (Hardware Interrupt)

    • 硬中断是由计算机硬件发出的中断信号,用于通知CPU立即处理某个事件,如输入/输出操作完成。
  5. 软中断 (Software Interrupt)

    • 软中断是由软件产生的中断,通常用于操作系统内核提供的服务请求,如系统调用。
  6. GDT (Global Descriptor Table)

    • 全局描述符表,是一种用于定义不同内存段(如代码段、数据段)属性的数据结构,它支持内存保护和特权级别控制,确保只有具有适当权限的代码才能访问特定的内存区域。
  7. IDT (Interrupt Descriptor Table)

    • 中断描述符表,用于定义每种中断或异常的处理程序的地址和属性。当CPU接收到一个中断信号时,它会使用IDT来确定如何处理该中断。
  8. IO中断 (I/O Interrupt)

    • 输入/输出中断,是一种硬中断,由外围设备(如硬盘、网络接口)发出,表示数据传输可以开始或已经完成,需要CPU的注意。
  9. 时钟中断 (Clock Interrupt)

    • 时钟中断由计算机的定时器定期生成,用于操作系统的进程调度,确保CPU时间可以被多个进程共享,实现多任务处理。
  10. 用户态 (User Mode)

    • 用户态是指CPU运行权限较低的模式,用户程序在此模式下运行。在用户态,程序不能直接执行内核代码或操作硬件。
  11. 内核态 (Kernel Mode)

    • 内核态是指CPU运行权限最高的模式,操作系统的核心部分在此模式下运行。在内核态,代码可以直接访问所有硬件和内存区域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2117464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rust语言初探:WebAssembly 入门

Rust语言初探:WebAssembly 入门 前言 在我的印象中,Rust 一直是比较底层的语言,例如在操作系统底层、高性能中间件等底层场景才会看到它的身影。 然而,随着技术的发展,Rust 也开始在前端场景如 WebAssembly 中崭露头…

大数据Flink(一百一十五):Flink SQL的基本概念

文章目录 Flink SQL的基本概念 一、​​​​​​​SQL 中表的概念 二、​​​​​​​​​​​​​​SQL 临时表、永久表 三、​​​​​​​​​​​​​​SQL表类型的定义 四、​​​​​​​​​​​​​​常见的连接器 五、​​​​​​SQL数据视图 1、​​​​​​…

校园气膜馆助力青少年体质发展:少年强则国强—轻空间

青少年是国家的未来,体质的强健与否,直接关系到国家的竞争力和可持续发展。在现代社会,学习和压力并存,青少年的体育锻炼时间不断被压缩,如何提供更为优质的体育设施,帮助他们增强体质,成为学校…

【C/C++】“秒懂”学C/C++不可错过的“经典编程题” — 日期类的经典运用 (含题链接)

“秒懂”学C/C不可错过的“经典编程题” — 日期类的经典运用 (含题链接) 1. 计算日期到天数转换(1). 解题思路:(2). 代码实现: 2. 打印日期(1). 解题思路:(2). 代码实现: 3. 日期累加(1). 解题思路:(2). 代…

Java 设计模式-状态模式

目录 一. 概述 二. 主要角色 三. 代码示例 四. 优缺点 优点: 缺点: 五. 常见应用场景 一. 概述 状态模式是一种行为设计模式,它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式把所有的与一个特定…

AES算法与接口解密

文章目录 AES算法基本介绍加密模式模式与IV 接口响应AES解密 AES算法 基本介绍 高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法。 对称加密算法中加解密密钥都是一样的。 AES 的主要特性: 块加密:AES 是一种分组加密算法&…

Vue day-04

目录 一. vue组件 1.1 为什么用组件 1.2 vue组件 1.3 基础使用 1.4 全局 - 注册使用 1.5 局部 - 注册使用 1.4 用less写的样式 二. Vue组件之间传值(重点) 2.1 父组件向子组件传值 2.2 子组件向父组件传值 2.3 兄弟之间的传递 三. vue生命周期 3.1 含义 3.2 钩子…

phpmyadmin报错mysqli::real_connect(): (HY000/1045): Access denied for user ‘

问题分析 这是因为本身还安装了MySQL,导致发生冲突,只需要找到自己安装的进行关闭即可 方法 在任务管理器(快捷键:ctrlaltdelete)-服务中,找到对应的MySQL进行关闭

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级&…

数字化转型的战略规划应该怎么做?(附IBM-IT战略规划方法论PPT下载)

IBM-IT战略规划方法论PPT-下载链接见文末~ 数字化转型的战略规划是一个系统而复杂的过程,需要从多个维度进行考虑和规划。以下是一些关键步骤和建议,以帮助企业制定有效的数字化转型战略规划: 1. 明确数字化转型愿景和目标 设定愿景&#…

基于ONSEMI电源管理芯片NCP1607之AC300V高输入电压36W调色温智能电源

NCP1607PFC在LED智能电源PFC处理部分性价比高,输入电压范围宽到AC90-300V,母线电压420V导致高压低电流整机光效高,成熟芯片可靠新高,没有任何纹波与频闪,智能护眼。 ►场景应用图 ►产品实体图 ►展示板照片 ►方案方块图 ►核心…

常见概念 -- OPA与插损预置

OPA基本原理 OPA功能,即光功率调节(Optical Power Adjust),在新建光层业务时使用。 ​单板正常工作后,在网管上创建单站光交叉时,可以创建自动模式的光交叉,即启动OPA功能。OPA功能通过软件计算,自动调节交…

MACD指标精讲PART1:MACD指标入门及使用法则

一、MACD指标入门 MACD(Moving Average Convergence Divergence)指标称为指数平滑异同移动平均线指标,是由Geral Apple所创造,用来跟踪股价运行趋势、判断股票买卖时机的技术分析工具。 MACD指标由DIFF线(Difference线…

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJ…

SprinBoot+Vue体育商品推荐的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

无人机反制:便携式无人机反制盾技术详解

便携式无人机反制盾技术是一种先进的无人机防御手段,专门设计用于抵御或干扰无人机的活动。以下是对该技术的详细解析: 一、技术概述 便携式无人机反制盾是一种手持或单兵便携式设备,通过集成多种技术手段,实现对无人机的有效识…

【STM32项目】基于STM32+RTOS音频光通信设计与实现(完整工程资料源码)

基于STM32音频光通信设计与实现 目录: 目录 目录: 一、背景及意义: 二、国内外研究现状 2.1 国外研究的现状 2.1.1 国际可见光通讯联盟 2.1.2 日本的研究进展 2.1.3 德国的研究进展 2.1.4 英国的研究进展 2.1.5 美国的研究进展 2.2 国外研究…

【docker】docker network 网络

docker network 网络 Docker 为什么需要网络管理docker 网络架构简介CNMLibnetwork驱动 常见网络类型docker 网络管理命令 Docker 为什么需要网络管理 容器的网络默认与宿主机及其他容器都是相互隔离, 但同时我们也要考虑下面的一些问题, 比如 多个容器…

Excel图表生成:自动化创建与修改Excel图表的技术指南

目录 引言 Excel图表基础 图表的作用与类型 Excel图表制作的基本步骤 自动化创建Excel图表 使用VBA宏自动化创建图表 自动化创建柱状图 自动化创建折线图 使用Python和第三方库自动化创建图表 安装必要的库 编写Python代码 修改Excel图表 修改图表类型和样式 自动…

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境 <Huawei>system-view Enter system view, return user view with CtrlZ. [Huawei]undo info-center enable Info: Information center is disabled. [Huawei]interface gigabitethernet 0/0/0 [Huawei-Gigabi…