1、?Linux?v0.11?Linux?Linux?LINUX?Linux?Linux?0.11?0.95?Linux?PC?C?80X86?Linux?Linux 0.11?www.oldlinux.org?Linux?.?,?.?1239?,?:200092?2002-2007 by Zhao Jiong 2002-2007?.?.1?.1?.1?.2?.2?.3?.3?.4EXT2?MINIX?.4?1?.51.1 LINUX?.51.2?.121.3?.16?2?.172.1?.172.2 I/O?.192.3?BIOS?CMOS?.212.4?.232.5?.31?3?.323.1 A
2、S86?.323.2 GNU AS?.383.3 C?.483.4 C?.553.5 LINUX0.11?.633.6 MAKE?MAKEFILE?.72?4?80X86?.754.1 80X86?.754.2?.814.3?.854.4?.964.5?.994.6?.1104.7?.1204.8?.1284.9?.131?5?LINUX?.1415.1 LINUX?.1415.2 LINUX?.1425.3 LINUX?.1445.4?.1575.5 LINUX?.1605.6?.1625.7 LINUX?.1645.8 LINUX?.1725.9 LINUX0.11?.1765.10 LI
3、NUX?.1775.11?.1845.12 LINUX/MAKEFILE?.1845.13?.189?6?BOOT?.1916.1?.1916.2 BOOTSECT.S?.1936.3 SETUP.S?.2036.4 HEAD.S?.2216.5?.234?7?(INIT).2357.1 MAIN.C?.2357.2?.2477.3?.249?8?(KERNEL).2518.1?.2518.2 MAKEFILE?.2548.3 ASM.S?.2568.4 TRAPS.C?.2628.5 SYSTEM_CALL.S?.2678.6 MKTIME.C?.2798.7 SCHED.C?.2818.8
4、 SIGNAL.C?.3008.9 EXIT.C?.3118.10 FORK.C?.3188.11 SYS.C?.3268.12 VSPRINTF.C?.3338.13 PRINTK.C?.3418.14 PANIC.C?.3428.15?.343?9?(BLOCK DRIVER).3459.1?.3469.2 MAKEFILE?.3499.3 BLK.H?.3519.4 HD.C?.3559.5 LL_RW_BLK.C?.3789.6 RAMDISK.C?.3849.7 FLOPPY.C?.390?10?(CHAR DRIVER).41710.1?.41710.2 MAKEFILE?.427
5、10.3 KEYBOARD.S?.42910.4 CONSOLE.C?.44810.5 SERIAL.C?.47410.6 RS_IO.S?.48310.7 TTY_IO.C?.48710.8 TTY_IOCTL.C?.499?11?(MATH).50711.1 MAKEFILE?.50711.2 MATH-EMULATION.C?.509?12?(FS).51112.1?.51112.2 MAKEFILE?.52712.3 BUFFER.C?.53012.4 BITMAP.C?.54712.5 TRUNCTE.C?.55312.6 INODE.C?.55512.7 SUPER.C?.5671
6、2.8 NAMEI.C?.57712.9 FILE_TABLE.C?.60112.10 BLOCK_DEV.C?.60112.11 FILE_DEV.C?.60512.12 PIPE.C?.60812.13 CHAR_DEV.C?.61212.14 READ_WRITE.C?.61512.15 OPEN.C?.62112.16 EXEC.C?.62712.17 STAT.C?.64712.18 FCNTL.C?.64912.19 IOCTL.C?.652?13?(MM).65513.1?.65513.2 MAKEFILE?.66113.3 MEMORY.C?.66213.4 PAGE.S?.6
7、79?14?(INCLUDE).68314.1 INCLUDE/?.68314.2 A.OUT.H?.68414.3 CONST.H?.69514.4 CTYPE.H?.69514.5 ERRNO.H?.69714.6 FCNTL.H?.69914.7 SIGNAL.H?.70114.8 STDARG.H?.70314.9 STDDEF.H?.70414.10 STRING.H?.70514.11 TERMIOS.H?.71514.12 TIME.H?.72214.13 UNISTD.H?.72414.14 UTIME.H?.72914.15 INCLUDE/ASM/?.73114.16 IO
8、.H?.73114.17 MEMORY.H?.73214.18 SEGMENT.H?.73314.19 SYSTEM.H?.73514.20 INCLUDE/LINUX/?.73914.21 CONFIG.H?.73914.22 FDREG.H?.74114.23 FS.H?.74414.24 HDREG.H?.74914.25 HEAD.H?.75214.26 KERNEL.H?.75314.27 MM.H?.75414.28 SCHED.H?.75414.29 SYS.H?.76114.30 TTY.H?.76314.31 INCLUDE/SYS/?.76614.32 STAT.H?.76
9、614.33 TIMES.H?.76714.34 TYPES.H?.76814.35 UTSNAME.H?.76914.36 WAIT.H?.770?15?(LIB).77315.1 MAKEFILE?.77415.2_EXIT.C?.77615.3 CLOSE.C?.77715.4 CTYPE.C?.77715.5 DUP.C?.77815.6 ERRNO.C?.77915.7 EXECVE.C?.77915.8 MALLOC.C?.78015.9 OPEN.C?.78915.10 SETSID.C?.79015.11 STRING.C?.79115.12 WAIT.C?.79115.13
10、WRITE.C?.792?16?(TOOLS).79516.1 BUILD.C?.795?17?.80217.1 BOCHS?.80217.2?BOCHS?LINUX0.11?.80617.3?.81317.4?.81517.5?BOCHS?.81717.6?.82417.7?.82717.8?LINUX 0.11?0.11?.83417.9?REDHAT 9?LINUX0.11?.835?17.10?+?83817.11?SHOELACE?.84317.12?GDB?BOCHS?.846?.853?.855?1?.855?2ASCII?.863?3?C0?C1?.864?4?.865?5?1
11、?.868?.869?Linux?Linux?linux?linux?Linux?UNIX?Linux?Linux?Linux?Redhat 7.0?2.2.16?Fedora Core 4?2.6.11?Linux?2.2.20?268?Linux?Linux?Scott Maxwell?Linux?Linux?Linux?(*.h)?make?Linux?Linux?John Lions?UNIX?UNIX?UNIX V6?PDP-11?A.S.Tanenbaum?MINIX?Linux?Linux?Linux?Linux?Linux?Linux?1991?10?Linux?Linus T
12、orvalds?Linux 0.03?LINUX-a free unix-386 kernel?1?Linux?GNU Hurd?”?Linux?GNU?Hurd?Linux?Linux?Linux?Linux?Linux?DJJ?x86?Uclinux?www.linux.org?Linux?Linux?Linux?Linux?Leland L.Beck?(SIC)?Linux?Leland?Linux?Linux?Linux?VFS?a.out?Linux?Linux?RTFSC Read The Fucking Source Code?M.J.Bach?UNIX?UNIX?AST?I/O
13、?Linux?Linux?0.11?Linux?Linux?2.6.0?592?0.11?2?Linux 0.11?GNU gcc?VFS?ext2?ext3?C?Intel CPU?C?Brain W.Kernighan?Dennis M.Ritchie?The C Programming Language?Intel CPU?GNU gcc?Internet?5.5?80 x86?80 x86?INTEL 80386 Programmers Reference Manual?80 x86?Linux?Linux?M.J.Bach?UNIX?Linus?Linux?MINIX?Linux?M
14、INIX 1.0?A.S.Tanenbaum?Tanenbaum?Linux?Linux?Linux?Tanenbaum?Linux is obsolete?Linux?Ext2?MINIX?Linux?Ext2?Ext3?1.x?Linux?Linux?Linux?0.11?MINIX 1.0?Linux?Linux?Linux?2007.6.?1?Linux?Linux?Linux?1.1 Linux?Linux?UNIX?1991?10?5?Internet?UNIX?Linux?UNIX?MINIX?GNU?POSIX?Internet?Linux?Linux?Linus Torval
15、ds?Linux?0.01?hacker?1.0?Linux?Linux?2.6.x?Linux?2.6.12?2?Linux?1.1.1 UNIX?Linux?UNIX?UNIX?Ken.Thompson?Dennis Ritchie?1969?DEC PDP-7?Ken Thompson?PDP-7?Space travel?1969?UNIX?BCPL?Dennis Ritchie?1972?C?UNIX?1.1.2 MINIX?MINIX?Andrew S.Tanenbaum?AST?AST?Amsterdam?Vrije?ACM?IEEE?(?)?100?5?AST?(1914?)?
16、M.I.T?Berkeley?Vrije?Amsterdam?AST?MINIX?1987?1991?1.5?1.5?2.0?MINIX?FTP?Linux?Linus?Linux?MINIX?MINIX?Linus?Linux?Linus?MINIX?C?hacker?1.1.3 GNU?GNU?FSF(the Free Software Foundation)?Richard M.Stallman?1984?UNIX?GNU?GNU?GNUs Not Unix?guh-NEW?Linux?GNU?Linux?Stallman?GNU/Linux?90?GNU?emacs?bash shel
17、l?gcc?gdb?Linux?Linux?Linux?GNU/Linux”?1.1.4 POSIX?POSIX?Portable Operating System Interface for Computing Systems?IEEE?ISO/IEC?UNIX?1980?UNIX?(usr/group)?UNIX?AT&T?System V?Berkeley CSRG?BSD?1984?/usr/group?1985?IEEE?TCOS-SS?ANSI?IEEE?1986?4?IEEE?1988?9?IEEE 1003.1-1988?POSIX.1?1989?POSIX?ISO/IEC?1
18、5?ISO?1990?POSIX.1?C?IEEE 1003.1-1990?ANSI?ISO/IEC 9945-1:1990?POSIX.1?API?IEEE POSIX?300?(POSIX.2)?POSIX.3?API?POSIX.4?1990?25?16?X/Open?AT&T?OSF?90?POSIX?1991-1993?Linux?UNIX?Linux?Linux?UNIX?Linux?0.01?0.11?Linux?POSIX?Linux 0.01?/include/unistd.h?POSXI?Linus?OK?1991?7?3?comp.os.minix?post?POSIX?
19、POSIX?1.1.5 Linux?1981?IBM?IBM PC?1981-1991?MS-DOS?Apple?MACs?UNIX?UNIX?UNIX?PC?Bell Labs?UNIX?PC?MINIX?AST?Linux?Linus Benedict Torvalds?(1991?)?Linus Benedict Torvalds?hacker?21?GNU?GNU C?GNU?MINIX?GNU?HURD?Linus?386?MINIX?MINIX?Linus?Intel 80386?Modem?80386 CPU?MINIX?MINIX?Linus?GNU?GNU C?GNU?HUR
20、D?Linus?1991?4?Intel 386?Linux?Linus?comp.os.minix?MINIX?Linux?Linus?1?comp.os.minix?1991?3?29?gcc on minix-386 doesnt optimize”,?gcc?MINIX-386?MINIX-386?Bruce Evans?Intel 386?32?MINIX?Linus?1991?MINIX?MINIX?MINIX?Intel 80386?MINIX?“RTFSC(Read the F*ing Source Code:-)”?1991?4?Linus?MINIX-386?(Hackin
21、g the kernel)?GNU?(GNU gcc?bash?gdb?)?4?13?comp.os.minix?bash?MINIX?shell?Linux?1991?7?3?comp.os.minix?Linux?Linus?FREAX?FREAX?Linux?POSIX?Linus?(1991?8?25?comp.os.minix)?MINIX?MINIX?”(?What would you like to see in minix?)?(?)386(486)?GNU?MINIX?MINIX?MINIX?bash(1.08?)?gcc(1.40?)?Linus?MINIX?386?AT?
22、Linux?Linus?Linux?1991?10?5?Linus?comp.os.minix?Linux?Free minix-like kernel sources for 386-AT?Linux?10?5?Linux?Linux?RedHat?1.1.6 Linux?Linux?1.0?1?1?Linus?2003?9?BitKeeper?1.0?Linux?0.00?Linus?80386?Linux 0.01?1991?9?17?Linus?include/string.h?8MB?Linus?0.02?0.03?/?0.00 1991.2-4?AAA.?BBB.?0.01 199
23、1.9.17?Linux?0.02 1991.10.5?0.03?0.10 1991.10?Ted Tso?Linux?boot?as86?gas?0.11 1991.12.8?0.12 1992.1.15?swapping?0.95.x(?0.13)1992.3.8?MINIX?MINIX?Linux?CDROM?0.96.x 1992.5.12?UNIX Socket?ext?alpha?SCSI?X-Windows?C?0.95?0.97.x 1992.8.1?SCSI?msdos?ext?3GB?0.98.x 1992.9.28?TCP/IP?0.8.1?extfs?mm?4GB?1G
24、B?0.98.4?256?32?0.99.x 1992.12.13?4G?NFS?1.0 1994.3.14?0.10?Ted Tso?Linus?GNU gcc?/?mount/umount?Linus?(C)1991 Linus Torvalds?boot/boot.s?boot/bootsect.s?boot/setup.s?16MB?dev/port?dev/null?kernel/signal.c?sigaction()?0.10?Linux 0.11?/etc/rc?Ted Tso?Galen Hunt?John T Kohl?kernel/console.c?KILL?Linux
25、 0.12?Linus?1991?2MB?gcc?Linus?1.0?0.13?0.95?Linus?1.0?0.95?0.95?Linux?Linus?0.12?Ted Tso?IO?Peter MacDonald?Linux?UNIX?select()?Peter MacDonald?MINIX?MINIX?Linus?0.95?GNU GPL?Linux?3?1992?3?8?1?0.95?10?3?17?0.95a?1?4?9?0.95c+?VFS?MINIX?MINIX?MINIX?0.95?Ross Biro?ptrace?Ctrl-Alt-Del?swapon()?4?James
26、 Wiegand?0.95?Linus?2005?11?9?2.6.14?16000?gz?47MB?12?(?gz?)2.0.40 2004.2.8 7.2 MB 2.2.26 2004.2.25 19 MB 2.4.31 2005.6.1 37 MB 2.6.14 2005.11.9 47 MB 1.1.7 Linux?Linux?Linux?Linus?FREAX?ftp.funet.fi?Ari Lemke?Linus?Linux?Linux?Linus?Just for Fun?Linus?2?Linux?Freax?Makefile-?-?Freax”?Ari Lemke?ftp?
27、Freax?(Linux)?1.1.8?Linux?Linux?Linux?Linus?Theodore Tso(Ted Tso)?1990?MIT?Hacking on Linux?IBM?IETF?Linux?Linux?linux?Maillist?Linux?Linux?Linux?Linux?0.10?ramdisk.c?kmalloc.c)?Linux?Linux?ftp?tsx-11.mit.edu?Linux?Linux?ext2?Linux?ext3?97?2002?5?Linux Journal?IBM Linux?Linux?LSB(Linux Standard Base
28、)?Linux?Alan Cox?(Swansea University College)?MUD?Multi-User Dungeon or Dimension?90?games.mud?posts?MUD?(rec.games.mud?1992?3?9?A history of MUD)?MUD?MINIX?Linux 0.11?386BSD?386SX?386BSD?Intel 386SX CPU?Linux?Linux?Linux?Linux?Linux?(beautifully)?Linux 0.95?Linux?Linus?Linux?TCP/IP?Linux?Linux?Linu
29、x?Linus?Microsoft?2001?Linux?2.4.x?Linus?(?2.5.x?)?The Linux Kernel Hackers Guide?Michael K.Johnson?Linux?(?0.97?)?Linux?Linux Document Project-LDP?Linux Journal?RedHat?Linux?Linux?Linux?CREDITS?Linux?400?email?Linux?UNIX?-UNIX?1969?Bell?Linux?UNIX?UNIX?MINIX?-MINIX?UNIX?1987?Andrew S.Tanenbaum?MINI
30、X?(?)?UNIX?Linux?MINIX?1991?GNU?-?Linux?Linux?GNU?Linux?GNU?(?bash shell)?Linux?POSIX?-?Linux?Linux?INTERNET-?Intenet?Linux?0.13(0.95)?1.2?Linux?0.11?Linux-0.11?1991?12?8?bootimage.Z?rootimage.Z?Image?bootimage?Image?PC?ROM BIOS?rootimage?Linux?UNIX?DOS?as86.tar.Z?16?linux-0.11.tar.Z?Linux 0.11?INST
31、ALL-0.11?Linux 0.11?rootimage.Z?Internet?Linux 0.11?rootimage-0.11?0.11?gcc 1.40?oldlinux.org?http:/oldlinux.org/Linux.old/images/?bootimage?rootimage?http:/oldlinux.org/Linux.old/kernels/?Linux 0.11?http:/oldlinux.org/Linux.old/bochs/?bochs?Linux?http:/oldlinux.org/Linux.old/Linux-0.11/?Linux 0.11?
32、linux-0.11?Makefile?shell?C?GNU C?/?Intel?8259A?Linux 0.11?Linux?Linux-0.11?325K?Linux?2.6.XX?200?Linux 0.01?240K?0.01?0.11?0.11?(bootimage)?(rootimage)?Linux 0.11?TCP/IP?Linux?Linux?Linux?Linux?1.1?linux?1-1 Linux/?1?4?Linux?Intel 80X86?5?7?32?8?13?8?14?16?17?PC?Bochs?Linux 0.11?2?Linux?IBM PC/AT38
33、6?3?Linux 0.11?Linux 0.11?GNU C?as86?GNU as?GNU C?C?C?Makefile?4?80X86 CPU?80X86 CPU?Linux?80X86?5?Linux?Linux?Linux/?Makefile?make?6?boot/?bootsect.s?BIOS?setup.s?32?head.s?32?7?init/?main.c?shell?main.c?Linux?8?kenel/?schedule()?sleep_on()?C?3?9?kernel/blk_drv/?10?kernel/chr_drv/?0.11?11?kernel/ma
34、th/?12?fs/?Andrew S.Tanenbaum?MINIX?Linux?MINIX?Linux 0.11?13?mm/?Intel 80X86?80X86?4?Linux?14?include/?15?Linux 0.11?lib/?0.11?16?tools/?build.c?Image?kernelimage?17?Bochs?Linux?Linux 0.11?RedHat 9?Linux?PC?Linux?LDP?Linux Document Project?HOWTO?LDP?Linus?Linux?3?M.J.Bach?UNIX?UNIX System V?Linus?L
35、inux?John H.Crawford?Programming the 80386?80 x86?Andrew S.Tanenbaum?MINIX?1?Linus?MINIX?1.0?Linux?Tanenbaum?C?Linux?Linux?Linux?1.0?Linux?2.6.12?patch?1.3?Linux?UNIX?Linux?Richard Stallman?GNU?Linux?POSIX?Linux?A.S.T?MINIX?Linux?Internet?Linux?2?2-1?/?2-1?(b)?/?Intel 80X86?CPU-Central Processing Un
36、it?IBM PC?CPU?Linux?Linux 0.11?PC/AT?80386?CPU?IBM PC?PC?IBM PC/XT?2.1?80386?CPU?PC?2-2?CPU?I/O?/?CPU?I/O?/?80386 CPU?PC?32?32?232?0?4GB?Intel 8259A?DMA?Intel 8237A?Intel 8253/8254?Intel 8042?ISA?Industry Standard Architecture?EISA?Extented ISA?PCI?Peripheral Component Interconnect?AGP?Accelerated G
37、raphics Port?PCIE?PCI Express?80386?ISA?I/O?16?PC?2-3?CPU?PC?2?Chipsets?Northbridge?Southbridge?CPU?AGP?Intel?MCH?Memory Controller Hub?PCI?IDE?USB?ICH?I/O Controller Hub?Intel?PC?CPU?PC?PC?PC?Intel?PC?PC?PC?2-2?2.2 I/O?2.2.1 I/O?CPU?I/O?I/O?I/O?I/O?CPU?I/O?I/O?I/O?I/O?IBM PC?I/O?ISA?PC?I/O?0 x000-0
38、 x3FF?1024?I/O?2-1?IBM PC?CGA?0 xB800-0 xBC00?0 x000-0 x01F 8237A DMA?1?0 x020-0 x03F 8259A?10 x040-0 x05F 8253/8254A?0 x060-0 x06F 8042?0 x070-0 x07F?CMOS RAM/?RTC?Real Time Clock?0 x080-0 x09F DMA?0 x0A0-0 x0BF 8259A?20 x0C0-0 x0DF 8237A DMA?20 x0F0-0 x0FF?0 x170-0 x177 IDE?10 x1F0-0 x1F7 IDE?00 x
39、278-0 x27F?20 x2F8-0 x2FF?20 x378-0 x37F?10 x3B0-0 x3BF?MDA?0 x3C0-0 x3CF?CGA?0 x3D0-0 x3DF?EGA/VGA?0 x3F0-0 x3F7?0 x3F8-0 x3FF?1?EISA?PCI?PC?64KB?I/O?Linux?/proc/ioports?I/O?rootplinux root#cat/proc/ioports?2.2.2?PC?I/O?DMA?CPU?CPU?Linux?I/O?CPU?CPU?I/O?CPU?I/O?CPU?Linux?I/O?DMA?Direct Memory Acces
40、s?I/O?DMA?CPU?Linux?DMA?2.3?BIOS?CMOS?2.3.1?1981?IBM PC?640KB?RAM?8088/8086 CPU?20?1024KB?1MB?DOS?640K?1MB?512MB?Intel 32?CPU?PC/AT?CPU?4GB?CPU?64GB?PC?1MB?PC?ROM?BIOS?CPU?BIOS?BIOS?Shadow?BIOS?2-4?0?0 xA0000?0 xFFFFF?640K?1M?384K?0 xFFFE0000?0 xFFFFFFFF?4G?64K?I/O?BIOS?16MB?Linux 0.1x?0-640K?Linux?
41、BIOS?BIOS?640K-1M?384K?0 xA0000?128K?ROM BIOS?0 xF0000?1M?ROM BIOS?1M-16M?640K-1M?2.3.2?/?BIOS?ROM?BIOS?DOS?BIOS?BIOS?Linux?BIOS?CPU?CS?0 xF000?0 xFFFF0000?64KB?IP?0 xFFF0?CPU?0 xFFFFFFF0?4G?64K?16?ROM BIOS?BIOS?JMP?BIOS?64KB?PC/AT?BIOS?1MB?2MB?Flash Memory?ROM?BIOS?64KB?0-1M?BIOS?BIOS?32?Big Mode?4
42、G?64K?0?4G?BIOS?PC?64KB BIOS?1M?64K?CPU?2-5?BIOS?0 x7c00?2.3.3 CMOS?PC/AT?ROM BIOS?64?128?CMOS?Complementary Metal Oxide Semiconductor?Real Time Chip?CMOS?I/O?2.4?2.4.1?IBM PC/AT 80X86?8259A?I/O?15?2-6?ROM BIOS?8259A?15?0 x000-0 xFFF?Intel?Linux?8259A?PC?ROM BIOS?2-2?Linux?PC?Linux?BIOS?IRQ00 x08?8?
43、8253?100HZ?IRQ10 x09?9?IRQ20 x0A?10?IRQ30 x0B?11?2IRQ40 x0C?12?1IRQ50 x0D?13?2IRQ60 x0E?14?IRQ70 x0F?15?1IRQ80 x70?112?IRQ90 x71?113?INT 0 x0A IRQ100 x72?114?IRQ11 0 x73?115?IRQ120 x74?116?PS/2?IRQ130 x75?117?IRQ140 x76?118?IRQ150 x77?119?2.4.2 DMA?DMA?Intel 8237?DMA?CPU?CPU?PC/AT?8237?DMA?8?4?16?DM
44、A?2?DMA?8?16?2.4.3?/?Intel 8253/8254?/?PIT-Programmable Interval Timer?3?16?CPU?8253/8254?8253?8253/8254?CPU?PC/AT?8254?3?/?DRAM?Linux 0.11?0?3?10?IRQ0?Linux 0.11?2.4.4?IBM?1984?PC/AT?AT-PS/2?101?104?Intel 8048?Make code?Break code?Scan Code Set?-?XT?-?AT?-PS/2?IBM?PS/2?AT?PC/XT?2-7?XT?Intel 8042?PC
45、?8042?11?1?2-9?8?10?11?11?PC/XT?IRQ1?CPU?CPU?XT?XT?A?30?0 x1E?XT?0 x80?7?A?0 x80+0 x1E=0 x9E?PC/XT?83?AT?Ctrl?Alt?2?4?1?0 xE0?Ctrl?1?0 x1D?Ctrl?2?0 xE0?0 x1D?0 xE0?0 x9D?2-3?A 0 x1E 0 x9E?9 0 x0A 0 x8A?F90 x43 0 xC3?0 xe0,0 x4D 0 xe0,0 xCD?Ctrl?0 xe0,0 x1D 0 xe0,0 x9D?Shift?+G?0 x2A,0 x22 0 xAA,0 xA
46、2?Shift?8042?P2?P20?CPU?P21?A20?1?P21?1?A20?0?A20?8042?8042?8042?2.4.5?1.?/?/?/?/?/?2-8?word?2.?2-9?0?5-8?1?1?1.5?2?1?MARK?0?SPACE?MARK?1?3.?PC?2?RS-232C?/?UART?Universal Asyncronous Receiver/Transmitter?PC?25?9?DB-25?DB-9?MODEM?RS-232C?MODEM?PC?NS8250?NS16450 UART?PC?16650A?NS8250/16450?NS8250/1645
47、0?16650A?16650A?FIFO?UART?16?CPU?PC?RESET?NS8250?MR?UART?UART?UART?2.4.6?2-4?2-10?D6D5D4?D2D1D0?0 0 0 0 0 0 0 x00?0 0 0 1 1 1 0 x07?Normal0 0 0 0 0 1 0 x01?Underline1 1 1 0 0 0 0 x70?Reverse1 1 1 1 1 1 0 x77?2-10?2-5?I R G B?I R G B?0 0 0 0 0 x00?Black?1 0 0 0 0 x08?Dark grey?0 0 0 1 0 x01?Blue?1 0
48、0 1 0 x09?Light blue?0 0 1 0 0 x02?Green?1 0 1 0 0 x0a?Light green?0 0 1 1 0 x03?Cyan?1 0 1 1 0 x0b?Light cyan?0 1 0 0 0 x04?Red?1 1 0 0 0 x0c?Light red?0 1 0 1 0 x05?Magenta?1 1 0 1 0 x0d?Light magenta?0 1 1 0 0 x05?Brown?1 1 1 0 0 x0e?Yellow?0 1 1 1 0 x07?Light grey?1 1 1 1 0 x0f?White?2.4.7?PC?PC
49、?PC?300?/?2?2?4?4?8?2-11?4500?/?10000?/?/?0?1?2-12?GAP?GAP?12?0?CPU?CPU?/?2-12?/?PC/AT?FDC?Floppy Disk Controller?NEC?PD765?CPU?2-13?/?-?I/O?PC/AT?DMA?DMA?AT?DMA?U?2.5?Linux?GNU gcc?3?Linux 0.11?Linux 0.11?GNU C?as86?GNU as?GNU C?C?C?Linux 0.11?a.out?Makefile?Linux?3.1 as86?Linux 0.1x?Assembler?16?as86?ld86?GNU?gas?as?GNU ld?as86?as?as86?ld86?MINIX-386?Bruce Evans?Intel 8086?80386?Linux?Linus?Linux?80386?32?Linux?16?boot/bootsect.s?boot/setup.s?GNU gas?GNU as?MASM?Borland?Turbo ASM?NASM?Intel?GNU as?as86?MINIX?MINIX?PC/IX?PC/IX?Intel 8086 CPU?UN*X?Andrew S.Tanenbaum?PC/IX?MINIX?Bruce Evans?M