I-во поколение – края на 40-те – средата на 50-те
Трудно е да се говори за ОС в сегашният смисъл на думата. Нямало е почти никаква автоматизираност, работата на процесора е била горе-долу просто да му се подаде предварително написаната на перфокарти програма, тя да бъде изпълнена и да бъде върнат резултатът пак под формата на перфокарти.
Не е имало неща като управление на хардуера, на области от паметта и т.н… компютрите са били по-скоро едни електронни сметачни машини.
По време на изпълнение на програмата не е можело да се изпълняват входно-изходни операции. Двете са били напълно последователни – или едното, или другото.
Появяват се първите програми-помощници – асемблерите.
Появява се професията „оператор“ – човекът, отговорен за предварителното „написване“ програмата на перфокарти и четене на резултата.
II-ро поколение – средата на 50-те – средата на 60-те
Появавя се т.н. Batch processing – програмите се пакетират в пакети, съдържащи не само самата програма но и необходимите входно-изходни операции, инициализации, компилиране, управляване на областите от паметта…
Обособяват се два режима на работа на процесора:
User mode – изпълнение на потребителски програми;
System mode – управление на хардуера.
С цел уплътняване времето на процесора се появяват т,н, „сателити“ – устройства, които четат и запаметяват програмите от перфочетците върхи магнитен дист или лента и когато се натрупат достатъчно, се подават на процесора, после резултатите – пак на магнитата лента и от там – на перфопринтера.
III-то поколение – средата на 60-те – началото на 80-те
Първата многозадачност, първата многопотребителност.
Механизъм на прекъсванията – позволява рънтайм програмата да реагира на външни въздействия.
Механизъм за Direct Memory Access, който заедно с механизма на прекъсванията позволява паралелност между работата на процесора и входно-изходните операции.
Ето тук изгрява звездата на портовете – области от паметта, с помощта на които програмата може да взаимодейства с външният свят по време на изпълнение.
Канали за данни (I/O processors) – служат за обмен на данни с периферни устройства.
Системи за работа с бавни входно-изходни устройства – SPOOLing (Simultaneous Peripheral Operation On-line)
Мултипрограмиране – по-уплътнено използване на процесорното време. Когато процесорът стартира изпълнението на дадена програма, която спре и чака входно изходна операция да се изпълни, това време би било загубено. Затова процесорът използва това време за друга програма.
Времеделение – от това нововъведение идва и многозадачността – на всяка програма се предостава циклично повтарящ се интервал процесорно време – квант.
Като извод: С трето поколение, операционните системи вече наподобяват съвременните. Компютрите вече не са просто електронни сметачни машини, на които се подава топка перфокарти, те я изпълняват, като през това време не могат да правят нищо друго, и връщат резултатът под формата на нова топка перфокарти.
IV-то поколение – след началото на 80-те
Появяват се многопроцесорните компютри, настъпва бум на персоналните компютри, появяват се мрежовите операционни системи.