Deskripsi mata kuliah sistem operasi :
Mata
kuliah sistem operasi mempelajari mengenai gambaran umum sistem komputer,
pengertian sistem operasi, manajemen
proses, manajemen memori, manajemen perangkat input/output, manajemen file,
algoritma penjadwalan job, deadlock dan algoritma pencegahannya, komunikasi
antar proses, multiprogramming, kongkurensi, sistem paging, sistem manajemen
file dan keamanan sistem.
Tinjauan umum sistem komputer
Sistem
operasi berkaitan erat dengan pengoperasian komputer. Konsep dan teknologi
sistem operasi berkembang sejalan dengan perkembangan teknologi komputer.
Komputer merupakan perangkat elektronik yang dirancang untuk membantu
menyelesaikan permasalahan yang dihadapi manusia Dewasa ini komputer digunakan
untuk menyelesaikan perhitungan akuntansi, komputasi numerik, pengelolaan basis
data perusahaan dan hiburan seperti memutar video dan memainkan games. Dengan
kata lain komputer dapat digunakan untuk berbagai tujuan.
Sistem komputer adalah suatu jaringan
elektronik yang terdiri dari hardware dan software yang melakukan tugas
tertentu (menerima input, memproses input, menyimpan
perintah-perintah, dan menyediakan output dalam bentuk informasi).
Selain itu dapat pula diartikan sebagai elemen-elemen yang terkait untuk
menjalankan suatu aktivitas dengan menggunakan komputer.
Hardware ialah Perangkat keras (komponen) pada komputer yang berfungsi sebagai pemroses, input atau
output data.
Contoh : Keyboard, monitor, CPU
Software adalah Perangkat lunak (program)
yang memproses data pada sistem komputer
Contohnya :
Program-program komputer
Software terbagi menjadi :
-Software sistem Contoh : Windows, Linux, Mac os
-Software aplikasi Contoh : Photoshop, Visual studio Internet explore.
Hardware terdiri empat komponen : 1. Pemroses 2. Memori utama 3. Perangkat Input & output 4. Interkoneksi antar komponen
1.
PEMROSES (processor)
Berfungsi Mengendalikan operasi komputer
dan melakukan fungsi pemrosesan data.
Terdiri : 1. ALU (Aritmetic Logic Unit) berfungsi mengeksekusi
operasi aritmetika dan logika
2. CU (Control Unit) berfungsi mengatur
eksekusi dan mengendalikan seluruh
komponen komputer
3. Register-register berfungsi sebagai tempat menampung instruksi,
data, maupun alamat data
Contoh : Intel pentium 4, intel core 2 duo, AMD
Prosesor merupakan otak
komputer yang berfungsi mengendalikan operasi komputer dan melakukan
manipulasi, operasi logic, proses menghitung dan mengelola aliran data dengan
membaca instruksi dalam memori utama (fungsi pemrosesan data)
Langkah kerja processor :
1. Mengambil instruksi biner dari memori utama. 2. Mendekode instruksi menjadi operasi
–operasi sederhana. 3. Melakukan operasi-operasi tersebut. Operasi pada
processor ada 3 tipe: -Operasi aritmatika -Operasi logika -Operasi pengendalian
2. Memori utama
(main memory) Berfungsi menyimpan
data dan program .
Bersifat Volatile, tidak dapat mempertahankan data dan
program yang disimpan bila sumber daya
listrik dihentikan.
Contohnya : RAM (random access memory)
Memory bekerja dengan menyimpan dan menyuplai data-data
penting yg dibutuhkan Processor dengan cepat untuk diolah menjadi informasi.
Sebagai contoh, saat anda membuka sebuah aplikasi misalnya browser mozila
firefox maka prosesor akan membuka program atau aplikasi tersebut dari hardisk
dan kemudian akan meload nya ke memory atau RAM.
Von
Neumann Concept :Program (kumpulan
instruksi) disimpan di suatu tempat (memori) untuk kemudian menunggu giliran
untuk dieksekusi
Arsitektur
von Neumann (atau Mesin Von Neumann)
adalah arsitektur yang diciptakan oleh John
von Neumann (1903-1957). Arsitektur ini
digunakan oleh hampir semua komputer saat ini.
- Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, “bus”
Mengetahui penggunaan memori pada Windows
Kita dapat melihat berapa banyak memori yang
dibutuhkan ketika menjalankan suatu aplikasi atau program. Caranya klik kanan
pada panel bar desktop layar komputer kemudian pilih Task Manager, atau melalui
tombol CRTL + ALT + DEL pada keyboard.
Perhatikan pada tap Applications, maka akan
menunjukkan aplikasi atau program yang sedang aktif saat ini,
Pada tap performance perhatikan pada kolom PF
usage, disitu terdapat sejumlah angka (itu adalah jumlah memori yang dibutuhkan
untuk menampilkan aplikasi). Semakin banyak aplikasi yang aktif maka semakin
besar memori yang dibutuhkan.
Perlu diketahui juga, meskipun kita tidak
membuka aplikasi sama sekali bukan berati kolom PF Usage akan menjadi angka 0,
karena sistem operasi windows juga membutuhkan memori agar bisa aktif atau
hidup pada komputer.
Bagaimana kerja memori pada saat komputer pertama
kali dihidupkan ?
Jawaban :
Ketika kita menyalakan komputer, komponen yang
pertama kali bekerja adalah Processor. Processor berfungsi sebagai pengolah
data dan meminta data dari tempat penyimpanan data (storage), yaitu Hard Disk
(HDD). Artinya data tersebut dikirim dari Hard Disk setelah ada permintaan dari
Processor.
Tapi prakteknya hal ini sulit dilakukan karena
perbedaan teknologi antara Processor & Hard Disk. Processor sendiri adalah
komponen digital murni, dan akan memproses data dengan sangat cepat (Bandwidth
tertinggi P4 saat ini 6,4 GB/s dengan FSB 800MHz). Sedangkan Hard Disk sebagian
besar teknologinya merupakan mekanis yang tentu cukup lambat dibandingkan
digital (Bandwidth atau Transfer Rate HDD Serial ATA berkisar 150 MB/s). Secara
teoritis kecepatan data Processor berkisar 46x lebih cepat dibanding HDD.
Artinya, apabila Processor menunggu pasokan data dari HDD akan terjadi
“Bottle-Neck” yang sangat parah.
Maka untuk mengatasi hal itu, diperlukan memori
utama atau disebut RAM. RAM berfungsi untuk membantu Processor dalam penyediaan
data “super cepat” yang dibutuhkan. RAM berfungsi layaknya seperti HDD Digital,
karena seluruh komponen RAM sudah menggunakan teknologi digital. Dengan RAM,
maka Processor tidak perlu menunggu kiriman data dari HDD.
3. Perangkat
masukan dan keluaran (peranti I/O) Berfungsi memindahkan data antara komputer dan
lingkungan eksternal
Terdiri : 1. Perangkat masukan (peranti
input) contohnya : keyboard, mouse, scanner
2. Perangkat keluaran (peranti output) contohnya : monitor, printer
Lingkungan eksternal memberikan interaksi
dengan user, melalui : Perangkat penyimpan sekunder, Perangkat komunikasi , Terminal.
4. Interkoneksi
antar komponen (sistem bus) Berfungsi
sebagai struktur dan mekanisme untuk menghubungkan ketiga komponen yaitu :
pemroses, memori utama, dan perangkat masukan/keluaran
Terdiri : 1. Bus kendali (control bus)
2. Bus alamat (address bus)3. Bus data (data bus)
N
BUS adalah Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem
N
Sistem Bus adalah Sebuah Bus yang menghubungkan komponen-komponen
utama komputer (CPU, Memori ,I/O) dalam menjalankan tugasnya.
N
Prosesor, memori utama, dan perangkat I/O dapat dinterkoneksikan
dengan menggunakan bus bersama yang fungsi utamanya adalah menyediakan jalur
komunikasi untuk transfer data.
N
Sebagai contoh, sebuah komputer PC dengan prosesor Intel Pentium 4 memiliki bus prosesor
(Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh
keyboard dan mouse), dan bus-bus lainnya.
N
Suatu transaksi bus meliputi 2 komponen :
o
Mengeluarkan perintah dan alamat – request (permintaan)
o
Memindahkan data – action (tindakan)
N
Master, Bus yang memulai transaksi bus dengan cara mengeluarkan
perintah dan alamat
N
Slave, Bus yang bereaksi terhadap alamat dengan cara :
o
Mengirimkan data kepada master jika master meminta data
o
Menerima data dari master jika master mengirim data
o
Data Bus, adalah lintasan bagi perpindahan data antar modul.
Secara kolektif, lintasan ini disebut bus data. Umumnya jumlah saluran terkait
dengan panjang word, misalnya 8, 16, 32 saluran dengan tujuan agar mentransfer
word dalam sekali waktu. Jumlah saluran dalam bus data dikatakan lebar bus,
dengan satuan bit, misal lebar bus 16 bit.
Address
Bus, digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
Saluran ini digunakan untuk mengirim alamat word pada memori yang akan diakses
CPU. Juga digunakan untuk saluran alamat perangkat modul komputer saat CPU
mengakses suatu modul. Perlu diketahui, semua peralatan yang terhubung dengan
sistem komputer, agar dapat diakses harus memiliki alamat. Semisal mengakses
port I/O, maka port I/O harus memiliki alamat hardware-nya.
Control Bus, digunakan untuk mengontrol bus
data, bus alamat dan seluruh modul yang ada. Karena bus data dan bus alamat
digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang
dikontrol melalui bus kontrol ini. Sinyal – sinyal kontrol terdiri atas sinyal
pewaktuan dan sinyal – sinyal perintah. Sinyal pewaktuan menandakan validitas
data dan alamat, sedangkan sinyal perintah berfungsi membentuk suatu operasi.
Tipe - Tipe Bus
ï Bus ISA (Industry
Standar Architecture), adalah Bus PC/AT (16 bit) yang beroperasi pada 8,33
MHz. Keuntungannya adalah bahwa pendekatan ini tetap mempertahankan
kompatibilitas dengan mesin-mesin dan kartu-kartu yang ada.
ï Bus PCI (Peripheral
Component Interconnect), adalah Bus yang tidak tergantung prosesor dan
berfungsi sebagai bus mezzanine atau bus peripheral. PCI memiliki kinerja
tinggi untuk sistem I/O berkecepatan tinggi seperti : video adaptor, NIC, disk
controller, sound card, dan lain-lain.Standard PCI adalah 64 saluran data pada
kecepatan 33 MHz, laju transfer data 264 MB per detik atau 2,112 Gbps.
Keunggulan PCI tidak hanya pada kecepatannya saja tetapi murah dengan keping
yang sedikit.
ï Bus USB (Universal
Serial Bus),
Proses lengkap penjumlahan dua nilai yang tersimpan dalam
memori dapat dipecah kedalam lima langkah sebagai berikut :
- Ambil salah satu nilai yang akan dijumlahkan dari memori dan letakkan dalam sebuah register.
- Ambil nilai lainnya yang akan dijumlahkan dari memori dan letakkan dalam register yang berbeda.
- Aktifkan rangkaian penjumlahan dengan menggunakan register-register dalam langkah 1 dan 2 sebagai inputnya dan sebuah register lainnya yang ditetapkan sebagai tempat penyimpanan hasil penjumlahan.
- Simpan hasil penjumlahan di dalam memori.
- Berhenti.
Singkatnya, data harus dipindahkan
dari memori utama ke processor, nilai-nilai harus dijumlahkan dalam processor,
dan hasilnya harus disimpan dalam sebuah sel memori.
Jenis instruksi yang dijalankan oleh processor
antara lain:
1. Pertukaran data antara pocessor dan memori
utama Instruksi ini dilakukan ketika data harus dibaca/ditulis ke memori
utama.
2. Pertukaran data antara processor dan modul
I/O Instruksi ini dilakukan ketika data harus dibaca/ditulis ke peranti
I/O. Umumnya data-data untuk operasi I/O akan disimpan sementara di memori
utama sebelum diproses oleh processor.
3. Pemrosesan data oleh processor Instruksi
ini dilakukan jika diperlukan operasi-operasi aritmatika ataupun logika.
4. Operasi kendali. Instruksi ini
dilakukan jika diperlukan pengaturan alur eksekusi instruksi seperti operasi
lompat (jump) ke instruksi tertentu.
Untuk
menjalankan tugasnya, processor membutuhkan tempat menampung instruksi, data,
maupun alamat data. Memori semacam ini disebut register. Jenis-jenis
register yang umumnya terdapat pada processor sebagai berikut :
Register
Pengguna Yaitu register yang dapat digunakan untuk
menyimpan data serta alamat data program.
Register
Status dan Kontrol Yaitu register yang
digunakan untuk mengontrol eksekusi kode instruksi program.
Register Pengguna, terdiri atas :
Register Data Register ini digunakan
untuk menyimpan data yang dibaca dari memori ataupun yang akan diproses di ALU.
Yang termasuk register data antara lain register AX, BX, CX, DX.
Register Alamat Register ini digunakan
untuk menyimpan alamat memori dari data ataupun kode instruksi program yang
akan diakses oleh processor. Register
alamat dapat dikelompokkan ke dalam register indeks (index register,
seperti register SI, DI), register segmen (segment register, seperti register
ES, DS, SS) dan register pointer (pointer register, seperti BP, SP)
Register
Status dan Control, terdiri atas :
Register
penghitung (PC, Program Counter Register) Register
ini menyimpan alamat memori (alamat relatif/logika) dari kode instruksi yang
sedang dieksekusi.
Register
segmen kode instruksi (CS, Code Segment Register) Register ini meyimpan alamat segmen memori dari kode
instruksi yang sedang dieksekusi.
Register
Instruksi (IR, Instruction register) Register ini
menyimpan alamat kode instruksi yang sedang/akan dieksekusi. Kode instruksi ini
dibaca dari memori fisik menggunakan alamat yang ditunjukkan oleh register CS
dan PC.
Register
status (F, Flag Register) Register ini
menyimpan sejumlah status hasil eksekusi kode instruksi yang sedang berlangsung.
Misalkan jika terjadi pembagian dengan bilangan nol maka kondisi tersebut akan
dicatat di register status.
In terupsi adalah Adalah
sinyal perangkat
lunak ataupun sinyal perangkat keras, terutama peranti I/O, untuk meminta
processor melakukan suatu tugas tertentu.
Interupsi, terdiri dari :
Interupsi Perangkat Lunak (Software Interrupt) Yaitu interupsi yang
diakibatkan oleh kode instruksi atau efek dari perangkat lunak. Interupsi ini
sering juga disebut system call, karena umumnya digunakan untuk meminta layanan
atau penanganan dari sistem operasi. Contoh kondisi yang memicu terjadinya
interupsi perangkat lunak adalah : program meminta sistem untuk mencetak hasil
keluaran atau output ke printer, atau terjadi kondisi pembagian dengan bilangan
nol (division by zero) ataupun hasil operasi aritmatika melebihi presisi tipe
data penyimpan (arithmetic overflow).
Interupsi
Perangkat Keras (Hardware Interrupt) Yaitu interupsi yang diakibatkan aksi pada
perangkat keras, terbagi dua :
- Maskable Interrupt, yaitu interupsi yang disela, misalkan : interupsi oleh timer, penekanan keyboard atau mouse.
- Non-Maskable Interrupt, yaitu interupsi yang tidak dapat disela, misalnya terjadi kegagalan perangkat keras seperti penyuplai tenaga (power failure) ataupun memory (memory parity error).
Cara kerja interupsi :
Setiap
interupsi memiliki rutin interupsi (ISR, Interrrupt service routine), yaitu
kumpulan instruksi yang akan dieksekusi jika interupsi tersebut terjadi. Rutin
interupsi atau ISR disimpan di memory pada saat komputer dihidupkan. Alamat
memori dari ISR ini disimpan sebagai referensi dalam suatu tabel interupsi IST
(interrupt service table). Ketika interupsi terjadi, processor akan menunda
program yang sedang dieksekusi, kemudian menyimpan isi register-register
processor, disebut juga dengan konteks processor, ke memory.
Proses
selanjutnya akan membaca (lookup) di IST untuk mengetahui alamat ISR interupsi
bersangkutan. Dalam pembacaan ini, processor menggunakan nomor interupsi yang
dibangkitkan perangkat keras sebagai nomor indeks untuk membaca IST. Seteleh
mengetahui alamat ISR, processor mulai membaca kode instruksi ISR dan
mengeksekusinya.
Setelah
eksekusi ISR selesai, processor akan kembali mengeksekusi program yang
tertunda, yang diawali dengan mengisi kembali register-register processor
sehingga kondisinya sama seperti sebelum terjadi interupsi.

