Älkää sekoittako käyttöjärjestelmää, käyttöliittymää, ohjelmistoalustaa ja ohjelmistojärjestelmää (ja monia muita asioita) samaksi asiaksi.
Mitä eroa näillä sanoilla on?
Käyttöjärjestelmä määrää suoritusoikeudet kaikille muille ohjelmistoille, mitä ne saa tehdä, koska ja mille. Se on alin taso ohjelmistojärjestelmässä (ohjelmistopinonakin jotkut sanovat) kuten Linux, XNU, HURD, NT, SunOS, FreeBSD, NetBSD, OpenBSD, Minix jne jne.
Ohjelmistojärjestelmä koostuu kaikesta siitä mitä kiintolevylle (tai vastaavalle) tallenntuu. Käyttöjärjestelmä, Ohjelmistoalustat, ohjelmistokirjastot, järjestelmäsovellukset, sovellusohjelmistot jne. Ohjelmistojärjestelmän vastakohta on laitteistojärjestelmä joka koostuu kaikista tietokoneen oheislaitteista (näppäimistö/hiiri, tulostin, kuvanlukija, näyttö jne), tietokoneen osista (prosessori, keskusmuisti, kiintolevy jne) ja keskusyksiköstä (virtalähde, kotelo jne). Yhdessä laitteistojärjestelmän kanssa ohjelmistojärjestelmä muodostaa tietokonejärjestelmän. Useampi tietokonejärjestelmä yhdessä verkotettuna muodostaa taas suurempia järjestelmiä. Jokainen järjestelmä on purettavissa pienempiin kokonaisuuksiin tai järjestelmiin.
Ohjelmistoalusta on vain ohjelmisto joka tuo yhden kerroksen lisää jota voidaan käyttää muiden ohjelmistojen kehittämiseen. Kuten GTK+ tai Qt toolkitit tai Java ja Qt jne. Ohjelmistoalusta käyttää sen alla olevien ohjelmistoalustojen tai muiden ohjelmistojen (kirjastot, järjestelmäsovellukset ja alimpana käyttöjärjestelmä) ominaisuuksia ja taas tarjoaa omat ominaisuudet päällä toimiville ohjelmistoille.
Ohjelmallinen käyttöliittymä on ohjelmisto jolla piirretään kaikki se mitä näkyy ruudulle. Eli miltä näyttää jo yksittäiset napit, widgetit, ikkunakehykset. Kuinka ne toimivat ja käyttäytyvät yhdessä tai yksinään. Oli se ohjelmallinen käyttöliittymä luotu sitten graafiseksi tai tekstimuotoiseksi niin niillä on eri tavat. Esimerkiksi TTY (virtuaalikonsoli) on yksi ohjelmallinen käyttöliittymä siinä missä on vaikka Mozilla Firefoxin käyttöliittymä toinen, jolla näytetään WWW-sivuja ja jotka toimivat taas uutena sisällöillisenä käyttöliittymänä. Käyttöliittymistä puhuttaessa täytyy myös muistaa että hiiri, näppäimistö, näyttö, tietokoneen etupaneeli ym ovat käyttöliittymiä. Merkkivalot, napit, rullat, kaiuttimet ym ovat käyttöliittymiä siinä missä ohjelmalliset käyttöliittymät ruudulla.
Jokainen eri järjestelmä voidaan toteuttaa usealla eri tavalla. Eri kerrokset voidaan vaihtaa ja niillä on/voi olla vaikutuksia ylemmän ja alemman tason toimintoihin. Toiminta on kuin kerrostalossa missä laitteistojärjestelmä on talon perustukset. Käyttöjärjestelmä on kellari (vesi-, sähkö-, tietoliikenne-, puhelin- ym yhteydet/putket tuodaan sitä kautta. Ylemmissä kerroksissa on jokaisessa jotain omia toimintoja joista aina ylempi kerros käyttää alempien kerroksien ominaisuuksia. Alempia tasoja ei haittaa jos ylhäällä tapahtuu vahinkoja ja kaatuu ja kaikki näkee vain ekasta kerroksesta ylemmäksi. Mutta koko homma luhistuu jos kellari (käyttöjärjestelmä) kaatuu tai maaperä rikkoontuu jolloin kaikki tulee alas.