计算机组成原理-笔记-汇总

📚 前言

本人在备考408,王道讲得的确不错,本人之前也看过哈工大【刘宏伟老师】的课,两者对比下来。

  • 王道——更加基础,对小白更加友好
  • 哈工大——偏实践+偏硬件(会将更多的代码+硬件设计)

PS:个人感受分享,如果说的不对,请见谅~ 


  • 在这里分享我在学习期间,做的笔记~(里面有一些小小的心得)
  • 笔记的PDF版本——应该可以在文章顶部找到下载链接~

时间——2023年8月13日12:43:46

🌸章节汇总

第一章——计算机系统概述(硬件+软件)

第二章——数据的表示和运算

第三章——存储系统  

第四章——指令系统

第五章——中央处理器

第六章——总线

第七章——输入输出系统

  

🚀 学习心得

⌛ 2023年8月5日星期六 


学习计算机组成与操作系统——更多的是在告诉我们设计的思想与解决冲突的方法

并介绍了前辈们在设计系统时,一步一步如何走过来的

从最先开始的简单暴力的系统,到越来越复杂,能够处理更多情况,更多的数据!


在学习时,就像从在学计算机的历史一样!

如何从简单的系统,到复杂的系统?

通过更多的操作——空间、存储器、添加硬件、修改结构…

面对各种问题如何解决——异步,同步,锁,优先级,算法,综合方法,加一层…


如何评估这是有效的优化?

1、制定一系列性能指标

2、设定基准程序,跑分

3、针对具体问题,具体分析!

最重要的一个思想:

如果一层解决不了!那么就再加一层!!!


还有一个计算机人的思想:

  1. 如果当前的系统或软件或硬件满足不了你,那么就自己去做一个,能够满足自己需求的东西!
  2. Vue的诞生、Redis的诞生、Java的诞生…太多大佬都是不安于现状,为了实现自己的想法,而且制作了一个新的东西!

 

⌛ 2023年8月9日星期三

我如何使用C语言制作操作系统呢?就和Unix一样?

使用C语言制作操作系统的基本思路是将C代码编译成目标文件,并将其链接成可执行文件。下面是一个大致的步骤指南,帮助你了解如何开始使用C语言制作操作系统:

  1. 确定目标架构:确定你要开发的操作系统将运行在哪种硬件架构上,例如x86ARM等。
  2. 学习底层编程知识:了解计算机体系结构和底层原理,掌握与操作系统开发相关的概念和技术,如内存管理、中断处理、设备驱动等。
  3. 编写引导加载程序:编写一个简单的引导加载程序,用于在计算机启动时加载操作系统。
  4. 编写内核:使用C语言编写操作系统的内核代码,包括处理中断、系统调用、进程管理、内存管理、设备驱动等核心功能的实现。
  5. 构建启动代码:编写汇编语言代码,用于初始化系统环境、跳转到C代码的入口点等。
  6. 编译和链接:使用交叉编译工具链将C代码编译成目标文件,并将其链接成可执行文件。这个过程可能需要一些特定的工具和配置,以生成适用于目标硬件架构的可执行文件。
  7. 调试和测试:进行系统调试和测试,修复错误和问题。
  8. 开发系统库和工具:根据需要,编写操作系统的标准库、工具链、命令行解释器等。
  9. 优化和改进:对操作系统进行性能优化和功能改进,确保其稳定性和可靠性。

需要注意的是,使用C语言制作操作系统并不意味着完全依赖于C语言。在实际开发中,可能需要借助汇编语言来处理一些底层细节,如启动代码、中断处理等。因此,了解汇编语言也是很重要的。

此外,Unix操作系统是一个非常复杂和成熟的操作系统,要实现像Unix一样完整和强大的功能,需要耗费大量的时间和精力。初学者可以尝试从一个较简单的操作系统开始,逐步扩展和改进,以逐渐理解和掌握操作系统的开发过程。参考教程、书籍和其他资源,积极参与相关的开发社区和讨论也是很有帮助的。


 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

W6100-EVB-PICO 做TCP Server进行回环测试(六)

前言 上一章我们用W6100-EVB-PICO开发板做TCP 客户端连接服务器进行数据回环测试,那么本章将用开发板做TCP服务器来进行数据回环测试。 TCP是什么?什么是TCP Server?能干什么? TCP (Transmission Control Protocol) 是一种面向连…

海信聚好看将携新品DBdoctor,亮相中国数据库技术大会(DTCC2023)

海信聚好看将携新品DBdoctor,亮相中国数据库技术大会 8月16日—18日,第14届中国数据库技术大会(DTCC-2023)将在北京国际会议中心隆重召开。作为国内数据库领域规模最大的技术交流盛会,吸引了众多业内知名企业和数百名…

学会这一招,轻松玩转小程序自动化

jmeter 可以做性能测试,这个很多人都知道,那你知道,jmeter 可以在启动运行时,指定线程数和运行时间,自定义性能场景吗? jmeter 性能测试,动态设定性能场景 平时,我们使用 jmeter 进…

基于亚奈奎斯特采样和SOMP算法的平板脉冲响应空间插值matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ...................................................................... %fine regular gr…

springboot邮件任务

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency> 依赖 配置文件 spring.mail.username1393087444qq.com spring.mail.password************* spring.mail.hos…

C语言学习笔记---数据的存储详解

