6 ms·
Operating System Development Series (2008)
- octo_t 13y agoIf you are also interested in OS development, Stanford has developed Pintos[1] which is designed to teach OS concepts: threads, system calls (and the security thereof), virtual memory and filesystems. [1] - http://www.stanford.edu/class/cs140/projects/pintos/pintos.html http://www.stanford.edu/class/cs140/projects/pintos/pintos.h...
- lubomir 13y agoAnother interesting source where to learn about implementing Unix-like OS is JamesM's kernel development tutorial. http://www.jamesmolloy.co.uk/tutorial_html/index.html http://www.jamesmolloy.co.uk/tutorial_html/index.html
- sigjuice 13y agoXv6 is another one http://pdos.csail.mit.edu/6.828/2012/xv6.html http://pdos.csail.mit.edu/6.828/2012/xv6.html
- gpsarakis 13y agoI particularly focused on this section http://www.brokenthorn.com/Resources/OSDev18.html http://www.brokenthorn.com/Resources/OSDev18.html . Although not mandatory for development, having a grasp of these concept does give a better insight. Well done!
- aninteger 13y agoAnything on amd64 with a focus on acpi? Pretty my a requirement for modern x86 os dev these days.
- tankenmate 13y agoThis site is focused only on x86 rather than x86_64. In fact you'll find that this organisation of permissions within the kernel using 4 ring levels will only work on x86 as most other ISAs only have two levels, supervisor and user (ARM, MIPS, SPARC et aia).
- dmytrish 13y agoI did a bit of OSDev two years ago: https://github.com/EarlGray/COSEC https://github.com/EarlGray/COSEC It's still a very incomplete system: it loads, sets up IDT/GDT, uses several simple drivers for keyboard, timers, serial interfaces, probing PCI bus, an effort to write a floppy disk driver (I could test it on virtual machines only though). There's a demo of multitasking, a demo of going to userspace and doing system calls, a demo of VFS and RAM-fs (I overcomplicated it and got stuck, but I have not rewritten it yet). These articles were an invaluable source of information and a starting point for design.
- zura 13y agoI'm still waiting for some good OS/Systems course from Coursera, Udacity or EdX.
- gvkalra 13y agoyea. Me too. That would be a wonderful leap.
- wonderer007 13y agoI am also waiting desperately for online OS course
- aray 13y agoMIT's OpenCourseWare has their Operating Systems Engineering course available online : http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2006/index.htm http://ocw.mit.edu/courses/electrical-engineering-and-comput...
- zura 13y agoYes, but there are no lecture videos. The lecture notes pdf's alone are not enough for thorough learning.
- computer 13y agoI wish this resource existed 10-15 years ago. I remember scavenging the internet for information about OS development, assembly and everything. I think in the end the best resource I found was something called "DS-OS", a basic assembly OS implementation. Looks like it's online at http://forum.osdev.org/viewtopic.php?f=2&t=22083 http://forum.osdev.org/viewtopic.php?f=2&t=22083 This stuff got me into lower-level (than VB) computer programming-- good memories.
- hga 13y agoIn the bad old days, 1976 and on, we used this: http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th... Unfortunately it was essentially samizdat until 1996. But it's an excellent work, and e.g. taught me pointers when the K&R chapter on pointers and arrays didn't work for me.
- aray 13y agoTanenbaum's ineffable "Operating Systems Design and Implementation" and MINIX (a learning OS) existed then, and was what Linus Torvalds studied before creating Linux: http://www.amazon.com/dp/0131429388 http://www.amazon.com/dp/0131429388
- stephengillie 13y agoSlightly simpler guide for writing an OS for the RasPi (repost): http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/ http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/
- deleted 13y ago[deleted]
- ersenal 13y agoI have developed a monolithic x86-32bit OS[1] for my undergraduate dissertation[2] with the aid of Brokenthorn's and JamesM's tutorials. The project aims to introduce OS concepts to CS students, thus the code readability was the number one priority. The main features include: - Preemptive multitasking - Doug Lea's Malloc as the heap manager for both Kernel and User side. - Read-only ram disk (which is simply a tar file passed as a GRUB module) - A (very) simple user Shell [1] - https://github.com/ersenal/Incitatus-OS https://github.com/ersenal/Incitatus-OS [2] - https://github.com/ersenal/Incitatus-OS/blob/master/dissertation.pdf https://github.com/ersenal/Incitatus-OS/blob/master/disserta...