Sistem Operasi
Definisi : Perangkat lunak (software) yang berfungsi
untuk mengelola seluruh
komponen dan sumber daya
sistem komputer, baik fisik maupun
nonfisik (misalkan data) agar
dapat digunakan secara optimal.
Fungsi :
- Sebagai Extended Machine (Virtual Machine), menyediakan sekumpulan layanan (system call) ke pemakai
- Sebagai pengelola sumber daya (Resource Manager), mengelola seluruh sumber daya yg terdapat pada sistem komputer
- a. Contoh Sistem operasi komputer pribadi :
- Ms.DOS, Windows 95, Windows XP, Windows 7, Linux, Macintosh
- Contoh Sistem operasi mini-computer :
- OS/360
- Contoh Sistem operasi pada PDA (personal digital asistant):
- PalmOS, Windows CE, Symbian
Sumber
daya sistem komputer
Adalah semua komponen
di sistem komputer yang dapat memberi manfaat. Sumber daya ini terdiri dari :
1. Sumber daya fisik
2. Sumber daya nonfisik
(abstrak)
Perangkat sumber daya fisik
N
Keyboard,barcode reader
N
Mouse,joystick, light-pen,track ball,touch screen
N
Floppy disk drive,harddisk, tape drive,optical disk, CD ROM
drive
N
Layar monitor, Printer
Sumber Daya Fisik
N Modem,ethernet card,
PCMCIA
N Memory akses acak (RAM),
chace memory, register,dll
N Sound card, kamera,
radio,dll
N Scanner, digitizer,
plotter,dll
N Sensor inframerah
N
Sumber Daya Nonfisik (abstrak)
N
Sumber daya abstrak
N Data Program
N
Data Semaphore
N PCB (Process Control
Block)
N Tabel segmen,tabel
page,I-node,FAT
N File (berkas) Dll.
Sistem operasi sebagai Extended Machine
Pada awal perkembangan
komputer, dimana belum ada sistem operasi, semua operasi komputer dilakukan
secara manual menggunakan panel kontrol oleh para ahli.
sistem
operasi dikembangkan secara bertahap untuk mengotomatisasi hal-hal yang tadinya
harus dilakukan secara manual. Selain itu sistem operasi menyembunyikan detil
operasi perangkat keras serta menyediakan antarmuka operasi yang lebih
sederhana dan mudah dimengerti oleh pengguna. Dengan kata lain, sistem operasi
melakukan abstraksi bagi pengguna terhadap pengaksesan sumber daya komputer.
Dengan adanya sistem operasi, pengguna hanya
melihat komputer sebagai mesin yang dapat menjalankan tugas-tugas yang
diberikan kepadanya, seperti memutar lagu, melakukan perhitungan matematis.
Pengguna tidak perlu tahu bagaimana sesungguhnya mekanisme kerja internal
komputer seperti :
a.
menyalin kode instruksi program ke memori.
b.
melakukan perhitungan diprocessor.
c.
menyimpan data ke suatu alamat disk
d.
bagaimana caranya data-data dikirim ke printer lewat kabel paralel.
Sistem operasi sebagai Resource Manager
Pada
sistem komputer dimungkinkan beberapa job dijadwal secara bergantian untuk
menggunakan processor. Sumber daya komputer dibagi pakai oleh job-job tersebut.
Caranya adalah dengan melakukan multipleks (multiplexing) pada pengguna sumber
daya, baik dari segi waktu maupun ruang.
Contoh
sumber daya yang dimultipleks secara waktu adalah processor dan printer. Multi
programing pada processor tunggal dicapai dengan melakukan alokasi processor
kepada masing-masing job secara bergantian. Setiap kali terjadi pergantian job,
status eksekusi dari job sebelumnya harus disimpan sehingga jika eksekusi
kembali lagi kepadanya, job tersebut dapat melanjutkan eksekusinya dari keadaan
terakhirnya. Ini merupakan tugas sistem operasi.
Sejarah
Perkembangan SO
- Generasi ke-nol (1940)
Komponen utama tabung hampa
udara
Sistem komputer belum
menggunakan Sistem Operasi
Semua operasi komputer
dilakukan secara manual melalui plugboard, dan hanya bisa digunakan untuk
menghitung +, - , dan *
2.
Generasi Pertama (1950)
Komponen utama transistor
Input memakai punch card
3. Generasi Kedua (1960)
Komponen utama IC
Berkembang konsep :
1. Multiprogramming
2. Multiprocessor
- Spooling
- Device Independence
- Time Sharing
- Real time system
4. Generasi Ketiga (1970)
VLSI (Very-large-scale
integration)
Proses pembuatan IC dengan
kombinasi ribuan transistor dalam satu chip.
Konsep Generals Purpose System
5. Generasi Keempat (pertengahan 1970- sekarang)
PC makin populer
Sistem Operasi untuk jaringan
User Interface semakin user
friendly
Fungsi dan Sasaran Sistem Operasi
Sistem operasi mempunyai
dua fungsi utama, yaitu :
1. Sebagai resource
manager (pengelola seluruh
sumber daya)
2. Sebagai
extended/virtual machine (sebagai
penyedia layanan)
yaitu sistem operasi menyediakan
sekumpulan layanan (system call) ke pemakai sehingga memudahkan dan menyamankan
penggunaan atau pemanfaatan sumber daya sistem komputer.
Fungsi sistem operasi
sebagai resource manager
Sistem operasi bertanggung jawab mengelola
sumber-sumber daya sistem komputer.
Fungsi sistem operasi sebagai extended/virtual machine
Sistem
operasi dapat :
1.
Memberi abstraksi mesin tingkat tinggi yang lebih sederhana dan meyembunyikan
kerumitan perangkat keras.
2. Basis
untuk program lain.
Layanan-layanan pada
sistem operasi
Pembuatan program, yaitu sistem operasi
menyediakan beragam fasilitas dan layanan untuk membantu pemrogram menulis
program, biasanya berbentuk program utilitas. Program utilitas bukan bagian
sistem operasi tapi dapat diakses lewat sistem operasi.
Eksekusi program, yaitu sejumlah tugas
perlu dilakukan untuk mengeksekusi program. Instruksi-instruksi dan data harus
dimuat ke memori utama, perangkat I/O dan berkas-berkas harus diinisialisasi,
serta sumber daya harus disiapkan.
Pengaksesan perangkat
masukan/keluaran, yaitu tiap perangkat I/O memerlukan sejumlah instruksi atau
sinyal kendali yang rumit agar perangkat dapat beroperasi. Sistem operasi harus
mengambil alih rincian-rincian itu sehingga pemrogram dapat berpikir secara
sederhana dalam memanfaatkan perangkat, misalnya dalam abstraksi sebagai
membaca dan menulis berkas.
Pengaksesan terkendali
terhadap berkas, yaitu sistem operasi menyediakan mekanisme proteksi untuk
mengendalikan pengaksesan terhadap berkas.
Pengaksesan sistem, yaitu sistem operasi
mengendalikan pengaksesan ke sumber daya sistem secara keseluruhan pada sistem
publik atau dipakai bersama. Fungsi pengaksesan harus menyediakan proteksi
terhadap sumber daya dan data dari pemakai tak diotorisasi serta harus
menyelesaikan konflik-konflik dalam perebutan sumber daya.
Deteksi dan memberi
tanggapan terhadap kesalahan, yaitu sistem operasi harus memberi tanggapan yang menjelaskan
kondisi kesalahan dengan dampak terkecil bagi aplikasi-aplikasi yang sedang
berjalan.
Akunting, yaitu sistem operasi
mengumpulkan data statistik penggunaan sumber daya dan memonitor parameter
kinerja seperti waktu tanggap. Pada suatu sistem, informasi ini berguna dalam
mengantisipasi kebutuhan di masa datang dan dalam menyesuaikan sistem untuk
meningkatkan kinerja.
Komponen Sistem Operasi
Sebagai resource manager, sistem operasi menyediakan
rutin-rutin penanganan sumber daya komputer, rutin-rutin tersebut dapat
dikelompokkan sebagai berikut :
1. Manajemen proses
2. Manajemen memori
3. Manajemen device
4. Manajemen berkas
1. Manajemen Proses
Komponen
manajemen proses merupakan sentral dari sistem operasi dan menggunakan seluruh
komponen manajemen lainnya. Secara khusus manajemen proses bertugas mengelola
sumber daya komputer yang paling penting, yaitu processor.
Job-job
yang dieksekusi oleh processor secara teknis disebut proses. Tugas dari
manajemen proses adalah membuat proses-proses yang berjalan tidak saling
mengganggu bahkan saling bekerja sama. Proses adalah program yang sedang
dieksekusi, yang berarti bahwa program tersebut sedang dijadwal untuk menggunakan
processor. Suatu proses atau program yang sedang dieksekusi akan membutuhkan
sumber daya yang lain seperti memori, berkas, dan peranti lainnya untuk
menyelesaikan tugasnya
Tugas-tugas
komponen manajemen proses antara lain :
1.
Membuat dan menghentikan proses.
2.
Menunda dan melanjutkan kembali proses
3.
menyediakan mekanisme penjadwalan, komunikasi,
sinkronisasi, dan penanganan deadlock bagi proses-
proses yang
berjalan secara bersamaan
2. Manajemen Memori
Tugas
utama komponen manajemen memori adalah mengatur pemakaian ruang memori utama
yang terbatas agar dapat digunakan secara bersamaan oleh sebanyak mungkin
proses tanpa saling mengganggu satu sama lain.
Tugas-tugas
yang menjadi tanggung jawab manajemen memori antara lain :
1.
Mengelola memori kosong
2.
Mengalokasikan dan membebaskan ruang memori kepada proses sesuai kebutuhan.
3.
melakukan proteksi dan bagi pakai memori utama.
3. Manajemen Device
Tugas
utama komponen manajemen device adalah mengelola beragam device ataupun peranti
I/O yang berbeda karakteristiknya dapat digunakan dengan baik oleh
proses-proses.
Tugas-tugas
yang dilakukan oleh manajemen device antara lain :
1.
Penjadwalan peranti I/O,
2.
Buffering
3.
Caching
4.
Spooling
5.
Reservasi device
6.
Penanganan kesalahan pengaksesan peranti I/O
4. Manajemen Berkas
Berkas
adalah sekumpulan informasi yang saling berkaitan dan disimpan sebagai suatu
entitas tunggal pada media penyimpanan sekunder. Komponen manajemen berkas
terkait erat dengan pengelolaan berkas pada media penyimpanan sekunder.
Tugas-tugas
yang dilakukan manajemen berkas antara lain :
1.
Mendukung pembuatan dan operasi pada berkas dan direktori.
2.
Melakukan alokasi ruang disk ke berkas.
3.
Mengelola ruang kosong disk.
4.
Mengelola isi direktori.
5.
Melakukan proteksi dan berbagai pakai berkas.
6.
Melakukan pemulihan (recovery) terhadap berkas.
System Call
Adalah
prosedur atau rutin yang disediakan pustaka API (application programming
interface) yang umumnya berisi trap (semacam sinyal interupsi perangkat lunak)
untuk memanggil rutin-rutin dari sistem operasi.
Setiap
sistem operasi memiliki spesifikasi system call. Pada sistem operasi UNIX
memiliki POSIX sebagai spesifikasi standar system call-nya, sedangkan windows
memiliki spesifikasi Win32 API.
1. Struktur Monolitik
Yaitu sistem operasi sebagai kumpulan prosedur dimana prosedur
dapat saling dipanggil oleh prosedur lain disistem bila diperlukan.
Contohnya pada sistem operasi MSDOS dan UNIX
Keunggulan sistem monolitikKeunggulan sistem monolitik
1. Layanan dapat dilakukan sangat cepat karena terdapat disatu
ruang alamat.
Kelemahan sistem monolitik
1.
Pengujian dan penghilangan kesalahan sulit karena tak dapat
dipisahkan dan dilokalisasi.
2.
Sulit dalam menyediakan fasilitas pengamanan.
3.
Merupakan pemborosan bila setiap komputer harus menjalankan
kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh
layanan yang disediakan kernel tidak fleksibel.
4.
Kesalahan pemograman satu bagian dari kernel menyebabkan matinya
seluruh sistem.
Sistem Operasi MSDOS
Pada
sistem operasi MSDOS, antara aplikasi dan sistem operasi bahkan tidak ada
pemisahan yang jelas. Ini menyebabkan mudahnya program-program virus
memodifikasi dan merusak sistem operasi MSDOS.
Pada sistem operasi MSDOS, program aplikasi
memiliki akses untuk memodifikasi bagian sistem operasi (program resident,
device driver MSDOS, maupun device driver BIOS)
Sistem Operasi UNIX
Pada
sistem operasi UNIX, ada pemisahan antara program aplikasi dan sistem operasi.
Program aplikasi hanya dapat mengakses
rutin-rutin sistem operasi lewat system call. Tetapi rutin-rutin sistem
operasinya, seperti algoritma penjadwalan prosesor, manajemen sistem berkas,
driver disk dan tape, semuanya tercampur aduk jadi satu.
2. Struktur Berlapis
(Layered)
Yaitu
sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana
lapisan-lapisan bawah memberi layanan pada lapisan lebih atas.
Sistem
operasi yang pertama kali memakai sistem berlapis adalah THE oleh Djikstra dan
mahasiswa-mahasiswanya.
Struktur
berlapis dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi
sistem operasi. Tiap lapisan mempunyai fungsional dan antarmuka
masukan-keluaran antara dua lapisan bersebelahan yang terdefinisi bagus.
Contoh Struktur Layered – THE
¨ THE (Technische Hogeschool
at Eindhoven) Operating System (Dijkstra, 1968)
¡
Level 5 : operator / user
¡
Level 4 : user program
ú Menangani kompilasi,
eksekusi dan printing user program
¡
Level 3 : I/O management
¡
Level 2 : operator-process communication
¡
Level 1 : memory management
ú Alokasi memori untuk
proses
¡
Level 0 : processor allocation & multiprogramming
ú Menentukan alokasi proses
ke CPU, menangani interupsi dan perpindahan proses (sebagai scheduler)
Keunggulan sistem berlapis
1.
Memiliki semua rancangan modular, yaitu sistem dibagi menjadi
beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat
dirancang, dikode dan diuji secara independen.
2.
Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan
implementasi sistem operasi.
Kelemahan sistem berlapis
1. Fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan
secara hati-hati.
4. Struktur Sistem dengan Client-Server
Yaitu
sistem operasi yang mana proses-prosesnya dikategorikan sebagai server dan
client, sebagai berikut :
1. Server
adalah proses yang menyediakan layanan.
2. Client
adalah proses yang memerlukan /meminta layanan.
Keunggulan sistem client server
1.
Pengembangan dapat dilakukan secara modular.
2.
Kesalahan (bugs) di satu subsistem tidak merusak
subsistem-subsistem lain sehingga tidak mengakibatkan satu sistem mati secara
keseluruhan.
3.
Mudah diadaptasi untuk sistem tersebar.
Kelemahan sistem client server
1.
Layanan dilakukan lambat karena harus melalui pertukaran pesan.
2.
Pertukaran pesan dapat menjadi botleneck.
MANAJEMEN PROSES
TUGAS UTAMA MANAJEMEN PROSES :
1. Mengelola siklus hidup proses-proses.
2. Melakukan penjadwalan proses.
3. Menangani komunikasi antar proses.
4. Mengelola alokasi sumber daya komputer ke proses
1. Pengelolaan siklus hidup proses
Pengelolaan
siklus hidup proses meliputi :
a. Penciptaan
proses
b. Penghentian
proses
c. Pengalihan
eksekusi
a. Penciptaan proses
Penciptaan
proses dapat dipicu oleh permintaan pengguna untuk menjalankan suatu aplikasi
melalui aplikasi shell.
Proses
dapat juga diciptakan oleh suatu proses lain yang sedang berjalan, seperti
aplikasi shell yang menciptakan proses aplikasi lain yang diminta pengguna.
Selain
itu proses dapat pula diciptakan dalam suatu eksekusi batch seperti eksekusi
shell script, misalnya eksekusi berkas autoexec.bat di sistem operasi windows
ataupun eksekusi berkas script berekstensi *.bash di sistem operasi linux.
Berikut
tahap-tahap yang dilalui selama penciptaan :
1. Sistem
operasi akan membangkitkan suatu nomor identitas atau ID unik
untuk proses yang diciptakan.
2. Setelah itu
sistem operasi akan membuat suatu rekaman data dengan nomor
ID tersebut dan menyisipkan rekaman tersebut
pada suatu struktur data di
memori utama yang disebut dengan tabel
proses (process table).
3. Setelah itu,
sistem operasi mengalokasi ruang memori utama untuk menyimpan
image proses yang terdiri atas bagian kode
program, stack, dan PCB (Process
Control Block).
4. Pada tahap
berikutnya, sistem operasi akan melakukan inisialisasi PCB proses
yang
diikuti dengan proses no 5 berikut.
5. Penyisipan
PCB proses ke antrian ready dan mengubah status proses menjadi
ready.
b. Penghentian proses
Penghentian
proses yang normal terjadi karena aplikasi telah selesai.
Adanya
kondisi kesalahan serta hal-hal yang tidak dikehendaki dapat menyebabkan proses
dihentikan secara paksa
Langkah-langkah
yang dilakukan oleh sistem operasi dalam penghentian proses secara normal :
1.
Mengembalikan hasil keluaran ke proses induk (parent process),
yaitu proses yang menciptakan proses
bersangkutan.
2. Menghapus
rekaman proses di semua antrian dan di tabel
proses.
3. Setelah itu,
sistem operasi akan menghapus PCB serta
image
proses tersebut. Dalam penghentian proses,
semua sumber
daya yang digunakan, seperti berkas maupun
peranti I/O
dibebaskan ataupun dikembalikan ke sistem
operasi.
Setelah
penghentian proses selesai, sistem operasi akan melakukan operasi penjadwalan
(scheduling) untuk memilih proses lain untuk dieksekusi.
c. Pengalihan eksekusi proses (proses switching)
Pengalihan
eksekusi suatu proses ke proses lainnya dapat disebabkan karena suatu proses
meminta operasi I/O (misalnya membaca berkas), menunggu suatu event (misalnya
menggunakan inputan keyboard ataupun pergerakan mouse dari pengguna komputer),
terjadi kesalahan eksekusi proses ataupun jatah waktu eksekusinya sudah habis.
Berbagai penyebab pengalihan eksekusi proses
1. Interupsi,
interupsi disebabkan oleh aksi eksternal, misalnya oleh peranti I/O, pewaktu
(timer), ataupun kesalahan akses memori utama.
2. Trap, trap
adalah interupsi yang dipicu oleh terjadinya kesalahan eksekusi ataupun
kondisi-kondisi khusus (exception condition) dari proses yang sedang running.
Jika kesalahannya fatal maka dilakukan pengalihan eksekusi ke proses lain atau
yang disebut dengan process switching.
3. Supervisor
Call atau System Call, System Call merupakan pemanggilan layanan sistem operasi
oleh proses yang sedang running. Penggunaan system call menyebabkan aliran
eksekusi berpindah ke kode instruksi kernel sistem operasi.
Tahapan pengalihan eksekusi proses (proses switching)
Meliputi langkah-langkah berikut :
1. Sistem
operasi menyimpan (backup) konteks processor, yaitu isi seluruh register
processor, proses yang sedang running (Po)
ke PCB proses tersebut (PCBo).
2. Sistem
operasi kemudian memperbarui isi PCB proses tersebut (PCBo), termasuk
mengubah status eksekusinya ke status
blocked ataupun ready.
3. Selanjutnya,
PCB (PCBo) dipindahkan ke antrian yang sesuai, yaitu antrian ready jika status
proses beralih ke status ready ataupun ke
salah satu antrian I/O jika proses beralih ke status
blocked.
4. Setelah
itu,sistem operasi melakukan dispatch ke
proses lainnya P1, dengan memperbarui
PCB proses baru (P1), termasuk mengubah
status eksekusinya menjadi running.
5. Kemudian
sistem operasi memperbarui isi struktur data manajemen memori yang berkaitan
dengan proses baru (P1).
6. Terakhir,
sistem operasi akan meyalin (restore) konteks processor yang tersimpan di PCB
proses baru (PCB1) ke processor dan mulai
mengeksekusi kode instruksi proses P1.
d. Pengalihan konteks eksekusi (context switching)
Terjadinya
interupsi tidak selalu memicu terjadinya pengalihan eksekusi proses (proses
switching). Sebagai contoh adalah ketika suatu proses sedang berjalan dan
menunggu inputan dari keyboard. Ketika
pengguna memasukkan data lewat keyboard maka akan terjadi interupsi yang
mengakibatkan pengalihan konteks eksekusi, yaitu dari proses ke rutin
penanganan interupsi (interupsi handler) keyboard. Setelah rutin interupsi
selesai dijalankan maka eksekusi dialihkan kembali ke proses bersangkutan.
Selama terjadinya pengalihan konteks eksekusi ini, status eksekusi proses tidak
berubah.
Pengalihan
konteks eksekusi (bukan pengalihan eksekusi proses) melakukan penyimpanan
konteks Processor proses ke stack, Bukan
ke PCB. Setelah itu eksekusi berpindah ke rutin interupsi dan setelah selesai,
register processor diperbaharui kembali dengan konteks processor yang dibaca
dari stack, dan eksekusi proses yang terhenti dilanjutkan kembali.
Pengalihan
konteks eksekusi (context switching) melibatkan tahapan yang lebih pendek
dibandingkan pengalihan eksekusi proses (process switching). Itu sebabnya
pengalihan eksekusi antar rutin sistem operasi umumnya memakai mekanisme
context switching, bukan process switching.
PENJADWALAN PROSES
Penjadwalan
proses dapat didefinisikan sebagai kumpulan kebijaksanaan dan mekanisme sistem
operasi yang mengatur urutan dan jangka waktu eksekusi proses-proses yang
aktif.
Untuk
menjalankan penjadwalan proses, sistem operasi membutuhkan sejumlah komponen
yang meliputi :
1. Antrian
penjadwalan (Scheduling Queue)
2.
Penjadwal (Scheduler)
3.
Dispatcher
Kriteria penjadwalan proses
Antara lain:
1. Keadilan
(fairnes)
2.
Efisien(Processor utilization)
3. Waktu
tanggapan (Respon time)
4. Waiting
time
5. Turn
around time
6.
Throughput
Strategi dasar penjadwalan
Yaitu :
1.
Non-preemptive
2.
Preemptive
Pemicu terjadinya proses penjadwalan
Antara lain:
1. Proses
berubah dari status running ke blocked.
2. Proses
berubah dari status running ke ready.
3. Proses
berubah dari status blocked ke ready.
4. Proses
berhenti (Terminated)
Algoritma Penjadwalan
Yaitu :
1. FIFO
2. SJF
3. HRRN
DELLIA SISKA MELYANI (CHIKA)
2012110030
MANAJEMEN INFORMATIKA
AMIK MDP (Multi Data Palembang)