330 likes | 410 Views
Where we’ve been, where we’re going. Jim Hall, Founder, coordinator The FreeDOS Project. O’Reilly 2001. Overview. How DOS got started How DOS evolved The FreeDOS Project The future of FreeDOS. The Beginning. DOS History. CP/M: Intergalactic Digital Research Seattle Computer Products
E N D
Where we’ve been, where we’re going Jim Hall, Founder, coordinator The FreeDOS Project O’Reilly 2001
Overview • How DOS got started • How DOS evolved • The FreeDOS Project • The future of FreeDOS
DOS History • CP/M: Intergalactic Digital Research • Seattle Computer Products • May ‘79: print card for 8086 running CP/M
DOS History • New version CP/M delayed • Let’s write our own • Aug ‘80: SCP develops QDOS 0.10 • QDOS=“Quick and Dirty Operating System”
DOS History • Oct ‘80: IBM prepares to release IBM-PC • Need operating system • CP/M: industry standard • No agreement with DRI • IBM talks to Microsoft
DOS History • Microsoft licenses 86-DOS 0.30 (“QDOS”) • “Microsoft Disk Operating System 1.0” • IBM helps identify, fix bugs • “IBM Personal Computer DOS 1.0”
DOS History • DOS 1.x • 160k and 360k floppy • 64k memory • No hard disks • No .bat files
DOS History 1980- QDOS 0.1 MS-DOS 1.0<----- QDOS 0.3 IBM Per.Comp.DOS 1.0<----|<---(?)--- QDOS 1.0 : | IBM 1.1<---- MS-DOS 1.1 : MS-DOS 1.24 : MS-DOS 1.25 IBM 2.0<----------| : MS-DOS 2.01 1984-
DOS History • DOS 2.x • One 10MB hard disk, max • Subdirectories • Device drivers • I/O redirection • DOS 3.x • Up to four 32MB drive partitions (128MB disk) • 640k memory
DOS History 1984- : | IBM 3.0<-------| IBM 3.1<- MS-DOS 3.05 : | Digital Research : | /|\ : | | | | IBM 3.3<-------| | | | | MS-DOS 3.30 | | | | MS-DOS 3.31 | | | 1988-
DOS History • DOS 3.3 • COM1 - COM4 • 3.5” floppy • 1.2MB floppy • Foreign language support
DOS History 1988- | | Digital Research XDOS | | | | | | IBM 4.0 ------>| | | | : MS-DOS 4.00 | | : MS-DOS 4.01 DR-DOS | : | | RxDOS | | | | | | IBM 5.0 MS-DOS 5.0 | | NSSDOS | | Novell | | 1992-
DOS History • DOS 4.0x • Memory support >640k • 2GB hard drive • DOS 5.0 • Re-write • Early DOS and CP/M functions dropped / re-written • Geared for Windows
DOS History 1992- | | Novell | | IBM 5.01 | | | DOS/NT | MS-DOS 6.00 | RxDOS | IBM 6.1 MS-DOS 6.20 | | | | IBM 6.3 MS-DOS 6.21 | | | : | MS-DOS 6.22 | | | FreeDOS | : | | | | | IBM 7.0 : | | | | | | | Windows 95 OpenDOS | | | | | 1996-
FreeDOS • Jul ‘94: Microsoft to stop supporting DOS • Migration to Windows • DOS still strong • Services, banking, data entry, kiosks
FreeDOS • “Will there be a free DOS, like Linux?” (1994) • “If hackers can write Linux (a free UNIX kernel for the PC) then surely we should be able to write our own DOS.” (1994)
FreeDOS • PD-DOS Manifesto (public domain) • Command.com (Tim Norman) • SPOOL (replaces PRINT) • File utilities (Jim Hall) • A few developers • sunsite.unc.edu
FreeDOS • Free-DOS Manifesto (free software) • Most under GNU GPL • DOS/NT becomes DOS-C (FreeDOS Kernel) • More developers! • www.freedos.org • Book: The FreeDOS Kernel • Pat Villani
FreeDOS • FreeDOS Alpha1 - Alpha5 • No installer • Single .zip file • Incomplete • FreeDOS Beta1 - Beta6 • Installer / boot floppy • Packages • More complete
FreeDOS • FreeDOS Beta6 H1 Mini/Full • “Hot” releases (“Ripcord”) • Very complete • Well-received • SEAL • FreeDOS 1.0?
FreeDOS • Why use FreeDOS? • Low system overhead (memory, disk) • Runs on old hardware • Console apps • Legacy software
FreeDOS • Who uses FreeDOS? • Educators • Embedded systems (pinball!) • Hobbyists • Developers
What’s next • Emulated environments • DOSEmu • VMWare • Bochs / Plex86 • Embedded systems • Single-chip PC • DOC (Disk On Chip) • Kiosks, handhelds, set-top
What’s next • Biggest challenge: International support • Original users spoke English • Today: multi-national community • China, Japan (multi-byte) • Italy, Spain, Germany, Brazil, Russia • 4 ways to add support
What’s next 1. Re-map keyboard • XKEYB • Still adding languages • Doesn’t require updating the app
What’s next 2. ASCII extended character set • Set code page • CHCP • Doesn’t require updating the app • Any volunteers?
What’s next 3. Locales • Display date, time, currency, sort order • COUNTRY (config.sys) • API to interface with COUNTRY • setlocale() not fully implemented in most C compilers, or provide generic “C” locale only • Any volunteers?
What’s next 4. Message catalogs • Display messages in user’s native language • catgets() or MSGLIB • Requires updating the app
Discussion Jim Hall <jhall@freedos.org>