Sistem Operasi
Ø Sistem Operasi
Sistem
operasi merupakan sebuah penghubung antara pengguna dari komputer dengan
perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan
komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan
berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem
operasi dengan keunggulan masing-masing. Untuk lebih memahami system operasi
maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai
sistem operasi itu sendiri. Pengertian sistem operasi secara umum ialah
pengelola seluruh sumber-daya yang terdapat pada system komputer dan
menyediakan sekumpulan layanan (system calls) ke pemakai sehingga
memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem
komputer.
Ø Fungsi Dasar
Sistem
komputer pada dasarnya terdiri dari empat komponen utama, yaitu
perangkat-keras, program aplikasi, sistem-operasi, dan para pengguna. Sistem
operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh
berbagai program aplikasi serta para pengguna.Sistem operasi berfungsi ibarat
pemerintah dalam suatu negara, dalam arti membuat kondisi computer agar dapat
menjalankan program secara benar. Untuk menghindari konflik yang terjadi pada
saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur
pengguna mana yang dapat mengakses suatu sumber-daya. Sistem operasi juga
sering disebut resource allocator. Satu lagi fungsi penting sistem
operasi ialah sebagai program pengendali yang bertujuan untuk menghindari
kekeliruan (error) dan penggunaan komputer yang tidak perlu.
Ø Tujuan Mempelajari Sistem Operasi
Tujuan
mempelajari sistem operasi agar dapat merancang sendiri serta dapat
memodifikasi sistem yang telah ada sesuai dengan kebutuhan kita, agar dapat
memilih alternatif sistem operasi, memaksimalkan penggunaan sistem operasi dan
agar konsep dan teknik sistem operasi dapat diterapkan pada aplikasi-aplikasi
lain.
Ø Sasaran Sistem Operasi
Sistem
operasi mempunyai tiga sasaran utama yaitu kenyamanan -- membuat
penggunaan computer menjadi lebih nyaman, efisien -- penggunaan
sumber-daya sistem komputer secara efisien, serta mampu berevolusi --
sistem operasi harus dibangun sehingga memungkinkan dan memudahkan
pengembangan, pengujian serta pengajuan sistem-sistem yang baru.
Ø Sejarah Sistem Operasi
Menurut
Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat
dibagi kedalam empat generasi:
•
Generasi Pertama (1945-1955)
Generasi
pertama merupakan awal perkembangan sistem komputasi elektronik sebagai
pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk
menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan
bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer
diberi instruksi yang harus dikerjakan secara langsung.
• Generasi
Kedua (1955-1965)
Generasi
kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan
dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem
komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi
telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.
• Generasi
Ketiga (1965-1980)
Pada
generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak
pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal
secara on-line ke komputer, maka sistem operasi menjadi multi-user (di
gunakan banyak pengguna sekaligus) dan multi-programming (melayani
banyak program sekali gus).
• Generasi
Keempat (Pasca 1980an)
Dewasa
ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai
menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya.
Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User
Interface yaitu antar-muka komputer yang berbasis grafis yang sangat
nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi
tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai
kinerja yang lebih baik.
Ø Layanan Sistem Operasi
Sebuah sistem operasi yang baik menurut Tanenbaum harus
memiliki layanan sebagai berikut: pembuatan program, eksekusi program,
pengaksesan I/O Device, pengaksesan terkendali terhadap berkas pengaksesan
sistem, deteksi dan pemberian tanggapan pada kesalahan, serta akunting. Pembuatan
program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu
para pemrogram untuk menulis program; Eksekusi Program yang berarti
Instruksi-instruksi dan data-data harus dimuat ke memori utama,
perangkat-parangkat masukan/ keluaran dan berkas harus di-inisialisasi, serta
sumber-daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem
operasi; Pengaksesan I/O Device, artinya Sistem Operasi harus mengambil
alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar
pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi;
Pengaksesan terkendali terhadap berkas yang artinya
disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan
pengaksesan terhadap berkas; Pengaksesan sistem artinya pada pengaksesan
digunakan bersama (shared system); Fungsi pengaksesan harus menyediakan
proteksi terhadap sejumlah sumber-daya dan data dari pemakai tak terdistorsi
serta menyelesaikan konflik-konflik dalam perebutan sumber-daya; Deteksi dan
Pemberian tanggapan pada kesalahan, yaitu jika muncul permasalahan muncul pada
sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan
kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan;
dan
Akunting
yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan
beragam sumber-daya dan memonitor parameter kinerja.
Ø Struktur Komputer
Struktur
sebuah sistem komputer dapat dibagi menjadi:
• Sistem
Operasi Komputer.
•
Struktur I/O.
•
Struktur Penyimpanan.
• Storage
Hierarchy.
•
Proteksi Perangkat Keras.
Ø Sistem Operasi Komputer
Dewasa
ini sistem komputer multiguna terdiri dari CPU (Central Processing Unit);
serta sejumlah device controller yang dihubungkan melalui bus yang
menyediakan akses ke memori. Setiap device controller bertugas mengatur
perangkat yang tertentu (contohnya disk drive, audio device, dan video
display). CPU dan device controller dapat dijalankan secara
bersamaan, namun demikian diperlukan mekanisme sinkronisasi untuk
mengatur akses ke memori. Pada saat pertama kali dijalankan atau pada
saat boot, terdapat sebuah program awal yang mesti dijalankan.
Program awal ini disebut program bootstrap. Program ini berisi semua
aspek dari system komputer, mulai dari register CPU, device controller,
sampai isi memori. Interupsi merupakan bagian penting dari sistem arsitektur
komputer. Setiap sistem komputer memiliki mekanisme yang berbeda. Interupsi
bisa terjadi apabila perangkat keras (hardware) atau perangkat lunak (software)
minta "dilayani" oleh prosesor. Apabila terjadi interupsi maka
prosesor menghentikan proses yang sedang dikerjakannya, kemudian beralih
mengerjakan service routine untuk melayani interupsi tersebut. Setelah
selesai mengerjakan service routine maka prosesor kembali melanjutkan
proses yang tertunda.
Ø Struktur I/O
Bagian
ini akan membahas struktur I/O, interupsi I/O, dan DMA, serta perbedaan dalam
penanganan interupsi.
a.
Interupsi I/O
Untuk
memulai operasi I/O, CPU me-load register yang bersesuaian ke device
controller. Sebaliknya device controller memeriksa isi register
untuk kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi
I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan asynchronous
I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna
setelah proses I/O selesai dikerjakan. Sedangkan pada asynchronous I/O,
kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai.
Sehingga proses I/O dan proses pengguna dapat dijalankan secara bersamaan.
b.
Struktur DMA
Direct
Memory Access (DMA) suatu metoda penanganan I/O dimana device controller
langsung berhubungan dengan memori tanpa campur tangan CPU. Setelah men-set
buffers, pointers, dan countersuntuk perangkat I/O, device
controller mentransfer blok data langsung ke penyimpanan tanpa campur tangan
CPU. DMA digunakan untuk perangkat I/O dengan kecepatan tinggi. Hanya terdapat
satu interupsi setiap blok, berbeda dengan perangkat yang mempunyai
kecepatan rendah dimana interupsi terjadi untuk setiap byte (word).
Ø Struktur Penyimpanan
Program
komputer harus berada di memori utama (biasanya RAM) untuk dapat dijalankan.
Memori utama adalah satu-satunya tempat penyimpanan yang dapat diakses secara
langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat
disimpan dalam memori utama secara permanen. Namun demikian hal ini tidak
mungkin karena:
• Ukuran memori utama relatif kecil untuk dapat menyimpan
data dan program secara keseluruhan.
• Memori utama bersifat volatile, tidak bisa
menyimpan secara permanen, apabila komputer dimatikan
maka data yang tersimpan di memori utama akan hilang.
a)
Memori Utama
Hanya
memori utama dan register merupakan tempat penyimpanan yang dapat diakses
secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan
dieksekusi harus disimpan di memori utama atau register. Untuk mempermudah
akses perangkat I/O ke memori, pada arsitektur komputer menyediakan fasilitas pemetaan
memori ke I/O. Dalam hal ini sejumlah alamat di memori dipetakan dengan device
register. Membaca dan menulis pada alamat memori ini menyebabkan data
ditransfer dari dan ke device register. Metode ini cocok untuk perangkat
dengan waktu respon yang cepat seperti video controller. Register yang
terdapat dalam prosesor dapat diakses dalam waktu 1 clock cycle. Hal ini
menyebabkan register merupakan media penyimpanan dengan akses paling cepat
bandingkan dengan memori utama yang membutuhkan waktu relatif lama. Untuk
mengatasi perbedaan kecepatan, dibuatlah suatu penyangga (buffer)
penyimpanan yang disebut cache.
b)
Magnetic Disk
Magnetic
Disk berperan sebagai secondary storage pada sistem komputer modern.
Magnetic Disk disusun dari piringan-piringan seperti CD. Kedua permukaan
piringan diselimuti oleh bahan-bahan magnetik. Permukaan dari piringan
dibagi-bagi menjadi track yang memutar, yang kemudian dibagi lagi
menjadi
beberapa sektor.
c)
Storage Hierarchy
Dalam
storage hierarchy structure, data yang sama bisa tampil dalam level
berbeda dari system penyimpanan. Sebagai contoh integer A berlokasi pada bekas
B yang ditambahkan 1, dengan asumsi bekas B terletak pada magnetic disk.
Operasi penambahan diproses dengan pertama kali mengeluarkan operasi I/O untuk
menduplikat disk block pada A yang terletak pada memori utama Operasi ini
diikuti dengan kemungkinan penduplikatan A ke dalam cache dan penduplikatan
A ke dalam internal register. Sehingga penduplikatan A terjadi di beberapa
tempat. Pertama terjadi di internal register dimana nilai A berbeda dengan yang
di sistem penyimpanan. Dan nilai di A akan kembali sama ketika nilai baru
ditulis ulang ke magnetic disk. Pada kondisi multi prosesor, situasi
akan menjadi lebih rumit. Hal ini disebabkan masing-masing prosesor mempunyai local
cache. Dalam kondisi seperti ini hasil duplikat dari A mungkin hanya ada di
beberapa cache. Karena CPU (register-register) dapat dijalankan secara
bersamaan maka kita harus memastikan perubahan nilai A pada satu cache akan
mengubah nilai A pada semua cache yang ada. Hal ini disebut sebagai Cache
Coherency.
Ø Proteksi Perangkat Keras
Sistem
komputer terdahulu berjenis programmer-operated systems. Ketika komputer
dioperasikan dalam konsul mereka (pengguna) harus melengkapi sistem terlebih
dahulu. Akan tetapi setelah sistem operasi lahir maka hal tersebut diambil alih
oleh sistem operasi. Sebagai contoh pada monitor yang proses I/O sudah diambil
alih oleh sistem operasi, padahal dahulu hal ini dilakukan oleh pengguna. Untuk
meningkatkan utilisasi sistem, sistem operasi akan membagi sistem sumber daya
sepanjang program secara simultan. Pengertian spooling adalah suatu
program dapat dikerjakan walau pun I/O masih mengerjakan proses lainnya dan
disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi
programming adalah kegiatan menjalankan beberapa program pada memori pada
satu waktu. Pembagian ini memang menguntungkan sebab banyak proses dapat
berjalan pada satu waktu akan tetapi mengakibatkan masalah-masalah baru. Ketika
tidak di sharing maka jika terjadi kesalahan hanyalah akan membuat kesalahan
program. Tapi jika di-sharing jika terjadi kesalahan pada satu proses/ program
akan berpengaruh pada proses lainnya. Sehingga diperlukan pelindung (proteksi).
Tanpa proteksi jika terjadi kesalahan maka hanya satu saja program yang dapat
dijalankan atau seluruh output pasti diragukan. Banyak kesalahan pemprograman
dideteksi oleh perangkat keras. Kesalahan ini biasanya ditangani oleh sistem
operasi. Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada
sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan
kesalahan disampaikan, dan memori dari program akan dibuang. Tapi memori yang
terbuang biasanya tersimpan pada disk agar programmer bisa membetulkan
kesalahan dan menjalankan program ulang.
a.
Operasi Dual Mode
Untuk
memastikan operasi berjalan baik kita harus melindungi sistem operasi, program,
dan data dari program-program yang
salah. Proteksi ini memerlukan share resources. Hal ini bisa dilakukan system
operasi dengan cara menyediakan pendukung perangkat keras yang mengizinkan kita
membedakan mode pengeksekusian program. Mode yang kita butuhkan ada dua mode
operasi yaitu:
• Mode Monitor.
• Mode Pengguna.
Pada
perangkat keras akan ada bit atau Bit Mode yang berguna untuk membedakan mode
apa yang sedang digunakan dan apa yang sedang dikerjakan. Jika Mode Monitor
maka akan benilai 0, dan jika Mode Pengguna maka akan bernilai 1. Pada saat boot
time, perangkat keras bekerja pada mode monitor dan setelah sistem operasi
di load maka akan mulai masuk ke mode pengguna. Ketika terjadi trap atau
interupsi, perangkat keras akan men-switch lagi keadaan dari mode
pengguna menjadi mode monitor (terjadi perubahan state menjadi bit 0).
Dan akan kembali menjadi mode pengguna jikalau sistem operasi mengambil alih proses
dan control komputer (state akan berubah menjadi bit 1).
b.
Proteksi I/O
Pengguna
bisa mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan mengakses
lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari
prosesor. Untuk mencegahnya kita menganggap semua instruksi I/O sebagai privilidge
instruction sehingga mereka tidak bisa mengerjakan instruksi I/O secara
langsung ke memori tapi harus lewat sistem operasi terlebih dahulu. Proteksi
I/O dikatakan selesai jika pengguna dapat dipastikan tidak akan menyentuh mode monitor.
Jika hal ini terjadi proteksi I/O dapat dikompromikan.
c.
Proteksi Memori
Salah
satu proteksi perangkat keras ialah dengan proteksi memori yaitu dengan
pembatasan penggunaan memori. Disini diperlukan beberapa istilah yaitu:
• Base Register yaitu alamat memori fisik awal yang
dialokasikan/ boleh digunakan oleh pengguna.
• Limit Register yaitu nilai batas dari alamat memori
fisik awal yang dialokasikan/boleh digunakan oleh
pengguna.
• Proteksi Perangkat Keras.
Sebagai contoh sebuah pengguna dibatasi mempunyai
base register 300040 dan mempunyai limit
register 120900 maka pengguna hanya diperbolehkan
menggunakan alamat memori fisik antara 300040 hingga 420940 saja.
Ø Struktur Sistem Operasi
1)
Komponen-komponen Sistem
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:
• Managemen Proses.
• Managemen Memori Utama.
• Managemen Secondary-Storage.
• Managemen Sistem I/O.
• Managemen Berkas.
• Sistem Proteksi.
• Jaringan.
• Command-Interpreter system.
2)
Managemen Proses
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. Sistem operasi bertanggung jawab atas
aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem
proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
3)
Managemen Memori Utama
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.
4) Managemen
Secondary-Storage
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.
5)
Managemen Sistem I/O
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.
6)
Managemen Berkas
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).
7)
Sistem Proteksi
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.
8)
Jaringan
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.
9) Command-Interpreter
System
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.
10) Layanan
Sistem Operasi
Eksekusi
program adalah kemampuan sistem untuk "load" program ke memori
dan menjalankan
program.
Operasi I/O: pengguna tidak dapat secara langsung mengakses sumber daya
perangkat keras, sistem operasi harus menyediakan mekanisme untuk melakukan
operasi I/O atas nama pengguna. Sistem manipulasi berkas dalah kemampuan
program untuk operasi pada berkas (membaca, menulis, membuat, and menghapus
berkas). Komunikasi adalah pertukaran data/ informasi antar dua atau lebih
proses yang berada pada satu komputer (atau lebih). Deteksi error adalah
menjaga kestabilan sistem dengan mendeteksi "error", perangkat
keras mau pun operasi.
Efesisensi
penggunaan sistem:
• Resource allocator adalah mengalokasikan
sumber-daya ke beberapa pengguna atau job yang jalan
pada saat yang bersamaan.
• Proteksi menjamin akses ke sistem sumber daya
dikendalikan (pengguna dikontrol aksesnya ke
sistem).
• Accounting adalah merekam kegiatan pengguna,
jatah pemakaian sumber daya (keadilan atau
kebijaksanaan).
11) System
Calls
System
call menyediakan interface antara program (program pengguna yang berjalan)
dan bagian OS. System call menjadi jembatan antara proses dan sistem
operasi. System call ditulis dalam bahasa assembly atau bahasa
tingkat tinggi yang dapat mengendalikan mesin (C). Contoh: UNIX menyediakan system
call: read, write => operasi I/O untuk berkas. Sering pengguna
program harus memberikan data (parameter) ke OS yang akan dipanggil. Contoh
pada UNIX: read(buffer, max_size, file_id); Tiga cara memberikan parameter dari
program ke sistem operasi:
• Melalui registers (sumber daya di CPU).
• Menyimpan parameter pada data struktur (table) di
memori, dan alamat table tsb ditunjuk oleh pointer
yang disimpan di register.
• Push (store) melalui "stack"
pada memori dan OS mengambilnya melalui pop pada stack tsb.
12) Mesin
Virtual
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. Jika setiap
pengguna diberikan satu MV => bebas untuk menjalankan OS (kernel) yang diinginkan
pada MV tersebut. Potensi lebih dari satu OS dalam satu komputer. Contoh: IBM
VM370: menyediakan MV untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah:
Sharing disk => OS mempunyai sistem berkas yang mungkin berbeda. IBM:
virtual disk (minidisk) yang dialokasikan untuk pengguna melalui MV. Konsep MV
menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap MV terpisah
dari MV yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing sumberdaya
secara langsung. MV merupakan alat yang tepat untuk penelitian dan pengembangan
sistem operasi. Konsep MV susah untuk diimplementasi sehubungan dengan usaha
yang diperlukan untuk menyediakan duplikasi dari mesin utama.
13) Perancangan
Sistem dan Implementasi
Target
untuk pengguna: sistem operasi harus nyaman digunakan, mudah dipelajari, dapat
diandalkan, aman dan cepat. Target untuk sistem: sistem operasi harus gampang
dirancang, diimplementasi, dan dipelihara, sebagaimana fleksibel, error,
dan efisien. Mekanisme dan Kebijaksanaan:
• Mekanisme menjelaskan bagaimana melakukan sesuatu
kebijaksanaan memutuskan apa yang akan dilakukan. Pemisahan kebijaksanaan dari
mekanisme merupakan hal yang sangat penting; ini mengizinkan fleksibilitas yang
tinggi bila kebijaksanaan akan diubah nanti.
• Kebijaksanaan memutuskan apa yang akan dilakukan.
Pemisahan kebijaksanaan dari mekanisme merupakan hal yang
sangat penting; ini mengizinkan fleksibilitas yang tinggi bila kebijaksanaan
akan diubah nanti. Implementasi Sistem biasanya menggunakan bahas assembly,
sistem operasi sekarang dapat ditulis dengan menggunakan bahasa tingkat tinggi.
Kode yang ditulis dalam bahasa tingkat tinggi: dapat dibuat dengan cepat, lebih
ringkas, lebih mudah dimengerti dan didebug. Sistem operasi lebih mudah dipindahkan
ke perangkat keras yang lain bila ditulis dengan bahasa tingkat tinggi.
14) System
Generation (SYSGEN)
Sistem
operasi dirancang untuk dapat dijalankan di berbagai jenis mesin; sistemnya
harus di konfigurasi untuk tiap komputer. Program SYSGEN mendapatkan informasi
mengenai konfigurasi khusus dari sistem perangkat keras.
• Booting: memulai komputer dengan me-load kernel.
• Bootstrap program: kode yang disimpan di code ROM
yang dapat menempatkan kernel,
memasukkannya kedalam memori, dan memulai eksekusinya.