Pada
kenyataannya tidak semua sistem operasi mempunyai struktur yang sama. Namun
menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem
operasi modern mempunyai komponen sebagai berikut:
Proses
adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses
membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya
tersebut dapat berupa CPU time, memori, berkas-berkas, dan
perangkat-perangkat I/O.
Memori utama
atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word
atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan.
Setiap word atau byte mempunyai alamat tersendiri. Memori Utama
berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau
perangkat I/O. Memori utama termasuk tempat penyimpanan data yang sementara (volatile),
artinya data dapat hilang begitu sistem dimatikan.
Sistem
operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
managemen memori seperti:
- Menjaga track dari
memori yang sedang digunakan dan siapa yang menggunakannya.
- Memilih program yang akan di-load
ke memori.
- Mengalokasikan dan
meng-dealokasikan ruang memori sesuai kebutuhan.
Data yang
disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh
karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage
yang bersifat permanen dan mampu menampung banyak data. Contoh dari secondary-storage
adalah harddisk, disket, dll.
Sistem
operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan disk-management
seperti: free-space management, alokasi penyimpanan, penjadualan disk.
Sering
disebut device manager. Menyediakan "device driver"
yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,
menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas
pada hard-disk, CD-ROM dan floppy disk.
Komponen
Sistem Operasi untuk sistem I/O:
- Buffer: menampung sementara data
dari/ ke perangkat I/O.
- Spooling: melakukan penjadualan
pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
- Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.
Berkas
adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas
tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori,
volume, dll.). Sistem operasi bertanggung-jawab:
- Pembuatan dan penghapusan
berkas.
- Pembuatan dan penghapusan
direktori.
- Mendukung manipulasi berkas dan
direktori.
- Memetakan berkas ke secondary
storage.
- Mem-backup berkas ke
media penyimpanan yang permanen (non-volatile).
Proteksi
mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program,
prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
- membedakan antara penggunaan
yang sudah diberi izin dan yang belum.
- specify the controls to be imposed.
- provide a means of enforcement.
Sistem
terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori atau clock.
Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung
melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke
bermacam sumber-daya sistem. Akses tersebut menyebabkan:
- Computation speed-up.
- Increased data availability.
- Enhanced reliability.
Sistem
Operasi menunggu instruksi dari pengguna (command driven). Program yang
membaca instruksi dan mengartikan control statements umumnya disebut: control-card
interpreter, command-line interpreter, dan UNIX shell. Command-Interpreter
System sangat bervariasi dari satu sistem operasi ke sistem operasi yang
lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada.
Contohnya: CLI, Windows, Pen-based (touch), dan
lain-lain.
Sebuah mesin
virtual (Virtual Machine) menggunakan misalkan terdapat sistem program
=> control program yang mengatur pemakaian sumber daya perangkat keras.
Control program = trap System call + akses ke perangkat keras. Control
program memberikan fasilitas ke proses pengguna. Mendapatkan jatah CPU dan
memori. Menyediakan interface "identik" dengan apa yang
disediakan oleh perangkat keras =>sharing devices untuk berbagai
proses.
Mesin
Virtual (MV) (MV) => control program yang minimal MV memberikan ilusi multitasking:
seolah-olah terdapat prosesor dan memori ekslusif digunakan MV. MV memilah
fungsi multitasking dan implementasi extended machine (tergantung
proses pengguna) => flexible dan lebih mudah untuk pengaturan.