【问题标题】:structure of the windows OSwindows操作系统的结构
【发布时间】:2025-12-04 16:10:02
【问题描述】:

我对操作系统有一些了解(真的很少。) 我想详细了解 Windows 操作系统(例如 win 7)

我知道,它是目前最占主导地位的操作系统,我需要做大量的工作。 我从哪里开始?我应该阅读哪些初级/中级书籍/文章/网站?

我首先想知道的是编译器会将我的 C 程序转换为二进制代码,但是当我打开 (exe) 结果文件时,我发现不是 0 和 1。

【问题讨论】:

  • 我认为你在研究商业闭源操作系统方面不会走得太远。
  • 我只是想知道我能学到多少...
  • “我首先想知道的是编译器将我的 C 程序转换为二进制代码,但是当我打开 (exe) 结果文件时,我发现除了 0 和 1 之外的其他内容。”如果您要了解操作系统的内部工作原理,您必须了解一些有关计算机工作原理的基础知识。例如,您应该知道(原则上)如果您在 ASCII 文本编辑器中打开可执行文件 1) 和 2) 在十六进制编辑器中打开可执行文件会发生什么。如果你不知道这一点,你就不会理解操作系统是如何工作的。对不起。首先学习基础知识。
  • 我没有声称我知道操作系统的基础知识。我只知道一些关于操作系统的知识。有一种叫做多道程序的东西......有一种叫做时间共享的东西......有一种叫做 RTOS 的东西...这就是我所知道的
  • 从字面意义上说Windows是“关闭”的说法是不准确的-microsoft.com/resources/sharedsource/default.mspx

标签: windows operating-system


【解决方案1】:

就书籍而言,我无法为您指明方向,但我可以澄清一下:

我首先想知道的是编译器会将我的 C 程序转换为二进制代码,但是当我打开 (exe) 结果文件时,我发现不是 0 和 1。

您的程序实际上已编译为二进制文件。 您计算机上的所有内容都以二进制形式存储。

您看不到 1 和 0 的原因是字符编码的构成。存储一个字节需要 8 位,其值可以为 0 或 1。许多程序和字符编码将一个字节表示为一个字符(需要注意的是非 ASCII unicode 字符,但这在本次讨论中并不是非常重要)。

因此,您用来打开文件的程序正在解释 8 位序列并将这 8 位转换为一个字符。因此,您在打开文件时看到的每个字符实际上都是八个 1 和 0。字节和字符之间最基本的映射是ASCII。例如,字符“A”在二进制中表示为 01000001。因此,当您用来打开文件的程序看到该位序列时,它将在其位置显示“A”。

【讨论】:

    【解决方案2】:

    如果您对 Microsoft Windows 操作系统感兴趣,可以阅读 Microsoft 传奇人物 Raymond Chen 的 The Old New Thing。如果您是 Win32 程序员,这本书很容易阅读,即使您不是(即使您根本不是程序员!)许多章节仍然很容易阅读。

    否则,要了解 Microsoft Windows 操作系统,您需要了解 Windows API。你通过为Windows(native)平台编写程序来学习这个,官方文档很不错,是at MSDN

    【讨论】:

      【解决方案3】:

      有一系列名为“Windows Internals”的书籍可能会让您忙上几年的大部分时间。此外,众所周知,微软会向大学发布源代码以供学习......

      【讨论】:

        【解决方案4】:

        好吧,如果你学习win32 api,你会学到很多关于高级操作系统的知识 (petzold 为王,与 win7 无关,只是 win32....)

        如果你想学习底层,学习处理器汇编语言。

        【讨论】:

          【解决方案5】:

          一般来说,有大量用于学习操作系统的资源,其中许多并不真正专注于 Windows,因为正如 John 指出的那样,它非常封闭,在学术上不是很有用。您可能想查看Minix 之类的内容,这在学术上非常有用。它体积小、重量轻,主要用于教育目的。

          您可以从那里扩展到其他操作系统(即使是 Windows,只要您无法深入了解,就可以带您了解操作系统是什么和做什么,以及更多关于计算机本身的内部工作原理。 (例如,在我假设一个文本编辑器(例如记事本)中打开可执行代码以尝试查看 1 和 0,正如 cdhowie 雄辩地指​​出的那样,这并不是您认为的那样。)

          【讨论】:

            【解决方案6】:

            我会亲自研究 ReactOS 项目 - 一个工作 Windows 克隆。 代码con给出了一些关于windows是如何实现的想法......

            这里是网站: 万维网。反应堆。组织

            【讨论】:

            • 我在虚拟机中试用过这个操作系统。在我的生活中,我从未见过比这更糟糕的软件。 (但可能是由于虚拟化,谁知道呢。)
            最近更新 更多