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

📚 前言

本人在备考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一样完整和强大的功能,需要耗费大量的时间和精力。初学者可以尝试从一个较简单的操作系统开始,逐步扩展和改进,以逐渐理解和掌握操作系统的开发过程。参考教程、书籍和其他资源,积极参与相关的开发社区和讨论也是很有帮助的。


 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JZ39 数组中出现次数超过一半的数字

目录 一、题目 二、代码 一、题目 数组中出现次数超过一半的数字_牛客题霸_牛客网 二、代码 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param numbers int整型vector * return int…

vulnhub靶机Deathnote

难度:easy 下载地址:https://download.vulnhub.com/deathnote/Deathnote.ova 主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.140 进一步查看目标的端口的服务和版本 nmap -sV -sT -O -p22,80 192.168.21.140 扫描端口的漏洞…

j东h5st参数多局部ob加密(js_security_v3_0.1.4.js)加密分析

j东h5st参数多局部多次ob加密(js_security_v3_0.1.4.js) 大家好呀,我是你们的好兄弟,【星云horseAK】,今天的主题真的是千呼万唤始出来,某东东的h5st参数,这个加密的js文件使用了obfuscator进行…

【CTF-web】修改请求头(XFF)

题目链接:https://ctf.bugku.com/challenges/detail/id/79.html 随意输入后可以看到需要本地管理员登录,得知这是一道需要修改XFF头的题。 XFF即X-Forwarded-For,该请求标头是一个事实上的用于标识通过代理服务器连接到 web 服务器的客户端的…

监控Kafka的关键指标

Kafka 架构 上面绿色部分 PRODUCER(生产者)和下面紫色部分 CONSUMER(消费者)是业务程序,通常由研发人员埋点解决监控问题,如果是 Java 客户端也会暴露 JMX 指标。组件运维监控层面着重关注蓝色部分的 BROKE…

SPI协议简介

什么是SPI? SPI是串行外设接口(Serial Peripheral Interface)的缩写,是美国摩托罗拉公司(Motorola)最先推出的一种同步串行传输规范,也是一种单片机外设芯片串行扩展接口,是一种高速…

实践教程|基于 pytorch 实现模型剪枝

PyTorch剪枝方法详解,附详细代码。 一,剪枝分类 1.1,非结构化剪枝 1.2,结构化剪枝 1.3,本地与全局修剪 二,PyTorch 的剪枝 2.1,pytorch 剪枝工作原理 2.2,局部剪枝 2.3&#…

CentOS-6.3安装MySQL集群

安装要求 安装环境:CentOS-6.3 安装方式:源码编译安装 软件名称:mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz 下载地址:http://mysql.mirror.kangaroot.net/Downloads/ 软件安装位置:/usr/local/mysql 数据存放位…

基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升

查看原文>>>基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升 目录 专题一、生态环评报告编制规范 专题二、土地利用图 专题三、植被类型及植被覆盖度图 专题四、物种适宜生境分布图 专题五、生物多样性测定 专题六…

阿里云Linux服务器安装FTP站点全流程

阿里云百科分享使用阿里云服务器安装FTP全教程,vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件。本教程介绍如何在Linux实例上安装并配置vsftpd。 目录 前提条件 步骤一:安装vsftpd 步骤二…

【Kafka】1.Kafka简介及安装

目 录 1. Kafka的简介1.1 使用场景1.2 基本概念 2. Kafka的安装2.1 下载Kafka的压缩包2.2 解压Kafka的压缩包2.3 启动Kafka服务 1. Kafka的简介 Kafka 是一个分布式、支持分区(partition)、多副本(replica)、基于 zookeeper 协调…

C# 一种求平方根的方法 立方根也可以 极大 极小都可以

不知道研究这些干啥&#xff0c;纯纯的浪费时间。。。 public static double TQSquare(double number){Random random1 new Random(DateTime.Now.Millisecond);double x1 0, resultX1 0, diff 9999999999, diffTemporary 0;for (int i 0; i < 654321; i){if (random1…

面试热题(验证二叉搜索树)

给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉树 二叉树满足以上3个条件&#xff0c…

如何使用Pycharm 快速搭建 Django 项目 (分享详细图文教程)

1. 准备工作 在开始创建Django项目之前&#xff0c;需要先确保已经安装了Python和Pycharm。并且python中已经安装好了Django依赖。 1安装python&#xff08;这里我安装使用的是python3.11.4稳定版本&#xff09; 官网下载太慢了这里直接贴网盘下载连接了&#xff0c;一起贴出py…

Linux基础知识学习

一、i.mx6ull交叉编译QT项目 1、步骤 2、安装交叉编译链 使能交叉编译链&#xff0c;使能刚安装的编译器&#xff0c;不然还是老版本的 source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 3、命令行交叉编译QT项目 wandzhangwa…

机器学习笔记:李宏毅 stable diffusion

1 基本框架 ①&#xff1a;文字变成向量 ②&#xff1a;喂入噪声文字encoder&#xff0c;产生中间产物 ③&#xff1a;decoder 还原图片 2 text encoder 这张图越往右下表示效果越好&#xff0c;可以看到text encoder尺寸越大&#xff0c;对后续生成图片的增益越多 3 评价图…

京东秋招攻略,备考在线测评和网申笔试

京东秋招简介 伴随着社会竞争越来越激烈&#xff0c;人们投递简历的岗位也变得越来越多元&#xff0c;而无论人们的选择面变成何样&#xff0c;那些知名度较高的企业&#xff0c;永远都备受关注&#xff0c;只要其一发布招聘公告&#xff0c;总有人第一时间踊跃报名。而作为这…

threejs纹理的使用

实现地板的效果&#xff0c;需要导入3张图片&#xff0c;第一种样式&#xff0c;第二种&#xff0c;木板间的间隙&#xff0c;第三种&#xff0c;木板的粗细图片。先注册一个物体属性&#xff0c;在物体属性上加上图片&#xff0c;注册代码如下图&#xff1a; const floorMat …

windows server 2016 搭建使用 svn 服务器教程

参考教程&#xff1a; https://zhuanlan.zhihu.com/p/428552058 https://blog.csdn.net/weixin_33897722/article/details/85602029 配置环境 windows server 2016 远程服务器公网 ip 安装 SVN 服务端 下载 svn 服务端安装包&#xff1a;https://www.visualsvn.com/download…

Spring boot中的线程池-ThreadPoolTaskExecutor

一、jdk的阻塞队列&#xff1a; 二、Spring boot工程的有哪些阻塞队列呢&#xff1f; 1、默认注入的ThreadPoolTaskExecutor 视频解说&#xff1a; 线程池篇-springboot项目中的service层里简单注入ThreadPoolTaskExecutor并且使用_哔哩哔哩_bilibili 程序代码&#xff1a;…