《程序员的自我修养》读书笔记(一)

本文是《程序员的自我修养》读书笔记的第一章,探讨了从Hello World程序出发,涉及编译器、操作系统、内存管理、多线程等内容。作者介绍了CPU、内存和IO控制芯片在计算机系统中的角色,以及SMP与多核技术的演变,讨论了操作系统如何管理硬件资源,尤其是内存的虚拟化技术,最后简要概述了线程的基础知识和线程安全问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.第一章 温故而知新

1.1 从Hello World 说起

对于下面这样一个简单的Hello World程序, 提出以下的问题:

#include <iostream>
int main()
{
    printf("Hello World!") ;
    return 0;
}
  • 编译器编译产生的可执行文件中是什么?除了机器码还有什么?他们是怎么存放的?怎么组织的?
  • C语言库和运行时库是怎么回事?是怎么实现的?
  • Hello World 程序是怎么运行起来的,操作系统是怎么装载他的,他从哪里开始执行?到哪结束?main函数之前发生了什么?main函数结束之后又发生了什么?
  • Hello World程序运行时在内存中是什么样子

以上几个问题是我挑选出来概念比较模糊的。希望在后面的部分能够较好的解决这些疑惑

1.2 万变不离其宗

​ 计算机硬件有三个部分最为关键:CPU,内存,IO控制芯片。对于一些高级语言的开发者,基本上只需要关注CPU,对于提供虚拟机的一些语言,甚至连CPU都不需要关心。

IO控制芯片具体是哪些部件,是指声卡,显卡,磁盘控制器吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值