计算机基础实战课--极客时间课程推荐/优惠
版权声明
本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
你将获得
- 一通百通,8大模块揭秘计算机系统;
- 学以致用,10+实验项目边学边练;
- 前沿视野,实现一个迷你RISCV处理器;
- 高手带路,内核开发者的学习心法。
课程介绍
虽然 IT 领域中各种新框架、新技术层出不穷,但它们的根基还是那些计算机基础知识。没有扎实的计算机基础知识,应用层的技术学习就像空中楼阁,只能看到表象却无法理解本质,学习的时候自然是一头雾水。
正所谓“磨刀不误砍柴工”,优秀工程师的共同特质就是扎实深厚的计算机基础知识,相信工作过一段时间的人都能意识到它的重要性。
尽管知道扎实的基本功对开发效率、技术成长都很重要,但是我们学习时遇到的问题也很多,通常困惑于以下三类问题:
- 基础是什么:对基础知识到底包括哪些,需要学到什么程度心里没底。
- 基础怎么学:底层技术那么多,内容繁多不知从何下手,缺乏清晰系统的学习路径。
- 理论如何和应用相结合:脑子说会了,手说“你没有”,学习技术的时候看了很多资料仍然无法融会贯通,更别说应用到工作之中。
为此,我们邀请到彭东老师,他既做过前端、后端的工作,也做过内核的开发。在这门课里,老师将结合自己十多年的理论和实战经验,帮你从源头开始一步步夯实基本功:从硬件到软件、从指令语言到内存,从原理到应用,带你系统了解计算机的基础知识。
学完这门课程,你就掌握了 IT 领域 80% 相对稳定不变的那部分知识,对于学习任何一门应用技术也是很好的前置准备。
课程设计
串联计算机从底层到应用的关键知识点,总计四个核心、八大关卡。
核心一:历史
学计算机基础,需要先学习它的历史,学习计算机是怎么一步步发展到今天这个样子的,以今天的状况推导未来的发展方向。我们会重点讨论编程架构是怎么创造出来的、CPU 从何而来、CISC 和 RISC 又各有什么优缺点。
核心二:硬件基础知识
了解硬件的工作机制对工程师实现优秀的应用软件非常重要。这里不但会详细讲解芯片的工作机制与原理,还会带你手把手实现一个五级流水线的迷你 RISCV 处理器(基于Verilog,配套代码量2882行)。
核心三:软件基础知识
想要开发高性能的应用程序,语言与指令、应用与内存、IO 与文件方面的知识都是必修内容。这里我们会通过第三关到第六关四个章节带你掌握这些计算机软件基础中最核心、最重要的知识。
高级语言和低级语言之间如何互相转化?应用堆和栈内存有什么不同?多个进程之间如何通信?Linux如何管理外设,又如何存放文件……这些重难点问题,一个都不会漏掉。
核心四:应用层基础知识
带你从底层角度审视前端技术跟后端架构,并探讨云计算、大数据与智能制造。这些热门领域都是对基础技术的综合应用,有助于你开阔视野,提升自己的知识迁移能力,让你真正学有所用。
课程目录
开篇词
- 开篇词|练好基本功,优秀工程师成长第一步
以史为鉴
- 01|CISC & RISC:从何而来,何至于此
- 02|RISC特性与发展:RISC-V凭什么成为“半导体行业的Linux”?
- 先睹为快:迷你CPU项目效果演示
硬件-芯片(手写MiniCPU)
- 03|硬件语言筑基(一):从硬件语言开启手写CPU之旅
- 04|硬件语言筑基(二): 代码是怎么生成具体电路的?
- 05|指令架构:RISC-V在CPU设计上到底有哪些优势?
- 06|手写CPU(一):迷你CPU架构设计与取指令实现
- 07|手写CPU(二):如何实现指令译码模块?
- 08|手写CPU(三):如何实现指令执行模块?
- 09|手写CPU(四):如何实现CPU流水线的访存阶段?
- 10|手写CPU(五):CPU流水线的写回模块如何实现?
- 11|手写CPU(六):如何让我们的CPU跑起来?
- 用户故事|我是怎样学习Verilog的?
环境准备
- 12|QEMU:支持RISC-V的QEMU如何构建?
- 13|小试牛刀:跑通RISC-V平台的Hello World程序
语言与指令
- 14|走进C语言:高级语言怎样抽象执行逻辑?
- 15|C与汇编:揭秘C语言编译器的“搬砖”日常
- 16|RISC-V指令精讲(一):算术指令实现与调试
- 17|RISC-V指令精讲(二):算术指令实现与调试
- 18|RISC-V指令精讲(三):跳转指令实现与调试
- 19|RISC-V指令精讲(四):跳转指令实现与调试
- 21|RISC-V指令精讲(六):加载指令实现与调试
- 20|RISC-V指令精讲(五):原子指令实现与调试
- 22|RISC-V指令精讲(七):访存指令实现与调试
应用与内存
- 23|内存地址空间:程序中地址的三种产生方式
- 24|虚实结合:虚拟内存和物理内存
- 25|堆&栈:堆与栈的区别和应用
- 26|延迟分配:提高内存利用率的三种机制
- 27|应用内存管理:Linux的应用与内存管理
- 28|进程调度:应用为什么能并行执行?
- 29|应用间通信(一):详解Linux进程IPC
- 30 |应用间通信(二):详解Linux进程IPC
国庆策划
- 国庆策划02|来自课代表的学习锦囊
- 国庆策划01|知识挑战赛:检验一下学习成果吧!
- 国庆策划03|揭秘代码优化操作和栈保护机制
IO与文件
- 31|外设通信:IO Cache与IO调度
- 32|IO管理:Linux如何管理多个外设?
- 33|lotop与lostat命令:聊聊命令背后的故事与工作原理
- 34|文件仓库:初识文件与文件系统
- 35|Linux文件系统(一):Linux如何存放文件?
- 36|Linux文件系统(二):Linux如何存放文件?
综合应用
- 37|浏览器原理(一):浏览器为什么要用多进程模型?
- 38|浏览器原理(二):浏览器进程通信与网络渲染详解
- 39|源码解读:V8 执行 JS 代码的全过程
- 40|内功心法(一):内核和后端通用的设计思想有哪些?
- 41|内功心法(二):内核和后端通用的设计思想有哪些?
- 42|性能调优:性能调优工具eBPF和调优方法
结束语
- 期末测试|来赴一场100分之约!
- 结束语|心若有所向往,何惧道阻且长
- 温故知新|思考题参考答案(一)
- 温故知新|思考题参考答案(二)
技术雷达
- 加餐01|云计算基础:自己动手搭建一款IAAS虚拟化平台
- 加餐02 | 学习攻略(一):大数据&云计算,究竟怎么学?
- 加餐03|学习攻略(二):大数据&云计算,究竟怎么学?
- 加餐04|谈谈容器云与和CaaS平台
- 加餐05|分布式微服务与智能SaaS