有没有人能告诉我

zheyimiao 2010-06-22 12:46:29
我想知道操作系统是怎么执行程序的, 具体的流程.用CPU, 寄存器, 内存, 虚拟内存, 应用程序地址空间这些东西来说明,即我想知道其执行程序的物理过程.可以参考下面这段最简单的程序来说明.

大家不要全说宏观的东西哈,什么系统执行代码段,然后到数据段找到数据之类的等等.也不要推荐我去看啥核心编程之类的.
我想一次性的搞清楚这个物理流程,因为我发现很多程序员一辈子都停留在表面,一辈子都在讨论堆,栈之类的东西.如果没有人把这个流程分析一下,我想我一辈子也在这里转圈了.

#include "stdafx.h"
#include <Windows.h>

static const int v1 = 5;
int v2 = 6;

int Add(int a, int b)
{
return a + b;
}

DWORD ThreadProc(LPARAM lparam)
{
int v3;
v3 = Add(v1, v2);

return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
int v3;
v3 = Add(v1, v2);

HANDLE hThread = NULL;

hThread = CreateThread(NULL, NULL,
(LPTHREAD_START_ROUTINE)ThreadProc,
NULL, NULL, NULL);

while (true)
{
}

return 0;
}
...全文
192 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zheyimiao 2010-06-23
  • 打赏
  • 举报
回复
谢谢大家,结帖了
Tiger-1985 2010-06-22
  • 打赏
  • 举报
回复
LZ应该能理解到汇编那一层了吧。我觉得到这一层就差不多了,再往下就到机器码和硬件的处理了。现在没有人去学机器码吧,对于程序员来说也没有多大意义。
你说的“CPU, 寄存器, 内存, 虚拟内存, 应用程序地址空间这些东西“,在汇编层面都可以涉及到。
yzx714 2010-06-22
  • 打赏
  • 举报
回复
要详细的讨论,涉及的知识面太广了,慢慢积累才能弄懂。
yzx714 2010-06-22
  • 打赏
  • 举报
回复
楼主好学是值得肯定的,但是不是太贪心了,这里的人是你讨论的朋友,不是你的老师。
taodm 2010-06-22
  • 打赏
  • 举报
回复
要能几句话就说清楚,那值得那些大师写那么厚的书来讲计算机体系结构么?
DGerome 2010-06-22
  • 打赏
  • 举报
回复
楼主有才
行而上学,建议先学习汇编
healer_kx 2010-06-22
  • 打赏
  • 举报
回复
"我想一次性的搞清楚这个物理流程,因为我发现很多程序员一辈子都停留在表面,一辈子都在讨论堆,栈之类的东西.如果没有人把这个流程分析一下,我想我一辈子也在这里转圈了."

"大家不要全说宏观的东西哈,什么系统执行代码段,然后到数据段找到数据之类的等等.也不要推荐我去看啥核心编程之类的."

楼主属于想学习又不想自学型。
向立天 2010-06-22
  • 打赏
  • 举报
回复
可悲啊
我连表面都不了解
这辈子连圈都转不了
elpase 2010-06-22
  • 打赏
  • 举报
回复
<软件调试>张银奎著.
PU->OS->Compiler->Debugger
cattycat 2010-06-22
  • 打赏
  • 举报
回复
跟计算机体系结构,操作系统方面的知识,还要了解一下汇编,你大概就能清除了。
onecl1 2010-06-22
  • 打赏
  • 举报
回复
没人帮你我来吧!
等等,我先去研究下编译原理、WIND核心编程。。
你等我2年
lvshaoqing 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 taodm 的回复:]
要能几句话就说清楚,那值得那些大师写那么厚的书来讲计算机体系结构么?
[/Quote]

同意。
cs_yagami 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 zheyimiao 的回复:]
我想知道操作系统是怎么执行程序的, 具体的流程.用CPU, 寄存器, 内存, 虚拟内存, 应用程序地址空间这些东西来说明,即我想知道其执行程序的物理过程.可以参考下面这段最简单的程序来说明.

大家不要全说宏观的东西哈,什么系统执行代码段,然后到数据段找到数据之类的等等.也不要推荐我去看啥核心编程之类的.
我想一次性的搞清楚这个物理流程,因为我发现很多程序员一辈子都停留在表面,一辈子都在讨论……
[/Quote]
所以你學會了可以幹嘛?

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