Між програмами, як і між фізичними вузлами і блоками існує взаємозв'язок - багато програм працюють, спираючись на інші програми більш низького рівня - це називається міжпрограмний інтерфейс.
Рівні програмного забезпечення являють собою пірамідальну структуру.
Базовий рівень - найнижчий. Базове ПО відповідає за взаємодію з базовими апаратними засобами. Базові програмні засоби безпосередньо входять до складу базового устаткування і зберігаються в спеціальних мікросхемах -ПЗУ (постійно-пристрої, що запам'ятовують). Програми та дані записуються ( «прошиваються») в мікросхеми ПЗУ на етапі виробництва і не можуть бути змінені в процесі експлуатації.
Системний рівень. Програми, що працюють на цьому рівні, забезпечують взаємодію інших програм комп'ютерної системи з програмами базового рівня і безпосередньо з апаратним забезпеченням, тобто виконує «посередницьку» функцію. Сюди входять операційна система, операційні оболонки, драйвера.
Службовий рівень - програмне забезпечення цього рівня взаємодіє як з програмами базового рівня, так і з програмами системного рівня (як правило, це програми обслуговування -Утиліта). Деякі службові програми спочатку входять до складу операційний системи, але більшість з них є зовнішніми для операційної системи і служать для розширення її функцій.
Прикладний рівень. Програмне забезпечення прикладного рівня являє собою комплекс прикладних програм.