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

前言

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

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

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


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

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

章节汇总

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

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

第三章——存储系统  

第四章——指令系统

第五章——中央处理器

第六章——总线

第七章——输入输出系统

  

 学习心得

⌛ 2023年8月5日星期六 


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

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

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


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

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

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

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


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

1、制定一系列性能指标

2、设定基准程序,跑分

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

最重要的一个思想:

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


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

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

计算机组成原理-笔记-汇总_第1张图片

 

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


计算机组成原理-笔记-汇总_第2张图片

 

 

你可能感兴趣的:(笔记)