新页面
跳到导航
跳到搜索
(最新 | 最旧) 查看(前50个 | 后50个)(20 | 50 | 100 | 250 | 500)
- 2022年3月23日 (三) 11:31 CPU Registers x86-64 (历史 | 编辑) [11,616字节] Zhang3(讨论 | 贡献) (创建页面,内容为“Category:CPU_Registers {{Disputed|Talk:CPU_Registers_x86-64}} == 通用寄存器 == {| class="wikitable" border="1" |- ! colspan=5 | 名称(Monikers) ! rowspan=2 | 描述 |- ! 64-bit ! 32-bit ! 16-bit ! 低16位中的8高位 ! 8-bit |- | RAX | EAX | AX | AH | AL | 累加器(Accumulator) |- | RBX | EBX | BX | BH | BL | 基址(Base) |- | RCX | ECX | CX | CH | CL | 计数器(Counter) |- | RDX | EDX | DX | DH | DL | 数据(Data - 通常用于扩展A寄…”)
- 2022年3月23日 (三) 11:29 MSR (历史 | 编辑) [38字节] Zhang3(讨论 | 贡献) (重定向页面至Model Specific Registers) 标签:新建重定向
- 2022年3月23日 (三) 08:06 VGA Fonts (历史 | 编辑) [9,678字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{TutorialTone}} 你已知道如何在文本模式下显示字符,现在你想要在图形模式下执行此操作。(译者注:内核中文本模式的显示方式是使用BIOS软中断INT指令,调用BIOS功能) 这并不复杂,但绝对比在内存中的特定偏移量下编写ASCII代码更复杂。 你必须逐像素地绘制。 但是你怎么知道该画什么呢? 它存储在称为位图字体(bitmap fonts)的数据矩阵中。 ==…”)
- 2022年3月23日 (三) 07:04 VGA Resources (历史 | 编辑) [2,163字节] Zhang3(讨论 | 贡献) (创建页面,内容为“Category:VGA == VGA 资源 == * 本Wiki * [http://www.google.com/search?hl=en&ie=UTF-8&q=VGA+registers+programming&btnG=Google+Search 谷歌搜索“VGA寄存器编程”], * [http://files.osdev.org/mirrors/geezer/osd/graphics/index.htm OSD: Graphics] 来自Chris Giese,包含许多代码片段。 * [http://web.archive.org/web/20140218012818/http://atschool.eduweb.co.uk/camdean/pupils/amac/vga.htm Tutorial on VGA graphics] 包括字体…”)
- 2022年3月23日 (三) 06:18 Multiboot (历史 | 编辑) [6,135字节] Zhang3(讨论 | 贡献) (创建页面,内容为“'''Multiboot'''多重引导规范是一个开放标准,它为内核提供了一种由兼容Multiboot的引导加载程序引导的统一方式。 多引导规范的参考实现由GRUB提供。 == Multiboot 1 == 最初的Multiboot是由布莱恩·福特和埃里希·斯特凡·博林·1995年创建的。 从那时起,它就已经被自由软件基金会发展和更新。 与Multiboot 1兼容的内核使用幻数0x1BADB002,而与Multiboot兼容的引…”)
- 2022年3月23日 (三) 05:49 GRUB (历史 | 编辑) [18,568字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{TutorialTone}} '''GRUB''' 是GNU项目的bootloader。(译者注:以后计划不再翻译Bootloader,英文来看是一个很明确的名词,但是翻译成“引导加载程序”以后像一个动词开头,译者的脑子经常要额外反应一下。) 当前版本2系列具有比 GRUB 0.97 (通常称为 “GRUB Legacy”) 更完整的功能集。 == 历史 == GRUB版本2以 [http://www.nongnu.org/pupa/ PUPA] (PUPA也有蛹的…”)
- 2022年3月22日 (二) 13:02 Why do I need a Cross Compiler? (历史 | 编辑) [44字节] Zhang3(讨论 | 贡献) (重定向页面至Why do I need a Cross Compiler) 标签:新建重定向
- 2022年3月22日 (二) 09:05 Detecting Memory (x86) (历史 | 编辑) [44,579字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{Bias}} 操作系统初始化自身所需的最重要信息之一是对于机器上可用RAM的映射。(译者注:本文讨论了操作系统如何检测计算机有多少实际物理内存,并找到它们的访问地址的实现,建议同时参考阅读x86内存映射。本文分成了独立的全部原理讲解和全部代码示例两部分,如果你只关心一种做法,可以跳过一部分,前后结合着读。) 从…”)
- 2022年3月22日 (二) 06:46 IRQ (历史 | 编辑) [24字节] Zhang3(讨论 | 贡献) (重定向页面至Interrupts) 标签:新建重定向
- 2022年3月22日 (二) 06:45 Memory Map (x86) (历史 | 编辑) [7,604字节] Zhang3(讨论 | 贡献) (创建页面,内容为“本文描述BIOS跳转到自制bootloader代码时计算机物理内存的内容。(译者注:Bootloader可以翻译为引导加载程序,但是这样翻译很容易把前面的“引导”当作单个动词理解,引起误解,所以本文不再翻译了) == 实模式地址空间 (< 1 MiB)== 当一台典型的x86 PC启动时,它将处于实模式,带有一个活动的BIOS。 在CPU保持在实模式期间,IRQ0(时钟)将重…”)
- 2022年3月21日 (一) 07:41 ELF (历史 | 编辑) [15,998字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{File formats}} ELF (可执行和可链接格式-Executable and Linkable Format) 是由Unix系统实验室在SVR4上与Sun Microsystems一起工作时设计的 (UNIX System V Release 4.0)。 因此,ELF最早出现在基于SVR4的Solaris 2.0(又名SunOS 5.0)中。 格式在System V ABI中规范化。 它是一种非常通用的文件格式,后来被许多其他操作系统用作可执行文件和共享库文件。 它确实区分了TEXT、DATA和B…”)
- 2022年3月21日 (一) 05:29 HPET (历史 | 编辑) [13,061字节] Zhang3(讨论 | 贡献) (创建页面,内容为“:''本页不是对HPET的完整描述,只是一个轻量级的介绍。 如果你需要本文未涵盖的任何信息,请参考[http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/software-developers-hpet-spec-1-0a.pdf HPET规范]。'' '''HPET'''或高精度事件定时器(High Precision Event Timer),是英特尔和微软设计的一款硬件,用于取代较旧的 PIT 和 RTC。 它由(通常为64位)主…”)
- 2022年3月20日 (日) 15:10 APIC (历史 | 编辑) [18,426字节] Zhang3(讨论 | 贡献) (创建页面,内容为“APIC(“高级可编程中断控制器-Advanced Programmable Interrupt Controller”)是针对旧版PIC的最新英特尔标准。 它用于多处理器系统,是所有最新的英特尔(和兼容的)处理器的组成部分。 APIC用于复杂的中断重定向,以及在处理器之间发送中断。 使用旧的PIC规范无法实现这些功能。 ==检测== CPUID.01h:EDX [位9] 标志指定CPU是否具有内置的本地APIC。 通过解析[…”)
- 2022年3月20日 (日) 11:03 RTL8169 (历史 | 编辑) [12,075字节] Zhang3(讨论 | 贡献) (创建页面,内容为“'''RTL8169(S)-32/64网络接口芯片组编程指南''' RTL8169是Realtek的下一代高性能网卡。 这种特殊的芯片组被设计为以10/100/1000 Mbps的速度运行。 ==识别== RTL8169系列的基本接口在几个Realtek网卡中是通用的。 这适用于以下来自FreeBSD的re驱动程序的PCI供应商和设备id的非全面列表: * 10ec:8161 * 10ec:8168 * 10ec:8169 * 1259:c107 * 1737:1032 * 16ec:0116 ==基本启动== ===获取MAC…”)
- 2022年3月20日 (日) 10:36 Building GCC (历史 | 编辑) [9,684字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{Rating|1}} 在本教程中,我们将你的系统 GCC 升级到最新版本。(译者注:本文主要说明了从源代码构建GCC的过程,这个过程中通过现有GCC构建GCC,是一个Bootstrap自举过程。注意这里不是要构建交叉编译器,就是构建一个普通主机Host编译器) 这将帮助你构建GCC交叉编译器,在构建交叉编译器时更建议你使用相同版本的编译器。 其…”)
- 2022年3月19日 (六) 23:55 Model Specific Registers (历史 | 编辑) [2,245字节] Zhang3(讨论 | 贡献) (创建页面,内容为“P6系列以后的处理器(包括PentiumPro、Pentium II、III、4和Intel Core)有一组寄存器,允许配置与操作系统相关的内容,如内存类型范围、syscenter/sysexit、本地APIC等。 可以使用RDMSR(读MSR)、WRMSR(写MSR)和RDTSC等特殊指令访问这些'''MSRs'''。 == 访问特定模型寄存器(Model Specific Registers) == RDMSR和WRMSR指令组访问的每个MSR都由一个32位整数标识。 MSR是64位宽的。 你…”)
- 2022年3月19日 (六) 12:54 Protected mode (历史 | 编辑) [28字节] Zhang3(讨论 | 贡献) (重定向页面至Protected Mode) 标签:新建重定向
- 2022年3月19日 (六) 12:52 Interrupt Service Routines (历史 | 编辑) [8,418字节] Zhang3(讨论 | 贡献) (创建页面,内容为“x86体系结构是一个中断驱动的系统。 外部事件触发中断 - 中断正常控制流,并调用'''中断服务例程'''(ISR-Interrupt Service Routine)。 这样的事件可以由硬件或软件触发。 硬件中断的一个例子是键盘: 每按一次键,键盘就会触发IRQ1(中断请求1),并调用相应的中断处理程序。 定时器和磁盘请求完成是硬件中断的其他可能来源。 软件…”)
- 2022年3月19日 (六) 12:14 Non Maskable Interrupt (历史 | 编辑) [4,379字节] Zhang3(讨论 | 贡献) (创建页面,内容为“'''不可屏蔽中断''' ('''NMI-Non-Maskable Interrupt''')是硬件驱动的中断,与PIC中断非常相似,但NMI要么直接进入CPU,要么通过另一个控制器(例如ISP)---在这种情况下,它可以被屏蔽。 == 关于 == NMI用于RAM错误和不可恢复的硬件问题。 对于较新的计算机,可以使用机器检查异常和(或)SMI来处理这些事情。 对于最新的芯片组 (至少对于英特尔而言),还有一堆TCO…”)
- 2022年3月19日 (六) 11:49 RSDP (历史 | 编辑) [3,609字节] Zhang3(讨论 | 贡献) (创建页面,内容为“'''RSDP''' (根系统描述指针-Root System Description Pointer) 是 ACPI 编程接口中使用的数据结构。 在ACPI版本1.0中,它具有以下结构: <source lang="c"> struct RSDPDescriptor { char Signature[8]; uint8_t Checksum; char OEMID[6]; uint8_t Revision; uint32_t RsdtAddress; } __attribute__ ((packed)); </source> 从2.0版开始,对其进行了扩展,并添加了以下新字段: <source lang="c"> struct RSDPDescriptor20 {…”)
- 2022年3月19日 (六) 10:01 AML (历史 | 编辑) [10,127字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{stub}} ACPI机器语言(AML)是ACPI使用的与平台无关的代码。 甚至需要关闭计算机的知识。 它可以在DSDT和SSDT表中找到,这两个表依次通过解析RSDT或XSDT来找到。 AML代码是在读取每个表时从该表的开头开始解析的字节代码。 它包含ACPI命名空间内的设备和对象的定义。 通过解析代码,注意所有适当的控制流语句,AML解释器可以建立系统内所有…”)
- 2022年3月19日 (六) 09:43 PCI Express (历史 | 编辑) [7,780字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{In Progress}} PCI Express总线是一种向后兼容的高性能通用I/O互连总线,专为一系列计算平台设计。 与PCI本地总线相比,PCI Express的主要改进之一是它现在使用串行接口(与PCI使用的并行接口相比)。 这种改进可以与ATA接口的类似序列化进行比较。 ==PCI Express链接== PCI Express总线通过一对高速单向差分链路(分别为发送和接收)将每个设备直接连接到CPU和…”)
- 2022年3月18日 (五) 10:04 Task State Segment (历史 | 编辑) [8,969字节] Zhang3(讨论 | 贡献) (创建页面,内容为“'''任务状态段''' ('''TSS-Task State Segment''') 是特定于IA-32和X86-64体系结构的二进制数据结构。 它保存有关任务的信息。 在 '''保护模式''' 中,'''TTS'''; 主要适用于 '''硬件任务切换''',其中每个单独的 '''任务''' 都有自己的 '''TSS'''。 在软件多任务…”)
- 2022年3月18日 (五) 09:29 Physical Address Extension (历史 | 编辑) [1,823字节] Zhang3(讨论 | 贡献) (创建页面,内容为“本文讨论了许多x86处理器上可用的物理地址扩展(PAE-Physical Address Extension)。 本文假设您对虚拟内存有很好的理解(如分页中所讨论的)。 本文还讨论了特定于x86的功能,尽管其他体系结构很容易具有非常相似的机制。 ==历史== PAE位是在Intel Pentium Pro处理器中引入的。 它专门旨在允许32位操作系统使用超过4 GB的内存。 ==工作原理== 当PAE位关闭…”)
- 2022年3月18日 (五) 09:27 PAE (历史 | 编辑) [40字节] Zhang3(讨论 | 贡献) (重定向页面至Physical Address Extension) 标签:新建重定向
- 2022年3月18日 (五) 09:11 Higher Half Kernel (历史 | 编辑) [2,927字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{Stub}} {{Template:Kernel designs}} 向每个用户进程中映射内核是传统做法的,通常也是比较好的做法。 例如,Linux和许多其它类Unix系统内核驻留在每个地址空间的虚拟地址 “0XC0000000-0XFFFFFFFF”,用户代码、数据、堆栈、库等的范围为 “0x00000000-0xbffffff”。 有这种设计的内核因为相对与应用程序,内核使用了“higher half(高一半)”的虚拟地址空间。(译…”)
- 2022年3月18日 (五) 07:17 Heap (历史 | 编辑) [1,956字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{Stub}} Category:Memory management = 堆(Heap) = 堆是应用程序和内核的重要组成部分。 它通常还被更高级别的内存管理所取代,后者处理更大的内存块。 对于大多数操作系统,内存将基于页面或其他大块分配。 X86和X64体系结构上的页面通常为4KB,但也可以更大。 但是,对于较小的分配,整个页面都会被浪费。 例如,如果您只需要24个字节,并且分配了…”)
- 2022年3月18日 (五) 07:06 Interrupt (历史 | 编辑) [24字节] Zhang3(讨论 | 贡献) (重定向页面至Interrupts) 标签:新建重定向
- 2022年3月18日 (五) 07:03 Exceptions (历史 | 编辑) [16,053字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{| align="right" | __TOC__ |} 如本文所述'''异常(Exceptions)''',是CPU在发生 “错误” 时生成的一种中断。 在大多数情况下,有些异常并不是真正的错误,例如页面错误。 例外情况分类为: * '''错误(故障)-Faults''': 这些可以更正,程序可能会像什么都没发生一样继续进行。 * '''陷阱-Traps''': 陷阱在执行陷阱指令后立即报告。 * ''…”)
- 2022年3月18日 (五) 03:18 Exception (历史 | 编辑) [24字节] Zhang3(讨论 | 贡献) (重定向页面至Exceptions) 标签:新建重定向
- 2022年3月18日 (五) 03:14 Uniform Driver Interface (历史 | 编辑) [15,319字节] Zhang3(讨论 | 贡献) (创建页面,内容为“Category:Uniform Driver Interface Category:Drivers Category:Driver Interfaces thumb|alt=Logo|The official Project UDI logo '''UDI复兴计划在Freenode(irc.freenode.net)上维护一个名为#udi的IRC频道'''。 欢迎加入并提出问题。 UDI代表“统一驱动程序接口(Uniform Driver Interface)”。 它是框架和驱动程序API/ABI的规范,使不同的操作系统(实现UDI框架)能够…”)
- 2022年3月17日 (四) 15:22 Hardware Abstraction Layer (历史 | 编辑) [1,200字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{Stub}} == 硬件抽象层 == “硬件抽象层”或HAL(Hardware Abstraction Layer)是对实际硬件的抽象, 以便即使底层硬件改变或同一设备类别的不同型号在它们的实现和实际接口上有很大变化,也向软件呈现一致的接口。 HAL允许程序员以一致且基本上与型号/品牌无关的方式编写设备驱动程序,它甚至可能将内核与许多已安装的硬件隔离开来。 使用HAL的操作…”)
- 2022年3月17日 (四) 15:10 X86 (历史 | 编辑) [26字节] Zhang3(讨论 | 贡献) (重定向页面至分类:X86) 标签:新建重定向
- 2022年3月17日 (四) 15:09 Scheduler (历史 | 编辑) [34字节] Zhang3(讨论 | 贡献) (重定向页面至Processes and Threads) 标签:新建重定向
- 2022年3月17日 (四) 15:08 PIT (历史 | 编辑) [41字节] Zhang3(讨论 | 贡献) (重定向页面至Programmable Interval Timer) 标签:新建重定向
- 2022年3月17日 (四) 15:02 Compositing (历史 | 编辑) [4,149字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{In Progress}} '''Compositing'''是一种提供窗口化GUI的方法,其中每个应用程序窗口都有自己的专用缓冲区 - 有时称为''surface''或''canvas'' - 它可以随心所欲地画画。(译者注:好像在应用层开发中不怎么这样用这些术语,所以保留原文了。或者翻译为“图形复合功能”) 然后,“合成器(compositor)”将这些缓冲区组合在一起,以生成最终图像并显示在屏幕…”)
- 2022年3月17日 (四) 08:00 Shell (历史 | 编辑) [44字节] Zhang3(讨论 | 贡献) (重定向页面至Introduction#What is a shell?) 标签:新建重定向
- 2022年3月17日 (四) 07:58 Networking (历史 | 编辑) [27字节] Zhang3(讨论 | 贡献) (重定向页面至Network Stack) 标签:新建重定向
- 2022年3月17日 (四) 07:57 User Interface (历史 | 编辑) [861字节] Zhang3(讨论 | 贡献) (创建页面,内容为“{{Stub}} <b>用户界面-User Interface</b> 或 <b>UI</b> 是人机(human-machine)界面的子类别,在操作系统项目中起着重要作用。 术语“UI”描述操作系统或应用程序与用户的交互。 另一方面,用户与OS或更确切地说是应用程序的交互是人机界面的另一个子类别。 如今,此界面是视觉的,也有一些OS的触觉支持,例如振动或听觉的用于通知和反馈。 该界面将形成用户…”)
- 2022年3月17日 (四) 07:51 Time (历史 | 编辑) [27字节] Zhang3(讨论 | 贡献) (重定向页面至Time And Date) 标签:新建重定向
- 2022年3月17日 (四) 07:50 Keyboard (历史 | 编辑) [27字节] Zhang3(讨论 | 贡献) (重定向页面至PS/2 Keyboard) 标签:新建重定向
- 2022年3月17日 (四) 07:42 Formatted Printing (历史 | 编辑) [3,051字节] Zhang3(讨论 | 贡献) (创建页面,内容为“本文将介绍格式化打印的概念(即 ''printf()'')。 ==''printf()''是如何工作的?== 你迈向获得可靠的 ''printf()'' 功能的第一步是对其工作的理解。 你有没有试过模仿“va_list”(参数列表)并且带''void**'',比如说一种特定的语言,(译者注:这里原作者似乎使用特殊排版格式,打乱了原句单词的位置,无法正确翻译)比如... 总原则和目标 - 本地化 -…”)
- 2022年3月17日 (四) 07:11 Calling Global Constructors (历史 | 编辑) [17,707字节] Zhang3(讨论 | 贡献) (创建页面,内容为“本教程讨论如何正确调用全局构造函数,例如全局C++对象上的构造函数。 这些应该在你的main函数之前运行,这就是为什么程序入口点通常是一个名为 _start的函数。 此函数负责解析命令行参数,初始化标准库(内存分配、信号等),运行全局构造函数并最终exit(main(argc, argv))。 如果你更改编译器,自制操作系统上的情况可能会有所不同,但是如果你使…”)
- 2022年3月17日 (四) 03:00 GCC Cross Compiler (历史 | 编辑) [32字节] Zhang3(讨论 | 贡献) (重定向页面至GCC Cross-Compiler) 标签:新建重定向
- 2022年3月16日 (三) 12:19 Shutdown (历史 | 编辑) [2,112字节] Zhang3(讨论 | 贡献) (创建页面,内容为“为了关闭计算机,你需要使用某种电源管理。 要么是APM要么是ACPI。 == APM == 这是关闭计算机必须给出的APM命令的基本序列。 有关如何实施这些步骤的详细信息,请参阅 APM 文章。 * 执行安装检查。 *检查APM版本是否至少为‘1.1 * 断开任何现有的APM接口。 * 连接实模式接口。 * 告诉APM你的驱动支持1.1版 * 为所有设备启用电源管理。 * 将所有设…”)
- 2022年3月16日 (三) 08:25 ACPI (历史 | 编辑) [2,998字节] Zhang3(讨论 | 贡献) (创建页面,内容为“ACPI(Advanced Configuration and Power Interface,高级配置和电源接口)是由Intel、Microsoft和Toshiba联合开发的PC电源管理和配置标准。 ACPI允许操作系统控制每个设备的电量 (例如,允许其使某些设备处于待机状态或断电状态)。 它还用于控制和/或检查热区(温度传感器、风扇速度等)、电池电量、PCI IRQ路由、CPU、NUMA域和许多其他内容。 ==…”)
- 2022年3月16日 (三) 06:32 IDT (历史 | 编辑) [40字节] Zhang3(讨论 | 贡献) (重定向页面至Interrupt Descriptor Table) 标签:新建重定向
- 2022年3月16日 (三) 06:32 I Can't Get Interrupts Working (历史 | 编辑) [9,522字节] Zhang3(讨论 | 贡献) (创建页面,内容为“此页面是一种故障排除手册,可帮助您解决论坛来宾和成员在论坛上遇到的常见中断框架问题 请确保你收集了关于自己情况的足够信息(例如在Bochs中运行代码)。 == ISR问题 == === 我的处理程序没有被调用?!(汇编) === 对于这个测试,你需要通过软件自己调用中断。 在确定IDT设置正确之前,不要尝试从一开始就处理IRQ。 你需要有: *…”)
- 2022年3月16日 (三) 06:27 IDT problems (历史 | 编辑) [63字节] Zhang3(讨论 | 贡献) (重定向页面至I Can't Get Interrupts Working#Problems with IDTs) 标签:新建重定向
- 2022年3月16日 (三) 02:13 Interrupt Descriptor Table (历史 | 编辑) [14,526字节] Zhang3(讨论 | 贡献) (创建页面,内容为“'''中断描述符表'''('''IDT-Interrupt Descriptor Table''')是特定于IA-32和x86-64体系结构的二进制数据结构。 它是实模式里中断向量表(IVT)的保护模式和长模式对应物,用以告诉CPU中断服务例程 (ISR-Interrupt Service Routines) 所在的位置 (一个中断向量代表一个例程)。 它在结构上类似于G…”)