C语言程序设计笔记---015 C语言数据的存储1、数据类型的意义1.1、unsigned与signed数据类型例程11.2、补码与原码相互转换例程2 2、大小端的介绍2.1、大小端的例程12.2、大小端的例程2 --- 判断当前编译器环境属于大端或小端 3、综合练习题探究数据的存储3.1、练习题13.2、练习…

求Win11系统virtualbox+vagrant安装MacOS虚拟机

文章目录 一、背景二、素材2.1、virtualboxvagrant 三、问题3.1、安装失败3.2、第二个失败3.3、网络说 四、求助 一、背景 题主&#xff0c;主要是穷&#xff0c;没钱买mac笔记本或相关系统的苹果产品&#xff0c;哈哈&#xff0c;偶尔也有用过MacOS系统&#xff0c;只是还没有…

Android Studio实现列表展示图片

效果&#xff1a; MainActivity 类 package com.example.tabulation;import android.content.Intent; import android.os.Bundle; import android.view.View;import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; im…

短视频账号矩阵系统/技术开发搭建私有部署

本系统是基于短视频领域的新一代系统&#xff0c;旨在提供一个高效、全面的短视频管理与分发平台。系统采用先进的开发算法和技术&#xff0c;实现了智能化视频分类、推荐和用户互动功能。 目录 一、抖音SEO账号矩阵系统的开发和部署遵循以下原则&#xff1a; 二、账号矩阵绑…

【实战项目】c++实现基于reactor的高并发服务器

基于Reactor的高并发服务器&#xff0c;分为反应堆模型&#xff0c;多线程&#xff0c;I/O模型&#xff0c;服务器&#xff0c;Http请求和响应五部分 ​全局 反应堆模型 Channel 描述了文件描述符以及读写事件&#xff0c;以及对应的读写销毁回调函数&#xff0c;对应存储ar…

域名配置HTTPS

一、注册域名 这个可以在各大平台注册&#xff0c;具体看一下就会注册了&#xff0c;自己挑选一个自己喜欢的域名。 步骤一般也就是先实名&#xff0c;实名成功了才能注册域名。 二、办理SSL证书 这里使用的是阿里云的SSL免费证书 1、申请证书 二、填写申请 三、域名绑定生…

golang—面试题大全

目录标题 sliceslice和array的区别slice扩容机制slice是否线程安全slice分配到栈上还是堆上扩容过程中是否重新写入go深拷贝发生在什么情况下&#xff1f;切片的深拷贝是怎么做的copy和左值进行初始化区别slice和map的区别 mapmap介绍map的key的类型map对象如何比较map的底层原…

【MFC】08.MFC消息,自定义消息,常用控件(MFC菜单创建大总结),工具栏,状态栏-笔记

本专栏上几篇文章讲解了MFC几大机制&#xff0c;今天带领大家学习MFC自定义消息以及常用控件&#xff0c;最常用的控件请查看本专栏第一二篇文章&#xff0c;今天这篇文章介绍工具栏&#xff0c;菜单和状态栏&#xff0c;以及菜单创建大总结。 文章目录 MFC消息分类&#xff1…

XUbuntu22.04之快速切换Terminal与Chromium窗口(一百八十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

24届近5年南京工业大学自动化考研院校分析

今天给大家带来的是南京工业大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、南京工业大学 学校简介 南京工业大学&#xff08;Nanjing Tech University&#xff09;&#xff0c;简称“南工”&#xff0c;位于江苏省南京市&#xff0c;由国家国防科技工业局、住…

Java多线程编程:实现并发处理的高效利器

Java多线程编程&#xff1a;实现并发处理的高效利器 作者&#xff1a;Stevedash 发表于&#xff1a;2023年8月13日 20点45分 来源&#xff1a;Java 多线程编程 | 菜鸟教程 (runoob.com) ​ 在计算机领域&#xff0c;多线程编程是一项重要的技术&#xff0c;可以使程序同时执…

Idea 反编译jar包

实际项目中&#xff0c;有时候会需要更改jar包源码来达到业务需求&#xff0c;本文章将介绍一下如何通过Idea来进行jar反编译 1、Idea安装decompiler插件 2、找到decompiler插件文件夹 decompiler插件文件夹路径为&#xff1a;idea安装路径/plugins/java-decompiler/lib 3、…

【Sklearn】基于K邻近算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于K邻近算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理模型原理&#xff1a;数学模型&#xff1a; 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 K最近邻&#xff08;K-Nearest Neighbors&#xff0c…

搭建网站并内网穿透实现公网访问本地SQL Server数据库【无公网IP内网穿透】

文章目录 前言1. 安装网站运行和发布必备软件2. 安装PHPStudy3. 安装wordpress4. 进入wordpress安装程序&#xff0c;进行网页编辑和设置5. 安装URL插件6. 安装Cpolar7. 创建自己的数据隧道 前言 在普通电脑用户看来&#xff0c;建立自己的网站总是一件高大上的事情&#xff0…

软件测试四年,总结下功能测试用例设计思路

我们为什么要写好一份测试用例呢&#xff1f;测试同学应该都知道测试用例的重要性&#xff0c;测试用例就是我们测试的依据&#xff0c;也是测试过程中不能缺少的测试文档。 一、用例编写规范目的&#xff1a; 1、提高测试用例的可读性&#xff0c;可执行性、合理性。 2、测…