所有公开日志

跳到导航 跳到搜索

所有osdev公开日志的联合展示。您可以通过选择日志类型、输入用户名(区分大小写)或相关页面(区分大小写)筛选日志条目。

日志
最新 | 最旧) 查看( | )(20 | 50 | 100 | 250 | 500
  • 2022年3月25日 (五) 03:28 Zhang3 讨论 贡献创建了页面分类:Troubleshooting (创建页面,内容为“当你在开发你的操作系统时遇到困难。 Category:OS Development”)
  • 2022年3月25日 (五) 03:27 Zhang3 讨论 贡献创建了页面分类:Bare bones tutorials (创建页面,内容为“Category:Tutorials”)
  • 2022年3月25日 (五) 02:55 Zhang3 讨论 贡献创建了页面Printing To Screen (创建页面,内容为“==基础知识== 假设您处于 保护模式 并且不使用 BIOS 将文本写入屏幕,则您将直接写入 “视频” 存储器。 这很容易。 彩色显示器的文本屏幕视频存储器位于<tt>0xB8000</tt>,单色显示器的文本屏幕视频存储器位于地址<tt>0xB0000</tt> (有关更多信息,请参见 检测彩色和单色显示器)。 文本模式内存对屏幕…”)
  • 2022年3月25日 (五) 02:34 Zhang3 讨论 贡献创建了页面Detecting Colour and Monochrome Monitors (创建页面,内容为“检测用户是否拥有彩色或单色视频卡是一项微不足道的任务。 BIOS 数据段中包含此信息的值。 下面是一个来检索这个的函数 (在ISO C中) : == 函数== <source lang="c"> #include <stdint.h> enum video_type { VIDEO_TYPE_NONE = 0x00, VIDEO_TYPE_COLOUR = 0x20, VIDEO_TYPE_MONOCHROME = 0x30, }; uint16_t detect_bios_area_hardware(void) { const uint16_t* bda_de…”)
  • 2022年3月25日 (五) 02:30 Zhang3 讨论 贡献创建了页面Binutils (创建页面,内容为“{{In Progress}} {{Stub}} GNU二进制实用程序 (通常称为binutils) 是一组用于创建和处理二进制文件的工具。 交叉编译binutils的说明可以在GCC交叉编译器页面上找到。 == Binutils Applications == 请注意,此列表并不完整。 {| {{wikitable}} |- | as || GNU Assembler |- | ld || GNU Linker |- | ar || 归档器(Archiver),用于创建库 |- | objdump || 显示有…”)
  • 2022年3月25日 (五) 02:27 Zhang3 讨论 贡献创建了页面Link Archiver (创建页面,内容为“{{Stub}} {{Infobox_Tool |name=GNU Archiver |website=http://www.gnu.org/software/binutils/ }} GNU '''ar'''是一个存档多个文件的实用程序,是binutils包的一部分。 它用于将一组文件合并为一个文件。 这样就可以压缩、发送文件,或者最重要、最常见的是将文件链接到程序中。 ==用法== 这个工具本身就像它的目的一样简单。用于存档一系列目标文件: <source lang="bash">ar -rcs a…”)
  • 2022年3月25日 (五) 01:36 Zhang3 讨论 贡献创建了页面802.11 (创建页面,内容为“{{Stub}} '''IEEE 802.11'''标准是一套描述无线局域网通信的标准。 这802.11个频段目前为2.4GHz、3.6GHz和5GHz。 该标准主要由IEEE 802.11工作组开发。 ==协议和修订== === 802.11 (1997 original) === 802.11标准的第一个版本于1997年发布,现在称为802.11 Legacy标准,规定在2.4GHz范围内以每秒1或2兆比特(Mbps)的速度传输无线信息。 === 802.11a === 1999年发布的802.11a标准规定了在5GHZ…”)
  • 2022年3月24日 (四) 12:07 Zhang3 讨论 贡献创建了页面NVMe (创建页面,内容为“[https://nvmexpress.org/resources/specifications/ NVMe规范] 可以在这里找到。 关于这个页面的论坛帖子[https://forum.osdev.org/viewtopic.php?f=8&t=36366 在这里]。 ==概述== * NVMe控制器可以作为具有类代码1和子类代码8的PCI设备找到。 * 它的寄存器可以通过BAR 0进行访问(应该是64位内存IO)。 * 控制器处理从“submission queues(提交队列)”提交给它的命令(commands)。 驱动…”)
  • 2022年3月24日 (四) 09:15 Zhang3 讨论 贡献创建了页面模板:Floats (创建页面,内容为“{{SmallNavBox | width:200px; |Name=实数、协处理器和向量单元 |Group0=技术 |List0=<div> Floating Point Number </div> |Group1=X86 实现 |List1=<div> X87 FPU<br> MMX<br> SSE<br> AVX<br> </div>}}”)
  • 2022年3月24日 (四) 09:14 Zhang3 讨论 贡献创建了页面SSE (创建页面,内容为“{{Floats}} ''' 流式单指令多数据扩展 (SSE-Streaming SIMD Extensions) ''' == Streaming SIMD Extensions (SSE) == === 简介 === 奔腾III中引入了SSE,并为英特尔指令集额外提供了70条指令。 SSE指令可以帮助增加由于单指令,多数据 (SIMD) 指令的数据。 这些指令可以在多个数据上并行执行公共表达式。 SSE附带8个(64位模式下为16个)XMM寄存器(XMM0-7(15)),它们是128位寄存器。…”)
  • 2022年3月24日 (四) 08:31 Zhang3 讨论 贡献创建了页面Porting GCC to your OS (创建页面,内容为“{{Rating|4}} {{In Progress}} * 阅读GCC交叉编译器。 * 制作一个特定于操作系统的工具链。 * 阅读自托管GCC交叉编译(Hosted GCC Cross-Compiler)。 * 有完备的 C Library。 GCC是相当可移植的,需要C标准库和POSIX的一些扩展。 例如,它需要fork和exec来运行汇编器和链接器。 你将需要一个C++标准库 (例如libst…”)
  • 2022年3月24日 (四) 08:09 Zhang3 讨论 贡献创建了页面Cross-Compiler Successful Builds (创建页面,内容为“此页面是OSDev.org成员成功构建GCC交叉编译器的摘要。 这些数字指的是正在构建(译者注:应该指的是交叉编译器)的版本,而不是执行构建的主机编译器。 == GCC Version 11.x.x == {| {{wikitable}} |- style="height: 6em;" ! ↓ GCC / Binutils → ! style="transform: rotate(-90deg);max-width: 2em;" | 2.37 ! style="transform: rotate(-90deg);max-width: 2em;" | 2.36.1 ! style="…”)
  • 2022年3月24日 (四) 08:01 Zhang3 讨论 贡献创建了页面模板:Sole Editor (创建页面,内容为“{{NoteBox|这篇文章写得好像只有一个作者。这是一个wiki,不是个人网站。您可以通过 {{EditThis|编辑}} 这篇文章来帮助本wiki减少对单作者的依赖。}}”)
  • 2022年3月24日 (四) 07:58 Zhang3 讨论 贡献创建了页面Raspberry Pi (创建页面,内容为“{{In Progress}} {{FirstPerson}} {{Sole Editor}} 这是关于Raspberry Pi上裸机[OS]开发的教程。 本教程是专门为Raspberry PI Model B Rev2编写的,因为作者没有其他硬件可以测试。 但是到目前为止,从本教程的目的出发,这些型号基本上是相同的 (Rev 1有256MB ram,Model A没有以太网)。 这是作者的第一个ARM系统,我们在写作时学习,没有任何关于ARM的知识。 假定并要求具备Li…”)
  • 2022年3月24日 (四) 05:31 Zhang3 讨论 贡献创建了页面分类:ARM (创建页面,内容为“Category:Platforms”)
  • 2022年3月24日 (四) 05:29 Zhang3 讨论 贡献创建了页面IA32 Architecture Family (创建页面,内容为“下表和注释概述了所生产的基于x86的处理器(其中大多数处理器至今仍以某种形式提供)。 这些表仅供参考,确定CPU功能(至少在较新的CPU中)的最可靠方法是使用CPUID。 该表相当容易阅读,但还是对某些值进行了帮助注释。 标有 '''Yes''' 的值在该系列的所有CPU中都可用,没有例外。 标有 '''No''' 的项目根本不可用。 在某些cpu (可能是更高规格的计…”)
  • 2022年3月24日 (四) 05:26 Zhang3 讨论 贡献创建了页面模板:Maybe (创建页面,内容为“style="background: #ffff99" | {{{1|Maybe}}}”)
  • 2022年3月24日 (四) 02:38 Zhang3 讨论 贡献创建了页面Virtual Monitor (创建页面,内容为“Virtual Monitor是在虚拟8086模式中设置和控制任务所需的一段代码。 == 要求 == * 必须启用保护模式 * 必须支持中断服务例程,更具体地说,必须支持GPF(一般保护异常)的工作异常处理程序。 == 相关工作 == 嗯,你主要有两种风格: 要么你可以创建一个独立的任务,它将在你的操作系统中在V86模式下…”)
  • 2022年3月24日 (四) 01:56 Zhang3 讨论 贡献创建了页面GPF (重定向页面至Exceptions#General Protection Fault 标签新建重定向
  • 2022年3月24日 (四) 01:48 Zhang3 讨论 贡献创建了页面Virtual 8086 Mode (创建页面,内容为“虚拟8086模式是保护模式的子模式。 简而言之,虚拟8086模式是在保护模式下运行的CPU“模拟(Emulated)”得到的16位实模式机器。 == 进入V86 == 当在EFLAGS寄存器中设置VM位(位17)为1时,CPU在虚拟86模式下执行。 如果要进入虚拟86模式,则必须将此位设置为1。 修改EFLAG寄存器的一种方法是使用pushf和popf指令。 这些指令分别推送和弹出堆栈…”)
  • 2022年3月23日 (三) 11:41 Zhang3 讨论 贡献创建了页面分类:Task Models (创建页面,内容为“Category:Processes and Threads”)
  • 2022年3月23日 (三) 11:35 Zhang3 讨论 贡献创建了页面X86-64 (创建页面,内容为“{{DISPLAYTITLE:x86-64}} 本文讨论'''x86-64'''CPU(AMD64和Intel的等效EM64T实现)。 IA-64 (Itanium) 是 '''真的'''比较独特,这里不讨论。 ==特性== ===长模式=== 长模式将通用寄存器扩展到64位 (RAX,RBX,RIP,RSP,RFLAGS等),并添加了八个额外的整数寄存器 (R8,R9,...,R15) 以及八个SSE寄存器 (XMM8至XMM15) 到CPU。 线性地址扩展到64位(然而,特定的CPU可能实现的小于64位…”)
  • 2022年3月23日 (三) 11:31 Zhang3 讨论 贡献创建了页面CPU Registers x86-64 (创建页面,内容为“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 Zhang3 讨论 贡献创建了页面MSR (重定向页面至Model Specific Registers 标签新建重定向
  • 2022年3月23日 (三) 08:06 Zhang3 讨论 贡献创建了页面模板:EditThis (创建页面,内容为“[{{fullurl:{{FULLPAGENAME}}|action=edit}} {{{1}}}]”)
  • 2022年3月23日 (三) 08:06 Zhang3 讨论 贡献创建了页面VGA Fonts (创建页面,内容为“{{TutorialTone}} 你已知道如何在文本模式下显示字符,现在你想要在图形模式下执行此操作。(译者注:内核中文本模式的显示方式是使用BIOS软中断INT指令,调用BIOS功能) 这并不复杂,但绝对比在内存中的特定偏移量下编写ASCII代码更复杂。 你必须逐像素地绘制。 但是你怎么知道该画什么呢? 它存储在称为位图字体(bitmap fonts)的数据矩阵中。 ==…”)
  • 2022年3月23日 (三) 07:06 Zhang3 讨论 贡献创建了页面分类:VGA (创建页面,内容为“此类别列出了描述 IBM VGA 的所有主题 Category:Video”)
  • 2022年3月23日 (三) 07:04 Zhang3 讨论 贡献创建了页面VGA Resources (创建页面,内容为“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 Zhang3 讨论 贡献创建了页面Multiboot (创建页面,内容为“'''Multiboot'''多重引导规范是一个开放标准,它为内核提供了一种由兼容Multiboot的引导加载程序引导的统一方式。 多引导规范的参考实现由GRUB提供。 == Multiboot 1 == 最初的Multiboot是由布莱恩·福特和埃里希·斯特凡·博林·1995年创建的。 从那时起,它就已经被自由软件基金会发展和更新。 与Multiboot 1兼容的内核使用幻数0x1BADB002,而与Multiboot兼容的引…”)
  • 2022年3月23日 (三) 05:51 Zhang3 讨论 贡献创建了页面分类:GRUB (创建页面,内容为“GRUB 或 GRand Unified Bootloader 是 GNU 引导加载程序,也是大多数常见 Linux 发行版的默认引导加载程序。有一个旧版本,以及更现代的 GRUB 2。”)
  • 2022年3月23日 (三) 05:50 Zhang3 讨论 贡献创建了页面模板:TutorialTone (创建页面,内容为“<center style="border: 1px solid #cfcfbf; margin-top: 25px; margin-bottom: 25px; background-color: #f0f0ff; text-align: center;"> 这篇文章写得像个教程。请 {{EditThis|编辑它}}以添加更多信息和文档,而不仅仅是示例代码和分步说明。 </center> <includeonly>Category:Tone</includeonly>”)
  • 2022年3月23日 (三) 05:49 Zhang3 讨论 贡献创建了页面GRUB (创建页面,内容为“{{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 Zhang3 讨论 贡献创建了页面Why do I need a Cross Compiler? (重定向页面至Why do I need a Cross Compiler 标签新建重定向
  • 2022年3月22日 (二) 11:47 Zhang3 讨论 贡献上传文件:Exokernel.png
  • 2022年3月22日 (二) 11:47 Zhang3 讨论 贡献创建了页面文件:Exokernel.png
  • 2022年3月22日 (二) 09:11 Zhang3 讨论 贡献创建了页面分类:Bias (创建页面,内容为“这个类别列出了可能偏向某些观点的页面。”)
  • 2022年3月22日 (二) 09:09 Zhang3 讨论 贡献创建了页面模板:Warning (创建页面,内容为“<center> {|style="border: 1px solid #bfcfcf; padding: .0em .25em .0em; background-color: #fff0f0; text-align: center;" | '''警告:''' {{{1}}} |} </center>”)
  • 2022年3月22日 (二) 09:07 Zhang3 讨论 贡献创建了页面模板:Bias (创建页面,内容为“<center style="border: 1px solid #cfcfbf; margin-top: 25px; margin-bottom: 25px; background-color: #f0f0ff; text-align: center;"> 本文可能存在 '''可能对某些观点来说不平衡'''。请通过添加有关被忽视的观点信息[{{fullurl:{{FULLPAGENAME}}|action=edit}}改进本文]。 </center> <includeonly>Category:Bias</includeonly>”)
  • 2022年3月22日 (二) 09:05 Zhang3 讨论 贡献创建了页面Detecting Memory (x86) (创建页面,内容为“{{Bias}} 操作系统初始化自身所需的最重要信息之一是对于机器上可用RAM的映射。(译者注:本文讨论了操作系统如何检测计算机有多少实际物理内存,并找到它们的访问地址的实现,建议同时参考阅读x86内存映射。本文分成了独立的全部原理讲解和全部代码示例两部分,如果你只关心一种做法,可以跳过一部分,前后结合着读。) 从…”)
  • 2022年3月22日 (二) 06:46 Zhang3 讨论 贡献创建了页面IRQ (重定向页面至Interrupts 标签新建重定向
  • 2022年3月22日 (二) 06:45 Zhang3 讨论 贡献创建了页面Memory Map (x86) (创建页面,内容为“本文描述BIOS跳转到自制bootloader代码时计算机物理内存的内容。(译者注:Bootloader可以翻译为引导加载程序,但是这样翻译很容易把前面的“引导”当作单个动词理解,引起误解,所以本文不再翻译了) == 实模式地址空间 (< 1 MiB)== 当一台典型的x86 PC启动时,它将处于实模式,带有一个活动的BIOS。 在CPU保持在实模式期间,IRQ0(时钟)将重…”)
  • 2022年3月21日 (一) 07:41 Zhang3 讨论 贡献上传文件:Elfdiagram.png
  • 2022年3月21日 (一) 07:41 Zhang3 讨论 贡献创建了页面文件:Elfdiagram.png
  • 2022年3月21日 (一) 07:41 Zhang3 讨论 贡献创建了页面ELF (创建页面,内容为“{{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 Zhang3 讨论 贡献创建了页面HPET (创建页面,内容为“:''本页不是对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),是英特尔和微软设计的一款硬件,用于取代较旧的 PITRTC。 它由(通常为64位)主…”)
  • 2022年3月20日 (日) 15:10 Zhang3 讨论 贡献创建了页面APIC (创建页面,内容为“APIC(“高级可编程中断控制器-Advanced Programmable Interrupt Controller”)是针对旧版PIC的最新英特尔标准。 它用于多处理器系统,是所有最新的英特尔(和兼容的)处理器的组成部分。 APIC用于复杂的中断重定向,以及在处理器之间发送中断。 使用旧的PIC规范无法实现这些功能。 ==检测== CPUID.01h:EDX [位9] 标志指定CPU是否具有内置的本地APIC。 通过解析[…”)
  • 2022年3月20日 (日) 11:03 Zhang3 讨论 贡献创建了页面RTL8169 (创建页面,内容为“'''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 Zhang3 讨论 贡献创建了页面Building GCC (创建页面,内容为“{{Rating|1}} 在本教程中,我们将你的系统 GCC 升级到最新版本。(译者注:本文主要说明了从源代码构建GCC的过程,这个过程中通过现有GCC构建GCC,是一个Bootstrap自举过程。注意这里不是要构建交叉编译器,就是构建一个普通主机Host编译器) 这将帮助你构建GCC交叉编译器,在构建交叉编译器时更建议你使用相同版本的编译器。 其…”)
  • 2022年3月19日 (六) 23:55 Zhang3 讨论 贡献创建了页面Model Specific Registers (创建页面,内容为“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 Zhang3 讨论 贡献创建了页面Protected mode (重定向页面至Protected Mode 标签新建重定向
最新 | 最旧) 查看( | )(20 | 50 | 100 | 250 | 500