background preloader

OSDev

Facebook Twitter

Advanced Operating Systems. This is an advanced graduate course focussed on synchronization-related topics in operating systems.

Advanced Operating Systems

The course is based on research papers, and will involve a lot of reading and assimilation of ideas. The reading list has been carefully selected from classical and recent research papers in order to introduce and develop the key concepts and developments in synchronization and shared memory multiprocessor operating system design. These concepts include various uses of locking in OS kernels, synchronization in interrupt and process contexts, issues in the design of scalable spin locks, scalable reader-writer locking, lock-free and non-blocking synchronization, software transactional memory, hazard pointers, read copy update, memory consistency models and their implications for the performance and correctness of synchronization, tools and techniques for checking for bugs in synchronization-related kernel code.

GazTek Website. Main Page - OSDevWiki. OS Development Skeptically. OS Development Skeptically This document has been written to address certain questions of the OS development that often arise when attempting to make a homebrew operating system. The document is probably of no use to those, who are professionals in the area. So, if youre an expert in OS dev and you know the thing from inside out, dont waste time reading this document. This document is aimed at newbies, wannabies, and other unprofessional coders, who want to make their own OS and have already faced (or are yet to face) a lot of trouble down the way.

The document shall give some ideas and hints as to how to do certain things and how not to do them. Right, why developing an OS at first place? Well, there are several reasons for making an OS. Im a fucking cool coder, much better than those kiddies from the next block. Those, who can put their sign next to items 4, 5 or 6 of the list, should read the document with attention. Just like I said, it depends. Just how hard is it? - Some smart guy. Operating System Framework. Genode is a novel operating-system architecture that enables dynamic workload while retaining security and robustness.

Operating System Framework

The fundamental difference of Genode compared to other OS architectures is its strict organizational structure, which allows the execution of sensitive applications with a trusted computing base of a few thousand lines of code beside high-complexity workload. With its organizational approach, the architecture facilitates a clean separation of policies and mechanisms, and enables the definition and application of system policies in a natural and distributed fashion. Genode's resource-management concept enables highly dynamic workload but still retains deterministic behaviour normally only found in statically configured systems. Learn more about the concepts of Genode... The Genode OS framework is the reference implementation of this architecture. Writing Your Own Toy OS (Part I) "Linux Gazette...making Linux just a little more fun!

Writing Your Own Toy OS (Part I)

" By Krishnakumar R. This article is a hands-on tutorial for building a small boot sector. The first section provides the theory behind what happens at the time the computer is switched on. It also explains our plan. The second section tells all the things you should have on hand before proceeding further, and the third section deals with the programs. 1. 1.1 The Fancy Dress The microprocessor controls the computer. How to write a simple operating system in assembly language. (C) 2013 Mike Saunders and MikeOS Developers This document shows you how to write and build your first operating system in x86 assembly language.

How to write a simple operating system in assembly language

It explains what you need, the fundamentals of the PC boot process and assembly language, and how to take it further. The resulting OS will be very small (fitting into a bootloader) and have very few features, but it's a starting point for you to explore further. After you have read the guide, see the MikeOS project for a bigger x86 assembly language OS that you can explore to expand your skills. Requirements Prior programming experience is essential. For this guide we're using Linux. Installing Linux is very easy thesedays; grab Ubuntu and install it in VMware or VirtualBox if you don't want to dual-boot. Sudo apt-get install build-essential qemu nasm This gets you the development toolchain (compiler etc.), QEMU PC emulator and the NASM assembler, which converts assembly language into raw machine code executable files.

Kinds of Kernels 3.1 Beta 3. Updated Jun 19, 2007 10:00 pm | 17,128 views There are four popular categories or kinds of Kernels namely monolithic kernels, microkernels, hybrid kernels and exokernels.

Kinds of Kernels 3.1 Beta 3

Monolithic kernels are part of Unix-like operating systems like Linux ,FreeBSD etc. These types of kernels consist of the core functions of the operating system and the device drivers with the ability to load modules at runtime. Microkernels are part of the operating systems like AIX, BeOS, Hurd, Mach, Mac OS X, MINIX, QNX. Etc. Hybrid kernels are part of the operating systems such as Microsoft Windows NT, 2000 and XP. Exokernels are evolving and still under experimental stage in development of an operating system that could incorporate multiple library operating systems and are intended to simultaneously run multiple operating systems of different kinds like Linux and Microsoft Windows together using appropriate Application Programming Interface (API).