新页面

跳到导航 跳到搜索
新页面
隐藏注册用户 | 显示机器人 | 显示重定向
最新 | 最旧) 查看( | )(20 | 50 | 100 | 250 | 500
  • 2022年3月20日 (日) 15:10APIC历史 | 编辑) ‎[18,426字节]Zhang3讨论 | 贡献 (创建页面,内容为“APIC(“高级可编程中断控制器-Advanced Programmable Interrupt Controller”)是针对旧版PIC的最新英特尔标准。 它用于多处理器系统,是所有最新的英特尔(和兼容的)处理器的组成部分。 APIC用于复杂的中断重定向,以及在处理器之间发送中断。 使用旧的PIC规范无法实现这些功能。 ==检测== CPUID.01h:EDX [位9] 标志指定CPU是否具有内置的本地APIC。 通过解析[…”)
  • 2022年3月20日 (日) 11:03RTL8169历史 | 编辑) ‎[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:36Building GCC历史 | 编辑) ‎[9,684字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Rating|1}} 在本教程中,我们将你的系统 GCC 升级到最新版本。(译者注:本文主要说明了从源代码构建GCC的过程,这个过程中通过现有GCC构建GCC,是一个Bootstrap自举过程。注意这里不是要构建交叉编译器,就是构建一个普通主机Host编译器) 这将帮助你构建GCC交叉编译器,在构建交叉编译器时更建议你使用相同版本的编译器。 其…”)
  • 2022年3月19日 (六) 23:55Model 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:52Interrupt Service Routines历史 | 编辑) ‎[8,418字节]Zhang3讨论 | 贡献 (创建页面,内容为“x86体系结构是一个中断驱动的系统。 外部事件触发中断 - 中断正常控制流,并调用'''中断服务例程'''(ISR-Interrupt Service Routine)。 这样的事件可以由硬件或软件触发。 硬件中断的一个例子是键盘: 每按一次键,键盘就会触发IRQ1(中断请求1),并调用相应的中断处理程序。 定时器和磁盘请求完成是硬件中断的其他可能来源。 软件…”)
  • 2022年3月19日 (六) 12:14Non Maskable Interrupt历史 | 编辑) ‎[4,379字节]Zhang3讨论 | 贡献 (创建页面,内容为“'''不可屏蔽中断''' ('''NMI-Non-Maskable Interrupt''')是硬件驱动的中断,与PIC中断非常相似,但NMI要么直接进入CPU,要么通过另一个控制器(例如ISP)---在这种情况下,它可以被屏蔽。 == 关于 == NMI用于RAM错误和不可恢复的硬件问题。 对于较新的计算机,可以使用机器检查异常和(或)SMI来处理这些事情。 对于最新的芯片组 (至少对于英特尔而言),还有一堆TCO…”)
  • 2022年3月19日 (六) 11:49RSDP历史 | 编辑) ‎[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:01AML历史 | 编辑) ‎[10,127字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{stub}} ACPI机器语言(AML)是ACPI使用的与平台无关的代码。 甚至需要关闭计算机的知识。 它可以在DSDTSSDT表中找到,这两个表依次通过解析RSDTXSDT来找到。 AML代码是在读取每个表时从该表的开头开始解析的字节代码。 它包含ACPI命名空间内的设备和对象的定义。 通过解析代码,注意所有适当的控制流语句,AML解释器可以建立系统内所有…”)
  • 2022年3月19日 (六) 09:43PCI Express历史 | 编辑) ‎[7,780字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{In Progress}} PCI Express总线是一种向后兼容的高性能通用I/O互连总线,专为一系列计算平台设计。 与PCI本地总线相比,PCI Express的主要改进之一是它现在使用串行接口(与PCI使用的并行接口相比)。 这种改进可以与ATA接口的类似序列化进行比较。 ==PCI Express链接== PCI Express总线通过一对高速单向差分链路(分别为发送和接收)将每个设备直接连接到CPU和…”)
  • 2022年3月18日 (五) 10:04Task State Segment历史 | 编辑) ‎[8,969字节]Zhang3讨论 | 贡献 (创建页面,内容为“'''任务状态段''' ('''TSS-Task State Segment''') 是特定于IA-32X86-64体系结构的二进制数据结构。 它保存有关任务的信息。 在 '''保护模式''' 中,'''TTS'''; 主要适用于 '''硬件任务切换''',其中每个单独的 '''任务''' 都有自己的 '''TSS'''。 在软件多任务…”)
  • 2022年3月18日 (五) 09:29Physical Address Extension历史 | 编辑) ‎[1,823字节]Zhang3讨论 | 贡献 (创建页面,内容为“本文讨论了许多x86处理器上可用的物理地址扩展(PAE-Physical Address Extension)。 本文假设您对虚拟内存有很好的理解(如分页中所讨论的)。 本文还讨论了特定于x86的功能,尽管其他体系结构很容易具有非常相似的机制。 ==历史== PAE位是在Intel Pentium Pro处理器中引入的。 它专门旨在允许32位操作系统使用超过4 GB的内存。 ==工作原理== 当PAE位关闭…”)
  • 2022年3月18日 (五) 09:11Higher Half Kernel历史 | 编辑) ‎[2,927字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Stub}} {{Template:Kernel designs}} 向每个用户进程中映射内核是传统做法的,通常也是比较好的做法。 例如,Linux和许多其它类Unix系统内核驻留在每个地址空间的虚拟地址 “0XC0000000-0XFFFFFFFF”,用户代码、数据、堆栈、库等的范围为 “0x00000000-0xbffffff”。 有这种设计的内核因为相对与应用程序,内核使用了“higher half(高一半)”的虚拟地址空间。(译…”)
  • 2022年3月18日 (五) 07:17Heap历史 | 编辑) ‎[1,956字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Stub}} Category:Memory management = 堆(Heap) = 堆是应用程序和内核的重要组成部分。 它通常还被更高级别的内存管理所取代,后者处理更大的内存块。 对于大多数操作系统,内存将基于页面或其他大块分配。 X86和X64体系结构上的页面通常为4KB,但也可以更大。 但是,对于较小的分配,整个页面都会被浪费。 例如,如果您只需要24个字节,并且分配了…”)
  • 2022年3月18日 (五) 07:03Exceptions历史 | 编辑) ‎[16,053字节]Zhang3讨论 | 贡献 (创建页面,内容为“{| align="right" | __TOC__ |} 如本文所述'''异常(Exceptions)''',是CPU在发生 “错误” 时生成的一种中断。 在大多数情况下,有些异常并不是真正的错误,例如页面错误。 例外情况分类为: * '''错误(故障)-Faults''': 这些可以更正,程序可能会像什么都没发生一样继续进行。 * '''陷阱-Traps''': 陷阱在执行陷阱指令后立即报告。 * ''…”)
  • 2022年3月18日 (五) 03:14Uniform 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:22Hardware Abstraction Layer历史 | 编辑) ‎[1,200字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Stub}} == 硬件抽象层 == “硬件抽象层”或HAL(Hardware Abstraction Layer)是对实际硬件的抽象, 以便即使底层硬件改变或同一设备类别的不同型号在它们的实现和实际接口上有很大变化,也向软件呈现一致的接口。 HAL允许程序员以一致且基本上与型号/品牌无关的方式编写设备驱动程序,它甚至可能将内核与许多已安装的硬件隔离开来。 使用HAL的操作…”)
  • 2022年3月17日 (四) 15:02Compositing历史 | 编辑) ‎[4,149字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{In Progress}} '''Compositing'''是一种提供窗口化GUI的方法,其中每个应用程序窗口都有自己的专用缓冲区 - 有时称为''surface''或''canvas'' - 它可以随心所欲地画画。(译者注:好像在应用层开发中不怎么这样用这些术语,所以保留原文了。或者翻译为“图形复合功能”) 然后,“合成器(compositor)”将这些缓冲区组合在一起,以生成最终图像并显示在屏幕…”)
  • 2022年3月17日 (四) 07:57User Interface历史 | 编辑) ‎[861字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Stub}} <b>用户界面-User Interface</b> 或 <b>UI</b> 是人机(human-machine)界面的子类别,在操作系统项目中起着重要作用。 术语“UI”描述操作系统或应用程序与用户的交互。 另一方面,用户与OS或更确切地说是应用程序的交互是人机界面的另一个子类别。 如今,此界面是视觉的,也有一些OS的触觉支持,例如振动或听觉的用于通知和反馈。 该界面将形成用户…”)
  • 2022年3月17日 (四) 07:42Formatted Printing历史 | 编辑) ‎[3,051字节]Zhang3讨论 | 贡献 (创建页面,内容为“本文将介绍格式化打印的概念(即 ''printf()'')。 ==''printf()''是如何工作的?== 你迈向获得可靠的 ''printf()'' 功能的第一步是对其工作的理解。 你有没有试过模仿“va_list”(参数列表)并且带''void**'',比如说一种特定的语言,(译者注:这里原作者似乎使用特殊排版格式,打乱了原句单词的位置,无法正确翻译)比如... ‎总原则和目标 - ‎本地化 -…”)
  • 2022年3月17日 (四) 07:11Calling Global Constructors历史 | 编辑) ‎[17,707字节]Zhang3讨论 | 贡献 (创建页面,内容为“本教程讨论如何正确调用全局构造函数,例如全局C++对象上的构造函数。 这些应该在你的main函数之前运行,这就是为什么程序入口点通常是一个名为 _start的函数。 此函数负责解析命令行参数,初始化标准库(内存分配、信号等),运行全局构造函数并最终exit(main(argc, argv))。 如果你更改编译器,自制操作系统上的情况可能会有所不同,但是如果你使…”)
  • 2022年3月16日 (三) 12:19Shutdown历史 | 编辑) ‎[2,112字节]Zhang3讨论 | 贡献 (创建页面,内容为“为了关闭计算机,你需要使用某种电源管理。 要么是APM要么是ACPI。 == APM == 这是关闭计算机必须给出的APM命令的基本序列。 有关如何实施这些步骤的详细信息,请参阅 APM 文章。 * 执行安装检查。 *检查APM版本是否至少为‘1.1 * 断开任何现有的APM接口。 * 连接实模式接口。 * 告诉APM你的驱动支持1.1版 * 为所有设备启用电源管理。 * 将所有设…”)
  • 2022年3月16日 (三) 08:25ACPI历史 | 编辑) ‎[2,998字节]Zhang3讨论 | 贡献 (创建页面,内容为“ACPI(Advanced Configuration and Power Interface,高级配置和电源接口)是由Intel、Microsoft和Toshiba联合开发的PC电源管理和配置标准。 ACPI允许操作系统控制每个设备的电量 (例如,允许其使某些设备处于待机状态或断电状态)。 它还用于控制和/或检查热区(温度传感器、风扇速度等)、电池电量、PCI IRQ路由、CPU、NUMA域和许多其他内容。 ==…”)
  • 2022年3月16日 (三) 06:32I Can't Get Interrupts Working历史 | 编辑) ‎[9,522字节]Zhang3讨论 | 贡献 (创建页面,内容为“此页面是一种故障排除手册,可帮助您解决论坛来宾和成员在论坛上遇到的常见中断框架问题 请确保你收集了关于自己情况的足够信息(例如在Bochs中运行代码)。 == ISR问题 == === 我的处理程序没有被调用?!(汇编) === 对于这个测试,你需要通过软件自己调用中断。 在确定IDT设置正确之前,不要尝试从一开始就处理IRQ。 你需要有: *…”)
  • 2022年3月16日 (三) 02:13Interrupt Descriptor Table历史 | 编辑) ‎[14,526字节]Zhang3讨论 | 贡献 (创建页面,内容为“'''中断描述符表'''('''IDT-Interrupt Descriptor Table''')是特定于IA-32x86-64体系结构的二进制数据结构。 它是实模式里中断向量表(IVT)的保护模式和长模式对应物,用以告诉CPU中断服务例程 (ISR-Interrupt Service Routines) 所在的位置 (一个中断向量代表一个例程)。 它在结构上类似于G…”)
  • 2022年3月15日 (二) 12:18CMOS历史 | 编辑) ‎[20,077字节]Zhang3讨论 | 贡献 (创建页面,内容为““CMOS”是一种极低功耗的静态存储器,与实时时钟(RTC)位于同一芯片上。 它于1984年引入IBM PC AT,使用摩托罗拉MC146818A实时时钟。 CMOS (和实时时钟) 只能通过IO端口0x70和0x71访问。 CMOS存储器的功能是在计算机关闭时为BIOS存储50(或114)字节的“设置”信息 -- 因为有一个单独的电池,可以使时钟和CMOS信息长期保持激活状态。 CMOS值一次访问一个字节…”)
  • 2022年3月15日 (二) 09:08RTC历史 | 编辑) ‎[6,865字节]Zhang3讨论 | 贡献 (创建页面,内容为“==导言== 典型的操作系统会使用APICPIT进行计时。 但是,RTC的工作原理也一样。 RTC代表实时时钟-Real Time Clock。 它是使你的计算机时钟保持更新的芯片。 芯片内也有64字节的 CMOS RAM。 如果你只是想从RTC中读取日期/时间的信息,请参阅 CMOS 文章。 本文其余部分介绍了RTC中断的使用。 ==能力== RTC能够支持多个…”)
  • 2022年3月15日 (二) 05:55Programmable Interval Timer历史 | 编辑) ‎[35,858字节]Zhang3讨论 | 贡献 (创建页面,内容为“'''可编程间隔定时器'''('''PIT-Programmable Interval Timer''')芯片(Intel 8253/8254)基本上由一个振荡器(oscillator)、一个预分频器(prescaler)和3个独立的分频器(frequency dividers)组成。 (译者注:Timer一词可以翻译为计时器或定时器,译者以后打算尽量翻译为”定时器“。Timer的核心功能是周期性的发出Tick信号。) 每个分频器都有一个…”)
  • 2022年3月14日 (一) 07:18PC Speaker历史 | 编辑) ‎[4,841字节]Zhang3讨论 | 贡献 (创建页面,内容为“PC扬声器是PC兼容系统上可用的最原始的声音设备。 它的特点是可以发出独特的“哔哔声”和“吱吱声”,因此有时被称为“PC Beeper”或“PC Squeaker” - 蜂鸣器。 == 原始硬件 == 扬声器本身有两种可能的位置,“in”和“out”。 此位置可通过键盘控制器上端口0x61的位1来设置。 如果设置此位 (=1),则扬声器将移至 “out” 位置,如果清…”)
  • 2022年3月14日 (一) 05:05Deadlock历史 | 编辑) ‎[5,800字节]Zhang3讨论 | 贡献 (创建页面,内容为“==定义== {{Quotation| 如果一组进程中的每个进程都在等待该组进程中只有其它进程会引起的事件,则该组进程将死锁。 |Andrew Tanenbaum}} 更简单地说,当两个或多个进程相互阻塞时,就会出现死锁,因为没有人愿意“让步”让其他进程继续进行 - 导致所有进程都将无限期地保持僵局。 一个典型的例子是在资源管理中,例如当两个进程试图获得对一对文件…”)
  • 2022年3月14日 (一) 03:01Semaphore历史 | 编辑) ‎[4,007字节]Zhang3讨论 | 贡献 (创建页面,内容为“'''信号量(semaphore)''' 是一种同步原始数据类型。 从程序员的角度来看,它是一种不透明的数据类型,有两个定义的操作,通常称为'''wait'''和'''signal'''。(译者注:可以理解为和PV操作对应,wait是P操作-尝试申请资源,signal是V操作-释放资源) 有两种类型的信号量--“二进制信号量”和“计数信号量”。 == 计数信号量 == 最常…”)
  • 2022年3月14日 (一) 02:27Spinlock历史 | 编辑) ‎[9,300字节]Zhang3讨论 | 贡献 (创建页面,内容为“==概述== 与所有形式的可重入锁(reentrancy locks)一样,自旋锁(spinlocks)用于确保对资源(例如,数据结构、硬件等)的有序访问,以便在一个上下文中运行的软件不会获得该资源的不一致视图,因为在另一个上下文中运行的软件正在修改资源。 例如,想象一个包含一个人的名字和姓氏的结构,该结构当前包含数据 “Fred” 和 “Smith”。 如果一个CPU将…”)
  • 2022年3月13日 (日) 08:45GCC Canadian Cross历史 | 编辑) ‎[784字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Stub}} Canadian Cross指首先在系统X(构建系统)上为系统Y(主机)构建一个交叉编译器。 然后,将对该交叉编译器,设置三个参数 <code>--build=<该编译器运行的位置>-host=<正在构建的编译器将运行的位置>-target=<正在构建的编译器将运行的可执行文件></code>。 单凭这一解释就足以说明为什么这一点既重要又容易出错。 ==="Minor" Canadian Cross=== 构建交叉编译器需要…”)
  • 2022年3月12日 (六) 13:06How do I set a graphics mode历史 | 编辑) ‎[3,141字节]Zhang3讨论 | 贡献 (创建页面,内容为“当PC第一次启动时,它被设置为标准的已知VGA文本模式。 但是在某些时候,你将希望开始在屏幕上绘制像素而不是文本。 这要求你从文本模式切换到“图形”模式。 在16位模式下,通过调用中断0x10的不同函数,你可以轻松地使用BIOS在不同图形模式之间切换。 但是,一旦进入保护模式,事情就会变得更加困难。 ==使用UEFI== 对于EFI,标准是通用图形适…”)
  • 2022年3月12日 (六) 12:48Hard Build System历史 | 编辑) ‎[11,631字节]Zhang3讨论 | 贡献 (创建页面,内容为“:''Everything should be made as simple as possible, but not simpler.'' (译者注:这句话是爱因斯坦的名言,其实本身的含义也仁者见仁智者见智。可以理解为:凡事尽可能简洁,但不能太过简单;也可以理解为:任何事情都应该做到最简单,而不是相对简单。总的来说应该是提醒读者要简化问题,但是不能太过个人理想化。) 自制操作系统的构…”)
  • 2022年3月12日 (六) 11:09Grub Error 13历史 | 编辑) ‎[3,954字节]Zhang3讨论 | 贡献 (创建页面,内容为“== GRUB Error 13: Invalid or unsupported executable format: == GRUB 是GNU Multiboot规范的参考实现,通常被大多数32位OS开发人员使用。 它的优点是作为一个(显然)预先编写的引导程序,有更多的代码来处理各种BIOS的怪癖,而不是任何个人都值得自己去做。 有关更多信息,请参阅以下帖子: http://forum.osdev.org/viewtopic.php?f=1&t=21158&start=0. 但是,许多人在使GRUB识别…”)
  • 2022年3月12日 (六) 06:19Port IO历史 | 编辑) ‎[2,430字节]Zhang3讨论 | 贡献 (创建页面,内容为“x86体系结构将地址空间分为两个编程上不同的两组: 内存(memory)和端口(ports)。 在早古时代上,内存被用作数据存储,读写操作不会产生副作用,而端口被用来控制外部硬件,这些硬件需要不同的计时方式来工作。 这也是访问端口比访问内存慢得多的原因。 而许多其他常见的计算机体系结构具有统一的空间,其中设备以与内存相同的速度运行,…”)
  • 2022年3月12日 (六) 06:01Brokenthorn's Known Bugs历史 | 编辑) ‎[1,144字节]Zhang3讨论 | 贡献 (创建页面,内容为“Category:FAQBrokenthorn的系列教程是更好的一些OSDev教程。 它们教授更好的编码实践,并且非常深入。 像所有教程一样,其中也有一些错误。 以下是最常见的: == CR0.PE描述错误 == 在OSDev8中,CR0.PE(位0)被错误地描述为将处理器设置为32位模式。 设置CR0的位0不会将处理器置于32位模式。 对32位代码段执行远跳将使处理器处于32位模式。 跳远本身仍将以…”)
  • 2022年3月12日 (六) 05:51Bran's Kernel Development Tutorial Known Bugs历史 | 编辑) ‎[3,400字节]Zhang3讨论 | 贡献 (创建页面,内容为“从好几个地方-包括这个Wiki-都指向 [http://osdever.net/bkerndev/Docs/basickernel.htm Bran的内核开发教程] 作为起点。 但该教程存在一些问题,通常会让人们出现在论坛上,再次提出相同的问题。 这篇文章旨在先发制人地回答这些问题,就像是“Bran的常见问题”,希望对你有用。 注意: 包含Bran教程的网站osdever.net最近关闭了很长时间。 你可以在网上这里找到它…”)
  • 2022年3月12日 (六) 04:00Where Can I Find Information About Ports历史 | 编辑) ‎[6,869字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Tone}} {{FirstPerson}} 译者注:这里的端口指的是IO端口(Port),一般CPU通过IO端口操作设备,本文主要解答了自制操作系统时,开发爱好者是怎么知道外部设备:电源、显卡、网卡等应该如何对接的。 == 问题:我在哪里可以找到有关端口的信息() == <div style="font-size:8pt"> : 我一直在尝试编写内核(从Brandon在osdever的教程开始)。 我很幸运地找到了在屏幕上…”)
  • 2022年3月12日 (六) 03:09Sound历史 | 编辑) ‎[6,102字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{In Progress}} right|frame|An example of an older-style PCI sound card 当声音没有出现时被用户才会注意到它。 它构成了用户反馈体验的一个组成部分。 例如,当用户点击错误的东西时,Windows资源管理器、KDE和其他桌面环境会发出哔哔声。 它也正在游戏和多媒体体验中更占主导的地位;许多游戏和电影现在都有5.1个通道的配乐。 因此,越来…”)
  • 2022年3月12日 (六) 00:28Serial Ports历史 | 编辑) ‎[20,164字节]Zhang3讨论 | 贡献 (创建页面,内容为“串口(串行端口-Serial ports)是IBM-PC兼容计算机上常见的传统通信端口。 PC上连接外围设备的串口在很大程度上已经被弃用,而推荐使用USB和其它现代外围接口, 然而,在某些行业中,它仍然普遍用于与工业硬件 (例如CNC机器) 或商业设备 (例如POS终端) 进行接口连接。 历史上,拨号调制解调器通过计算机的串行端口连接是很常见的,而底层UART硬…”)
  • 2022年3月10日 (四) 12:43ISA DMA历史 | 编辑) ‎[21,532字节]Zhang3讨论 | 贡献 (创建页面,内容为“;有关ISA DMA的要点有: * ISA DMA与PCI总线主控DMA不是一回事; * ISA DMA通道1、2和3可用于8位传输到ISA外围设备; * ISA DMA通道5、6和7可用于向ISA外围设备进行16位传输; * 传输不得跨越物理64KB边界,且不得大于64KB; * 传输必须是物理上连续的,并且只能针对最低的16 MB物理内存; * ISA DMA速度很慢——理论上是4.77 MB/秒,但由于ISA总线协议,速度更接近400 KB/秒…”)
  • 2022年3月8日 (二) 12:57PS/2 Keyboard历史 | 编辑) ‎[64,799字节]Zhang3讨论 | 贡献 (创建页面,内容为“== 概述 == PS/2键盘是一种使用 串行通信 与PS/2控制器对话的设备。 理想情况下,每种不同类型的PS/2控制器驱动程序都应提供某种标准/简单的 “发送字节/接收字节” 接口,PS/2键盘驱动程序将使用此接口,而无需关心较低级别的详细信息 (例如设备插入的PS/2控制器类型)。 PS/2键盘接受命令并发送对这些命令的响应,还发送指示何时按下或释放…”)
  • 2022年3月8日 (二) 08:27DMA历史 | 编辑) ‎[21,532字节]Zhang3讨论 | 贡献 (创建页面,内容为“;有关ISA DMA的要点有: * ISA DMA与PCI总线主控DMA不是一回事; * ISA DMA通道1、2和3可用于8位传输到ISA外围设备; * ISA DMA通道5、6和7可用于向ISA外围设备进行16位传输; * 传输不得跨越物理64KB边界,且不得大于64KB; * 传输必须是物理上连续的,并且只能针对最低的16 MB物理内存; * ISA DMA速度很慢——理论上是4.77 MB/秒,但由于ISA总线协议,速度更接近400 KB/秒…”)
  • 2022年3月8日 (二) 05:44ISA历史 | 编辑) ‎[1,367字节]Zhang3讨论 | 贡献 (创建页面,内容为“-Industry Standard Architecture(行业标准架构),ISA也可以指一种指令集体系架构。 <b>行业标准体系结构(Industry Standard Architecture)</b>(ISA)总线是在1981年为最初的IBM PC创建的。 在那个阶段,它是8位5MHz总线 (2.39 mb/s),但后来在8MHz (8.33 mb/s) 下升级为16位。 如今,ISA总线已经过时,速度非常慢,但它仍然普遍存在于较旧的机器中,许…”)
  • 2022年3月7日 (一) 08:11Text Mode Cursor历史 | 编辑) ‎[6,914字节]Zhang3讨论 | 贡献 (创建页面,内容为“光标会自动移动到最后一个书写字符之后的一个位置。在文本模式中,光标的工作方式与高级语言中不同。 它只是一个可由操作系统调整大小、显示、隐藏和移动的闪烁区域。 == 通过BIOS== 要使用BIOS操作光标,请使用int 0x10,屏幕功能的中断。 ===启用游标=== 启用光标功能还允许您设置开始和结束扫描线,即光标开始和结束的行。 最…”)
  • 2022年3月5日 (六) 01:49FAT历史 | 编辑) ‎[108,684字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Filesystems}} DOS V1.0(可能是CP/M)引入了'''File Allocation Table''' ('''FAT''')文件系统。 FAT应该是由比尔·盖茨编写的,是一个非常简单的文件系统-- 只不过是一个巨大表格中的一个单链接的簇列表。 FAT文件系统使用的内存非常少(除非操作系统将整个分配表缓存在内存中),它即使不是现在使用的最基本的文件系统,也肯定是其中之一。 ==概述== FAT文件系…”)
  • 2022年3月4日 (五) 09:33Thread Local Storage历史 | 编辑) ‎[7,365字节]Zhang3讨论 | 贡献 (创建页面,内容为“线程本地存储(Thread Local Storage - TLS)是针对每个线程的全局变量。 像GCC这样的编译器提供了一个<tt>__thread</tt>关键字来按照线程标记全局变量。 这一特性需要程序加载器和线程创建者的支持。 <source lang="c"> __thread int errno; int get_errno() { return errno; } </source> x86-64System V ABI编译器会将此代码编译成如下汇编程序集: <pre> .globl errno .section .tbss,…”)
  • 2022年3月4日 (五) 06:18Loading a Process历史 | 编辑) ‎[5,997字节]Zhang3讨论 | 贡献 (创建页面,内容为“加载和启动进程可以通过多种方式完成。 == 载入器功能 == 在[http://forum.osdev.org/viewtopic.php?p=112592#p112592 这篇文章]Brendan描述了创建的进程执行加载功能的方式,该功能可以将可执行文件加载到其地址空间中。 只有当进程获得其时间片时,此加载程序函数才处于活动状态。 这样,生成新进程的进程就不会被阻止。 *创建一个新的页面目录(映射到内核…”)
  • 2022年3月4日 (五) 03:40Continuation Systems历史 | 编辑) ‎[4,265字节]Zhang3讨论 | 贡献 (创建页面,内容为“{{Tone}} 分时工作原理是中断正在运行的程序,并将其运行时状态(如程序计数器和寄存器)保存到数据结构(通常是内核级堆栈)中。 从理论上讲,保存的状态构成了中断程序的'''one-shot continuation'''。 (译者注:这里continuation可以翻译为'''名词'''-延续,但是中文延续有动词的意像,容易产生误解,所以以下不翻译了。这里的意思有点…”)
最新 | 最旧) 查看( | )(20 | 50 | 100 | 250 | 500