Notes on Programming in
C by Rob Pike
The Ten Commandments
for C Programmers by Henry Spencer
How To Steal Code or
Inventing The Wheel Only Once by Henry Spencer
Indian Hill C
Style and Coding Standards by Henry Spencer et al
Can't Happen or
/* NOTREACHED */ or Real Programs Dump Core
comp.lang.c Frequently Asked Questions
comp.lang.c IAC (Infrequently
Asked Questions)
Slackware
Debian
Gentoo
Red Hat
CentOS
SuSE
Fedora
Linux kernel articles published in LWN
O'Reilly Network: Linux DevCenter
IBM Linux Technology Center:
Publications
IBM developerWorks: Linux - Articles, columns & tips
KernelNewbies
Linux
Bibliography
Linux Magazine kernel
articles
Linux white papers
Loads of Linux Links:
Kernel
Documentation for People Interested in Understanding the Linux Kernel
Linux kernel links
Chris Gould's Linux Kernel Architecture
Links
Alessandro's Articles on
Linux kernel internals
The Linux Kernel API
Linux
Online - KernelAnalysis-HOWTO
The Linux Programmer's
Guide
Unreliable Guide To Hacking The Linux Kernel
Linux Kernel 2.4 Internals
The Linux Kernel
Kernel debugging with Kprobes
Gaining
insight into the Linux? kernel with Kprobes
Linux Kernel State Tracer
Linux Kernel Crash Dumps
Softirqs,
Tasklets, Bottom Halves, Task Queues, Work Queues and Timers
Linux Frame Buffer Device
Subsystem (paper and slides)
Mouse Drivers
Linux completion events
Elevator algorithm
How to NOT write kernel
driver
Device Driver Basics
Linux
character device drivers
Raw Disk I/O
Writing Linux Mouse
Drivers
Virtual Network
Interfaces
The Linux network device driver framework
Dynamic Kernels:
Modularized Device Drivers
Dynamic Kernels:
Discovery
The Devil's in the
Details
Network Buffers and
Memory Management
An introduction to
block device drivers
The Network Block
Device
Writing Device Drivers Under Linux
Write a Linux Hardware Device Driver
Writing Linux
Device Drivers
Block
Device Drivers
Linux
Kernel Hacker's Guide - Device Drivers
Interrupts vs. Polling
RAID1, RAID5 and compressed RAID5 for Linux
Linux Device Drivers, 2nd
Edition: Online Book
LWN: Porting device drivers to
the 2.6 kernel
Journal File Systems
in Linux
Journaling the Linux ext2fs
Design and
Implementation of the Second Extended Filesystem
Linux Kernel
Procfs Guide
Creating Linux virtual filesystems
EXT3, Journaling Filesystem
Porting XFS to Linux
Porting the SGI XFS
file system to Linux
Scalability in the XFS File System
Jouraled File System (JFS) for Linux
Linux
VFS slides
Common
threads: Advanced filesystem implementor's guide, Part 1
Common threads: Advanced filesystem implementor's guide, Part 11
The Linux Virtual File-system Layer
Exploring /proc
Journaling
Filesystems
Journal File Systems
LG #55
Anatomy of a Read and Write Call
Exploring the
ext3 Filesystem - Introduction to the ext3 Filesystem
OSRC: EXT/2 Filesystem:
The extended-2 filesystem overview
Second Extended File System
Interview with JFS,
reiserfs, and XFS
Filesystems HOWTO
A tour of
the Linux VFS
Wikipedia: Linux kernel
Linux Cross-Reference
Management &
Virtual decentralized networks: The Linux project
The Case for Linux in
Universities
The Age of 2.4
(includes raw I/O)
Rick's Resources for Using,
Administrating, and Programming Linux
How The
Kernel Development Process Works
Linux Kernel Hackers' planet
Its history and current distributions: Linux vs. other platforms
Counting Source Lines of Code (SLOC)
Linux Not Just
For Geeks Anymore (Linux use statistics)
History of Linux
Linux HeadQuarters (kernel info)
The Linux Kernel Archives
tmpfs: A Virtual Memory
File System (shared memory)
The Linux
Kernel: Signals & Interrupts (PDF)
The Pipes and Socks-page
Tmpfs
file system documentation (used for shared memory)
Using the
virtual memory (VM) filesystem and bind mounts
BSD Sockets: A Quick And Dirty Primer
An Advanced 4.4BSD
Interprocess Communication Tutorial
Introductory 4.4BSD
IPC / PSD:20
A Look at the Signal
API
Pipes and FIFOs
The Linux Signals
Handling Module
Linux Kernel 2.4
Internals: IPC mechanisms
The Linux Programmer's Guide
The Linux Kernel: IPC
Kernel
overview slides
Conceptual Architecture
of the Linux Kernel
Concrete Architecture of
the Linux Kernel
Making System Calls from
Kernel Space
Linux Internals &
Programming lecture notes (GOOD!)
Linux Loadable Kernel
Module HOWTO
GNU licenses
GPL paper
OSI Approved Licenses
Linux Memory Management Subsystem Main
Page
A Comparison of the MM sub-systems in FreeBSD and Linux
Paul
Wilson's VM Overview
Outline of
the Linux Memory Management System
Compressed Caching: Linux
2.4 Virtual Memory Overview
Linux/Documentation/vm/balance
MMDOC. Linux Memory
Management Documentation.
Design for the Linux zone based
memory allocator
Linux Memory
Management (purdue.edu)
Memory
Management in Linux
Linux 2.4 VM Project
Memory Management Lecture
Secrets Inside the
Linux Kernel Revealed
Linux Kernel Documentation (MM and NW)
Basics of 2.4.20 VM
Page replacement in
Linux 2.4 memory management
Memory Management in
Linux: Desktop Companion to the Linux Source Code
Linux Device Drivers,
2nd Edition: Chapter 7: Getting Hold of Memory
Linux Device Drivers,
2nd Edition: Chapter 13: mmap and DMA
Kernel
networking overview (png image)
Linux - Advanced Networking
Overview
The
journey of a packet through the Linux 2.4 network stack
skb - Linux network
buffers
The
netfilter framework in Linux 2.4
Analysis and
Evaluation of the TCP/IP Protocol Stack of Linux
Network Buffers and
Memory Management
The Linux Socket
Filter: Sniffing Bytes over the Network
Inside the Linux
Packet Filter
Inside the Linux
Packet Filter, Part II
Networking overview diagram (png image)
Linux netfilter Hacking HOWTO
Linux Device Drivers,
2nd Edition: Chapter 14: Network Drivers
LWN.net
Linux Journal
DesktopLinux.com
LinuxDailyNews Network
InformationWeek.com
Kernel Traffic
KernelTrap
IBM Linux Technology Center
IBM developerWorks: Linux
osOpinion
2002 Linux
Symposium Proceedings
2003 Linux
Symposium Proceedings
2004 Linux Symposium Proceedings
2004 Linux Symposium Audio Proceedings
2005
Linux Symposium Proceedings, Volume 1
2005
Linux Symposium Proceedings, Volume 2
Node affine NUMA scheduler for
Linux
Linux Process Scheduling
Scheduling in UNIX and
Linux
The
Linux Process Model
Process Scheduling In Linux
Linux
Low-Latency Patches and Alternative Schedulers
The Ingo Scheduler
Design of a
fully preemptable Linux Kernel
Understanding the Linux Kernel: Chapter 10: Process Scheduling
Linux
Scheduler Page
Design
and Implementation of Embedded Linux System for Networking ...
Linux Clustering Software
Linux-HA Project Web Site
Linux Scalability Effort Homepage
BKL Removal
Patches for 2.4.17
SGI - Scalability
Project
IBM Linux Technology Center : News Archive
Wireless : Linux system development on an embedded device
IBM
Linux presentations (includes security, SMP, clustering...)
IBM whitepaper - Is Linux ready for the enterprise?
Embedded Linux Consortium - championing
the advancement of embedded Linux
Embedded Linux Works-
Articles.
Symmetrical Multiprocessing
with Linux
Clustering HOWTO
SMP HOWTO
InformationWeek
> Linux > Linux Gains Clustering Edge > August 2, 2002
Scalability and Symmetric
Multiprocessing
Linux 2.4
The state of
embedded Linux
Developer
interest in embedded Linux skyrockets
Articles >
uClinux: World's most popular embedded Linux distro?
Embedded Linux
distribution info
Real-Time and
Linux, Part 2: the Preemptible Kernel
A Taxonomy of
Resources for Embedded Linux Developers
Lineo/Montavista
interviews
Real Time and
Linux, Part 3: Sub-Kernels and Benchmarks
The Embedded
Linux Overview Quick Reference Guide
Linux's future in the embedded systems market
The embedded Linux portal
A High-Availability
Cluster for Linux
Embedded Linux Journal Table
of Contents
Enterprise Linux - Linux
Scalability
Bastille Linux
Jay Beale's Linux/UNIX Security Articles
Scanning for Rootkits
Linux Kernel Hardening
Secrets Inside the
Linux Kernel Revealed
Linux Security Documentation
LinuxSecurity - Resources
Phrack magazine
Linux Security HOWTO
Unreliable Guide To Locking
Mutual exclusion with seqlocks
Linux kernel
documentation - spinlocks
Embedded Linux
links
Kernel Locking
Techniques
FreeBSD
OpenBSD
NetBSD
DragonFly BSD
TrustedBSD
BSD vs Linux
What every Linux user
needs to know about BSD
The FreeBSD Almanac
NetBSD kernel documentation
overview
The Design and Implementation of the 4.4BSD Operating System
Mach Kernel Manuals
OpenSolaris
Solaris OE White
Papers
SUN - Solaris Operating
System
BigAdmin System Administration
Portal
SysAdmin magazine - Solaris
Mac OS X Technical Resources (apple.com)
Mac OS X System
Architecture (apple.com)
Kernel Architecture
Virtual Memory on Mac OS X
Mac OS X performance overview
Mac OS X System Overview (book) (apple.com)
OopsWiki:
MacOSTio/DeveloperDocs
Flirting With Mac OS X
Under the Hood of
MacOS X
Mac OS white papers
MacInstruct:
Introduction to Mac OS X
Mac
OS X Basics -- System Architecture: Darwin
Mac OS X resources
The Challenges
of Integrating the Unix and Mac OS Environments
The Elements of Style, William
Strunk, Jr.
The Chicago manual of style
The King's English, H.W. Fowler
The Guardian stylebook
Useful Things to Know About Ph.D. Thesis Research, H.T. Kung at Harvard
Resources
for Writers and Writing Instructors, Jack Lynch
Writing Guidelines for Engineering and
Science Students
Technical Writing, Ronald B. Standler
How to
Organize your Thesis, John W. Chinneck
How
to write a grant proposal, Simon Peyton Jones and Alan Bundy
How to have your
abstract rejected, Mary-Claire van Leunen and Richard Lipton
Suggestions for
writting abstracts
Writing a Math Phase Two Paper, Steven L. Kleiman and Glenn P. Tesler
Three sins of authors in
computer science and maths, Jonathan Shewchuk
A guide to
refereeing computer science papers, Ian Parberry
Papers: Expectations,
guidelines, advice, and grading, Jeannine DeLombard and Dan White
Guide to Grammar and
Style, Jack Lynch
Speaker's
guide for theoretical computer science, Ian Parberry
How to give a good research talk, Simon Peyton Jones, John Launchbury, and
John Hughes
Non-Technical
Talks, David Patterson
Survival
manual for graduate students, Dianne O'Leary
How to
Succeed in Graduate School, Marie desJardins
From Contract Drafting to
Software Specification: Linguistic Sources of Ambiguity, A Handbook, Daniel
M. Berry
Guidelines on Research Practice in Computer Science, Justin Zobel
The ethical practice of
research, Justin Zobel
Ten Lessons I wish I Had Been
Taught, Gian-Carlo Rota
Advice on Research and Writing, Mark Leone
Networking on the
Network: A Guide to Professional Skills for PhD Students, Phil Agre
Richard
Hamming -- You and Your Research
How to do
Research At the MIT AI Lab, David Chapman
Burnout Prevention and Recovery
Robert Love
Dave Jones
David Miller
James Morris
Nat Friedman
Eric Raymond