1.
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.
a.
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.
b.
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.
c. 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.
d.
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 sekali gus) dan multi-programming (melayani
banyak program sekaligus).
• 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.
e.
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.
2.
Struktur Komputer
Struktur sebuah sistem komputer dapat dibagi menjadi:
• Sistem
Operasi Komputer.
• Struktur
I/O.
• Struktur
Penyimpanan.
• Storage
Hierarchy.
• Proteksi
Perangkat Keras.
a. 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.
b. Struktur
I/O
Bagian ini akan membahas struktur
I/O, interupsi I/O, dan DMA, serta perbedaan dalam penanganan interupsi.
-
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.
-
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 counters untuk 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).
c. 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.
§ 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.
§ 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.
d. 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.
e. 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.
§ 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).
§ 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.
§ 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.
3.
Struktur Sistem Operasi
a.
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.
b.
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.
c.
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.
d.
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.
e.
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.
f.
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).
g.
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.
h.
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.
i.
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.
j.
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, dan 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).
k.
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.
l.
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.
m.
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.
n.
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.
Komentar
Posting Komentar