更新日期:2015年3月12日
汇编语言:
MASM 6.11,MASM 11(Windows):http://www.masm32.com/
FASM(跨平台):http://flatassembler.net/
NASM(跨平台):http://www.nasm.us/
TASM:http://turbo.brothersoft.com/turbo-assembler.html
YASM:http://yasm.tortall.net/
C语言:
Visual Studio(Windows)
C-Free 5.0(Windows,包含MinGW):http://dl.vmall.com/c0dkzg38o7
GCC,G++(跨平台):http://gcc.gnu.org/
GCC与FASM代码链接:http://board.flatassembler.net/topic.php?t=5989
GCC链接器LD脚本:http://www.math.utah.edu/docs/info/ld_3.html
反汇编与调试:
IDA pro(Windows)
WinDBG(Windows,包含在驱动开发工具WDK中):http://msdn.microsoft.com/en-US/windows/hardware/gg463009/
GDB(包含在GCC中)
DOS的Debug的命令:http://technet.microsoft.com/library/cc722863.aspx
代码编辑器:
Notepad++(Windows):http://notepad-plus-plus.org/
Emacs(Linux):http://www.gnu.org/software/emacs/
Vim(Linux):http://www.vim.org
汇编IDE:http://www.oby.ro/rad_asm/
二进制查看与修改:
WinHex(Windows)
ghex/khex(Linux):http://directory.fsf.org/wiki/Ghex
Okteta:http://utils.kde.org/projects/okteta/
Hexer:http://www.the-interweb.com/serendipity/index.php?/categories/11-Hexer
虚拟机:
VMware Station:http://www.vmware.com
Oracle Virtual Box:https://www.virtualbox.org/
压缩解压缩与虚拟机磁盘文件查看:WinMount(Windows,中文版免费):http://cn.winmount.com/
Bochs(跨平台):http://sourceforge.net/projects/bochs/?source=directory
Bochs的图形前端Peter-Bochs:https://code.google.com/p/peter-bochs/
Xen:http://xenproject.org/
于渊《自己动手写操作系统》:http://dl.vmall.com/c0oltefkkm
于渊《Orange’s一个操作系统的实现》
川合秀实 著,周自恒、李黎明、曾祥江、张文旭 译《30天自制操作系统》
Andrew S. Tanenbaum《现代操作系统》
Abraham Silberschatz, PeterBaer Galvin, Greg Gagne《操作系统概念》:http://dl.vmall.com/c0ouk7h52g
OSDEV:http://wiki.osdev.org/Main_Page
http://www.osdever.net/tutorials/
http://www.osdever.net/papers/
https://wiki.kernel.org/index.php/Main_Page
毛德操《漫谈兼容内核》:http://ishare.iask.sina.com.cn/f/21633826.html
全FASM写成的软盘操作系统:http://MenuetOS.net/
兼容POSIX的Dynacube OS:http://www.dynacube.net/
ScorchOS:http://sourceforge.net/projects/scorchos/
MouseOS技术小站:http://www.mouseos.com/index.html
国人写的Skelix OS:http://skelix.net/skelixos/index_zh.html
http://www.walshcomptech.com/ohlandl/index.htm
Randal E. Bryant, David O'Hallaron《深入理解计算机系统》:http://dl.vmall.com/c03ppaaacv
POSIX.1-2008标准:http://pubs.opengroup.org/onlinepubs/9699919799/
http://zh.wikipedia.org/wiki/红黑树
http://en.wikipedia.org/wiki/B-tree
http://en.wikipedia.org/wiki/B%2B_tree
http://en.wikipedia.org/wiki/Bx-tree
SGI STL 红黑树(Red-Black Tree)源代码分析:http://blog.chinaunix.net/uid-26818262-id-3219065.html
红黑树的插入与删除 详细整理资料:http://wenku.baidu.com/view/d07e8e0216fc700abb68fc40.html
红黑树和B树:http://www.eli.sdsu.edu/courses/fall95/cs660/notes/RedBlackTree/RedBlack.html
树堆:http://en.wikipedia.org/wiki/Treap
C++ STL:http://zh.wikipedia.org/wiki/标准模板库
校验和:
CRC32:http://www.repairfaq.org/filipg/LINK/F_crc_v3.html
探究CRC32算法实现原理:http://blog.csdn.net/zhaodm/article/details/3711034
http://en.wikipedia.org/wiki/Cyclic_redundancy_check
哈希:
http://zh.wikipedia.org/zh-cn/MD5
http://zh.wikipedia.org/wiki/SHA家族
加密通讯:
http://en.wikipedia.org/wiki/RSA_(algorithm)
Linux内核源代码下载:https://www.kernel.org/
Linux内核源代码:https://github.com/torvalds/linux
《Linux内核设计的艺术——图解Linux操作系统架构设计与实现原理》:http://dl.vmall.com/c0tl4202j5
深入分析Linux内核源码:http://oss.org.cn/kernel-book/
Linux i386 Boot Code HOWTO byFeiyun Wang:http://www.tldp.org/HOWTO/Linux-i386-Boot-Code-HOWTO/index.html
毛德操、胡希明《Linux内核源代码情景分析》
Linux C编程一站式学习:http://learn.akae.cn/media/index.html
FreeBSD:
《FreeBSD操作系统设计与实现》:http://dl.vmall.com/c0ad41bvan
FreeBSD源代码:http://www.oschina.net/code/explore/freebsd
NetBSD:
NetBSD源代码:http://cvsweb.netbsd.org/bsdweb.cgi/?only_with_tag=MAIN
OpenBSD:
http://www.openbsd.org/
Apple XNU源代码:http://www.opensource.apple.com/source/xnu/
http://research.microsoft.com/en-us/projects/singularity/
http://zh.wikipedia.org/zh-cn/Singularity
Windows Research Kernel:http://www.microsoft.com/education/facultyconnection/articles/articledetails.aspx?cid=2416&c1=en-us&c2=0
Vista及后续Windows引导启动过程:http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/windows-nt-6-boot-process.html
http://www.starman.vertcomp.com/asm/mbr/W7MBR.htm
http://www.starman.vertcomp.com/asm/mbr/W7VBR.htm
ReactOS:http://www.reactos.org/
毛德操《Windows内核情景分析:采用开源代码ReactOS》
潘爱民《Windows内核原理与实现》
《DOS原理与结构》:http://dl.vmall.com/c010mlo8ay
Intel 64(x64)和IA32(x86)架构: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
http://software.intel.com/en-us/node/183990?wapkw=cpuid+utility
http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/
Universityof San Francisco - Intel EM64T and VT Extenions:http://www.cs.usfca.edu/~cruse/cs686s07/
http://en.wikipedia.org/wiki/Cpuid
MultiProcessor Specification(MP Spec), version 1.4: http://www.intel.com/design/archives/processors/pro/docs/242016.htm
Bringing SMP to Your UPOperating System: http://www.cheesecake.org/sac/smp.html
关于多处理器初始化:http://forum.osdev.org/viewtopic.php?t=11564
x86-x64在线汇编器:https://defuse.ca/online-x86-assembler.htm
x86Microsoft stdcall调用约定:http://msdn.microsoft.com/en-us/library/zxk0tw93.aspx
Microsoftx64调用约定:http://msdn.microsoft.com/zh-cn/library/ms235286.aspx
IntelItanium(安腾)架构:http://www.intel.com/content/www/us/en/processors/itanium/itanium-processor-software-specifications.html
ARM文档:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.architecture.reference/index.html
ARM模拟器:http://armulator.sourceforge.net/
SPIM MIPS模拟器:http://spimsimulator.sourceforge.net/
MARS MIPS模拟器:http://courses.missouristate.edu/KenVollmar/MARS/
MIPS架构:http://www.imgtec.com/mips/architectures/
MIPS寄存器:http://msdn.microsoft.com/zh-cn/library/ms253512(v=vs.90).aspx
AVR架构Atmel公司:http://www.atmel.com
AVR32架构手册:http://www.atmel.com/zh/cn/Images/doc32000.pdf
SPARC:http://www.sparc.org/technical-documents-test-2/specifications/#ARCH
POSIX Threads Programming:https://computing.llnl.gov/tutorials/pthreads/
Linux的自旋锁:http://blog.chinaunix.net/uid-25871104-id-3052138.html
Linux中的信号量和互斥量:http://blog.csdn.net/lihenair/article/details/6597080
Ralf Brown实模式中断:http://www.ctyme.com/intr/int.htm
16色模式颜色对应:http://en.wikipedia.org/wiki/BIOS_color_attributes
BIOS视频、键盘、磁盘中断:http://wenku.baidu.com/view/61ed6c175f0e7cd1842536f9.html
Trusted Computing Group PCClient Implementation for Conventional BIOS:http://www.trustedcomputinggroup.org/resources/pc_client_work_group_specific_implementation_specification_for_conventional_bios_specification_version_12
UEFI官网:http://www.uefi.org
Intel关于EFI和UEFI的文档:http://www.intel.cn/content/www/cn/zh/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage-general-technology.html
MSDN中关于UEFI固件的文档:http://technet.microsoft.com/en-us/library/hh824898.aspx
BIOS人论坛UEFI学习讨论区:http://www.biosren.com/forum-19-1.html
《Beyond BIOS: Developing with the Unified Extensible FirmwareInterface》
System Management BIOS:http://www.dmtf.org/standards/smbios
Trusted Computing Group EFIPlatform Specification:http://www.trustedcomputinggroup.org/resources/tcg_efi_platform_specification
Trusted Computing Group EFIProtocol Specification:http://www.trustedcomputinggroup.org/resources/tcg_efi_protocol_specification
端口:http://www.stanislavs.org/helppc/ports.html
8259AProgrammable Interrupt Controller:http://www.brokenthorn.com/Resources/OSDevPic.html
Intel 82093AAIO APIC Datasheet:http://www.intel.com/design/chipsets/datashts/290566.htm
PCI官方组织PCI-SIG:http://www.pcisig.com/
PCI规范2.2:http://www.ics.uci.edu/~harris/ics216/pci/PCI_22.pdf
PCI database:http://www.pcidatabase.com
Intel X58Express Chipset Datasheet北桥手册:http://www.intel.com/content/www/us/en/chipsets/x58-express-chipset-datasheet.html
Intel I/OController Hub 10 (ICH 10) Family Datasheet南桥手册:http://www.intel.com/content/www/us/en/io/io-controller-hub-10-family-datasheet.html
西安交通大学微机原理与接口技术:http://mcit.xjtu.edu.cn/wlkj/new_page_main.htm
中山大学微机原理与接口技术:http://sist.sysu.edu.cn/wjyl/index.html
8042键盘控制器:http://stanislavs.org/helppc/8042.html
键盘扫描码:http://www.mouseos.com/os/doc/scan_code.html
http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html
MicrosoftWindows Keyboard Scan Code Specification:http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc
Intel 8253PIT:http://en.wikipedia.org/wiki/Intel_8253
8254Programmable Interrupt Timer:http://ftp.utcluj.ro/pub/users/calceng/PMP/231164.pdf
提供多媒体计时器支持的指南(关于高精度计时器HPET):http://msdn.microsoft.com/zh-cn/windows/hardware/gg463347.aspx
高级配置与电源接口ACPI:http://www.acpi.info/
ACPI规范5:http://www.acpi.info/spec50.htm
USB:http://www.usb.org/developers/docs/
PIC:http://en.wikipedia.org/wiki/Intel_8259
APIC:http://en.wikipedia.org/wiki/Advanced_Programmable_Interrupt_Controller
IA32中断研究:http://wenku.baidu.com/view/d3ada6dd5022aaea998f0f1b.html
Linux内核中断内幕:http://www.ibm.com/developerworks/cn/linux/l-cn-linuxkernelint/index.html
Linux的中断:http://www.biosren.com/viewthread.php?tid=391
调用门、中断门和陷阱门的区别:http://stackoverflow.com/questions/3425085/the-difference-between-call-gate-interrupt-gate-trap-gate
不可屏蔽中断:http://en.wikipedia.org/wiki/Non-maskable_interrupt
The x86 NMI iret problem:http://lwn.net/Articles/484932/
主引导记录(MBR)数据结构:http://blog.csdn.net/firas/article/details/8665366
FAT、NTFS卷引导记录数据结构:http://blog.csdn.net/firas/article/details/8787506
http://en.wikipedia.org/wiki/Master_boot_record
硬盘知识大概:http://wenku.baidu.com/view/c17688c7bb4cf7ec4afed04d.html
关于ATA:http://www.ata-atapi.com/
负责ATA/ATAPI的技术委员会T13官方网站:http://www.t13.org/
SATA官方网站:http://www.sata-io.org/
负责SCSI的技术委员会T10官方网站:http://www.t10.org/
ATA/ATAPI 8命令集草稿:http://www.t13.org/documents/UploadedDocuments/docs2007/D1699r4a-ATA8-ACS.pdf
http://www.t13.org/documents/UploadedDocuments/docs2011/d2015r7-ATAATAPI_Command_Set_-_2_ACS-2.pdf
http://www.t13.org/Documents/UploadedDocuments/docs2013/d2161r5-ATAATAPI_Command_Set_-_3.pdf
SATA规范3.2草稿:http://www.knowledgetek.com/graphicsNew/SerialATA_Revision_3_2_Gold(with%20Links).pdf
SATA规范3.0草稿:http://www.lttconn.com/res/lttconn/pdres/201005/20100521170123066.pdf
SATA的AHCI接口规范:http://www.intel.com/content/www/us/en/io/serial-ata/ahci.html
关于保护模式读写磁盘:http://bbs.pediy.com/showthread.php?t=171927
使用DMA读写硬盘:http://occh.net/wordpress/?p=324
What every programmer shouldknow about memory: http://lwn.net/Articles/250967/
吴晓勇,曾家智。操作系统内核中动态内存分配机制的研究。成都信息工程学院学报,第20卷第1期,2005年2月:27~30
徐蓉。实时系统的内存管理技术研究与实现。电子科技大学硕士学位论文,2004年
谢长生,刘志斌。Linux 2.6内存管理研究。计算机应用研究,2005年:58~60
沈勇,王志平,庞丽萍。对伙伴算法内存管理的讨论。计算机与数字工程,第32卷:40~43
伙伴算法:http://blog.csdn.net/orange_os/article/details/7392986
胡兆阳,谢余强,舒辉。Windows下堆内存管理机制研究。计算机工程与应用,2005.17:59~61
Mengxiao Liu, Weixing Ji, ZuoWang, Jiaxin Li, Xing Pu. “High Performance Memory Management for A Multi-coreArchitecture”. IEEE Ninth International Conference on Computer and InformationTechnology. 2009. pp. 63-68.
http://en.wikipedia.org/wiki/Page_replacement_algorithm
http://zh.wikipedia.org/wiki/FAT
http://zh.wikipedia.org/zh-cn/NTFS
http://zh.wikipedia.org/wiki/ReiserFS
http://zh.wikipedia.org/wiki/XFS
http://zh.wikipedia.org/wiki/ZFS
各种文件系统的比较:http://en.wikipedia.org/wiki/Comparison_of_file_systems
MSWIN4.1OS Boot Record:http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm
Boot Record of FAT:http://home.freeuk.net/foxy2k/disk/disk3.htm
FAT32:http://wenku.baidu.com/view/add07dfc910ef12d2af9e751.html
超通俗FAT32:http://wenku.baidu.com/view/e2fb140590c69ec3d5bb7543.html
NTFS File System Overview:http://www.c-jump.com/bcc/t256t/Week04NtfsReview/index.html
The New Technology FileSystem:http://link.springer.com/content/pdf/10.1007/978-1-84628-732-9_6.pdf
NTFS:http://wenku.baidu.com/view/0a467b175f0e7cd184253652.html
NTFS文件系统:http://wenku.baidu.com/view/d26bec1ca76e58fafab00390.html
Master File Record(主文件记录):http://msdn.microsoft.com/en-us/library/bb470206(v=vs.85).aspx
Inside Win2K NTFS, Part 1: http://msdn.microsoft.com/en-us/library/ms995846.aspx
Inside Win2K NTFS, Part 2: http://windowsitpro.com/systems-management/inside-win2k-ntfs-part-2
Ext3/4磁盘布局:http://wenku.baidu.com/view/db827320192e45361066f5ad.html
Ext2和Ext3文件系统:http://wenku.baidu.com/view/72b04d7302768e9951e738b8.html
CDFS(ISO 9660):http://zh.wikipedia.org/wiki/ISO_9660
通用光盘格式(UDF):http://zh.wikipedia.org/wiki/通用光盘格式
ELF文件格式:http://www.sco.com/developers/devspecs/gabi41.pdf
ELF-64文件格式:http://downloads.openwatcom.org/ftp/devel/docs/elf-64-gen.pdf
PE文件格式:http://msdn.microsoft.com/library/windows/hardware/gg463125
PE文件格式详解:http://www.vckbase.com/index.php/wv/1057
http://www.vckbase.com/index.php/wv/1058
map文件介绍及使用查错:http://blog.csdn.net/mark_chan/article/details/5104952
BSS段:http://en.wikipedia.org/wiki/.bss
VESA BIOS Extension(VBE) 3.0标准:http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf
最新VESA显示器时序标准(DMT_v1.0_r12p):http://wenku.baidu.com/view/e4ac87956bec0975f465e2ea.html
http://en.wikipedia.org/wiki/VESA_BIOS_Extensions
http://jelleybee.com/projects/software/pc_asm/int_10h/INT_10h_4Fxx_VESA.txt
http://www.stanford.edu/class/cs140/projects/pintos/specs/freevga/vga/crtcreg.htm
http://www.stanford.edu/class/cs140/projects/pintos/specs/freevga/vga/vga.htm
在保护模式中显示文字(需有C语言库):http://blog.csdn.net/guzhou_diaoke/article/details/8459541
GPU:
http://www.nvidia.com/object/cuda_home_new.html
http://developer.amd.com/resources/heterogeneous-computing/opencl-zone/
http://gpgpu.org/
X.org:http://www.x.org/wiki/
GNOME:http://www.gnome.org/
GNOME源码:http://www.oschina.net/code/explore/gnome-2.91.3
KDE:http://www.kde.org/
KDE源码:http://www.oschina.net/code/explore/kde-4.5.4
Xfce:http://www.xfce.org
谢煜波《做一个支持图形界面的操作系统》
Unicode编码:http://www.unicode.org
International Components forUnicode:http://site.icu-project.org/home
字体
龚兵、张凤凌《True Type字体应用技术》五邑大学学报(自然科学版)1998年第12卷第1期第46~50页
史磊、吕强《True Type字形描述技术和TTF文件》中文信息产业化1995年第五期第54~59页
王瑜、黄源、张福炎《Windows中TrueType字形数据的存取技术》小型微型计算机系统1997年11月第18卷第11期
输入法
Fcitx输入法框架:https://fcitx-im.org/wiki/Fcitx
赵杨《XIM协议的原理及其实现》:http://www.ibm.com/developerworks/cn/linux/i18n/xim/xim-2/index.html
吴海辉《笔画码汉字输入法软件设计与实现》安徽大学硕士学位论文
图片文件格式
http://zh.wikipedia.org/wiki/BMP
BMP文件格式详解:http://blog.csdn.net/o_sun_o/article/details/8351037
JPEG文件编码解码详解:http://blog.csdn.net/lpt19832003/article/details/1713718
PNG文件格式详解:http://blog.csdn.net/bisword/article/details/2777121