Microsoft’s Windows Operating System — A programmer’s perspective

Microsoft Technology, fighting the good fight since 1975.

Andre Tan — Unsplash

Introduction

An operating system manages a computer’s hardware and presents the computer at a certain level of abstraction to the programmer and the end user.

This computer might be a PC, an Xbox console, a Hololens 2, Iot devices on Rasberry Pi you name it. For a software company, there comes the question, how do you manage all these devices? Do you create individual operating systems for them or do you create a single base that manages them all. If a single base, how do you create the base layer? How do you abstract different I/O devices? How can you make use of the device abstraction layer for say a Hololens 2 that doesn’t have a mouse and a keyboard?.

Approach

I will divide this work into two parts. The core part and the Developer’s part.

The Core Part

The Core part will explore

  1. The Overall systems architecture, its management and system mechanisms
  2. The abstractions of Processes, Jobs and Threads and there controls and synchronization
  3. The basic I/O and the Network I/O
  4. Memory Management
  5. Storage Management
  6. Security
  7. Hypervisor and Virtualization

The Developer’s Part

The Developer’s part will explore

  1. The Win32 API
  2. The .Net Framework with its CLR and FCL
  3. The Windows Runtime (WinRT)
  4. The Universal Windows Platform (UWP)

I love solving computational problems using C++, python and C

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store