Operating system
-
Upload
genkun -
Category
Technology
-
view
286 -
download
2
Transcript of Operating system
o sSinkronisasi Prose
s
Thread
PenjadwalanCPU
StrukturSistem
Komputer
Process
StrukturSistemOperasi
ManajemenMemo
ri
Memori
Virtual
Introducing to
operation system
operation system
Tugas pengganti uts |Mursalin/kelas: N. Nbi:461304483.
Intro
oduc
tion
os
Sistem operasi adalah sebuah program yang bertindak sebagai perantara antarapemakai komputer dengan perangkat keras komputer. Dalam hal ini, pemakai komputerdapat berupa orang atau program lain atau mesin lain atau komputer lain atau apapun yangdapat berinteraksi dengan komputer.Tujuan dari sistem operasi itu sendiri adalah (1) untuk mengeksekusi programpemakai dan membantu menyelesaikan masalah pemakai dengan lebih mudah dan (2)menjadikan sistem komputer mudah dan nyaman untuk digunakan. Lebih jauh lagi, sistemoperasi dapat membantu mengefisienkan pemakaian perangkat keras komputer.
Intro
oduc
tion
os
Struktur Sistem KomputerSistem komputer dapat dibagi ke dalam empat komponen utama berikut:1. Perangkat keras (hardware), menyediakan sumber daya komputasi yang berupaprosesor, memori, dan piranti masukan/keluaran.2. Sistem operasi (operating system), mengendalikan dan mengkoordinasikanpenggunaan perangkat keras untuk berbagai program aplikasi dan pemakai.3. Program-program aplikasi (application programs), menentukan cara bagaimanasumber daya komputer dipergunakan untuk menyelesaikan permasalahankomputasi dari pemakai, misal: word processor, web browser, compiler,database system, dan video game.4. Pemakai (user), dapat berupa orang, mesin, ataupun komputer lainnya.Perhatikan gambar berikut yang menghubungkan keempat komponen sistemkomputer yang telah dijelaskan sebelumnya.
Opera
si
Sistem
Komp
uter Operasi Sistem Komputer
Beberapa fakta mengenai operasi-operasi yang terjadi dalam
sistem komputer adalah
sebagai berikut:
1. Piranti masukan/keluaran dan prosesor dapat berjalan secara
paralel.
2. Setiap pengendali piranti bertanggung jawab terhadap sebuah
tipe piranti.
3. Setiap pengendali piranti memiliki penyangga lokal (local
buffer).
4. CPU memindahkan data dari/ke memori utama ke/dari
penyangga–penyangga
lokal.
5. Masukan/keluaran terjadi dari piranti ke penyangga lokal dari
pengendali.
6. Pengendali piranti memberi informasi ke CPU bahwa
operasinya telah selesai
dengan cara mengirimkan selaan atau interupsi (interrupt).
STRUKTUR
SISTEM OPERAS
IStruktur Sistem Operasi
Pada prinsipnya, sistem operasi memiliki struktur multiprogramming dan
timesharing, sehingga pengalokasian sumber daya komputer dapat lebih efektif dan efisien.
Multiprogramming memiliki tujuan efisiensi pemakaian sumber daya komputer,
dalam hal ini seorang pemakai tidak dapat memakai CPU dan piranti masukan/keluaran
terus menerus, melainkan pekerjaan-pekerjaan (jobs) yang berupa kode dan data dikelola
dan dijadwalkan sedemikian rupa, sehingga CPU selalu mengeksekusi satu pekerjaan pada
suatu waktu. Setiap pekerjaan yang akan dieksekusi dipilih oleh penjadwal pekerjaan (job 9
scheduler). Pada saat sebuah pekerjaan yang sedang dieksekusi perlu menunggu proseslain, misal masukan/keluaran, maka penjadwal pekerjaan akan mengalihkan CPU ke proseslain. Lihat ilustrasi pemakaian memori untuk multiprogramming pada gambar berikut.Gambar 7. Pemakaian memori pada sistem multiprogramming Timesharing (multitasking) adalah perluasan secara logika dimana CPU dapat berpindah-pindah dalam melakukan beberapa pekerjaan dengan sering sekali, sehinggapemakai dapat berinteraksi dengan setiap pekerjaan yang sedang berjalan tanpa terasaperpindahannya (seamless). Perpindahan antara pekerjaan satu dengan yang lain yangcukup halus serta memiliki waktu respon yang cepat (baca: kurang dari 1 detik) dapatmenciptakan suasana komputasi yang interaktif. Seandainya ada beberapa pekerjaan yangsiap untuk dijalankan pada satu waktu, maka penjadwal pekerjaan akan melakukanpenjadwalan pekerjaan dan memilih pekerjaan mana yang akan dieksekusi lebih dulu.Dalam kerangka timesharing, setiap pemakai memiliki paling tidak satu program yangsedang berjalan dalam memori yang disebut dengan proses. Jika sebuah proses tidak cukupdalam memori yang tersedia, maka akan dilakukan swapping, yaitu menyimpan sebagianproses dalam virtual memori.
Secara umum, beberapa pendekatan yang digunakan untuk menyusun struktur sistem operasi adalah sebagai berikut:
windows
unixmac
solaris
Virtua
l
Machi
neMesin Maya (Virtual Machine).
Secara logika, mesin maya dapat dipandang mengadopsi pendekatan berlapis. Mesinmaya memperlakukan perangkat keras dan kernel sistem operasi sebagai satu kesatuanperangkat keras, dan menyediakan antarmuka yang identik dengan perangkat keras. Dalamhal ini, sistem operasi menciptakan ilusi multi-proses, dimana setiap mesin maya memilikiprosesor dan memori sendiri-sendiri.Sumber daya dari komputer dibagi-bagi untuk menciptakan ilusi mesin maya.Penjadwalan CPU dapat menciptakan penampakan / ilusi bahwa setiap pemakai memilikiprosesor masing-masing. Spooling dan sistem berkas dapat menyediakan efek pembacakartu maya (virtual card reader) dan pencetak maya (virtual line printers). Terminal timesharingpemakai biasa bertindak sebagai konsol operator (console’s operator) mesin maya.
1.Diagram Status Proses 2.Peralihan CPU antar proses 3Representasi penjadwalan proses.
1.Diagram Status Proses4.Antrian siap dan antrian piranti
5.Mekanisme komunikasi antar
proses (kiri) message passing
(kanan) shared memory
I / O
PENGELOLAAN PIRANTI MASUKAN DAN
KELUARAN
PENYAJIAN
Berbagai macam perangkat keras I/O menyebabkan pengelolaan
I/O menjadi salah
satu pusat perhatian dalam sistem operasi. Beberapa konsep
yang digunakan adalah port,
bus (daisy chain atau shared direct access), dan controller (host
adapter). Setiap perangkat
dikendalikan oleh perintah-perintah khusus untuk I/O dan
memiliki alamat yang dapat
digunakan untuk perintah-perintah langsung I/O atau memory-
mapped I/O.
Structure bus pc
Sistem operasi dirancang untuk dapat dijalankan pada, sistemnya harusdikonfigurasikan untuk setiap komputer.
Program Sysgen mendapatkan informasi mengenai konfigurasi khusustentang sistem perangkat keras dari sebuah data, antara lain sebagaiberikut:
CPU apa yang digunakan, pilihan yang diinstal
Berapa banyak memori yang tersedia
Peralatan yang tersedia
Sistem operasi pilihan apa yang diinginkan atau parameter apa yang digunakan
Satu kali info diperoleh, bisa digunakan dengan berbagai cara.
SYSTEM GENERATIONN
Penjadwalan CPU
Penjadwalan CPU memiliki tujuan untuk
memaksimumkan penggunaan (utilization)
CPU. Maksimisasi penggunaan ini dapat diperoleh
melalui multiprogramming yang dapat
melakukan beberapa proses sekaligus, seolah-olah
(terutama pada komputer uniprocessor),
secara bersamaan.
Sinkronisasi
Sinkronisasi proses telah mendapatkan perhatian yang utama
sejak munculnya sistem
operasi, karena sering kali proses-proses secara bersamaan
melakukan akses terhadap data
umum (shared data) yang dapat menyebabkan
ketidakkonsistenan (inconsistency) pada
akhirnya.
Gambar 53. Penyelesaian masalah produsen (kiri) –
konsumen (kanan)
Ada tiga permasalahan klasik utama yang berkaitan dengan
sinkronisasi, yaitu:
bounded buffer, readers and writers, dan dining philosophers.
Masalah deadlock (jalan buntu) terjadi pada saat
sekumpulan proses yang terblok,
dimana setiap proses tersebut sedang memakai sebuah
sumber daya, sedang menunggu
mendapatkan sumber daya lain yang sedang dipakai oleh
sebuah proses lain yang terblok
yang ada dalam kumpulan itu juga.
DeadlockJalan buntu dapat terjadi seandainya keempat keadaan berikut
muncul bersamaan:
1. Mutual exclusion, menyatakan bahwa hanya satu proses yang
dapat menggunakan
sebuah sumber daya pada satu waktu.
2. Hold and wait, sebuah proses yang sedang memakai paling
tidak sebuah
sumberdaya dan berusaha mendapatkan sumber daya tambahan
yang digunakan
oleh proses-proses lainnya.
3. No preemption, sebuah sumber daya hanya dapat dilepaskan
secara sukarela oleh
proses yang sedang memegangnya, setelah proses tersebut
selesai melaksanakan
pekerjaannya.
4. Circular wait, ada sekumpulan proses yang sedang
menunggu {P0, P1, …, Pn},
sehingga P0 menunggu sebuah sumber daya yang dipegang oleh
P1, P1 menunggu
sebuah sumber daya yang dipegang oleh P2, …, begitu
seterusnya sampai Pn
menunggu sumber daya yang dipegang oleh P0.
Beberapa metode yang digunakan untuk menangani deadlock adalah
• Menjamin bahwa sistem tidak akan pernah memasuki sebuah keadaan deadlock.
• Mengijinkan sistem memasuki sebuah keadaan deadlock, kemudian pemulihan.
• Mengabaikan masalah deadlock dan berpura-pura bahwa itu tidak pernah terjadi
dalam sistem; digunakan oleh banyak sistem operasi, termasuk UNIX.
Untuk menghindari deadlock sistem harus mempunyai beberapa informasi tambahan
di awal (a priori), misal tipe dan jumlah sumber daya yang dibutuhkan oleh sebuah proses.
Model paling sederhana dan paling berguna mewajibkan bahwa setiap proses menyatakan
jumlah sumber daya maksimum untuk setiap tipe yang mungkin dibutuhkan. Algoritme
deadlock-avoidance secara dinamis memeriksa keadaan (state) alokasi sumber daya untuk
menjamin bahwa tidak akan pernah muncul kondisi circular-wait.
Deadlock dapat dicegah dengan mengatur ulang cara mengajukan permintaan
sebagai berikut:
• Mutual Exclusion, hanya berlaku untuk sumber daya nonsharable dan tidak berlaku
untuk sumber daya sharable.
• Hold and wait, harus menjamin bahwa sebuah proses yang meminta sebuah sumber
daya tidak sedang memegang sumber daya lain. Lebih jauh lagi, memaksa sebuah
proses untuk meminta dan dialokasikan semua sumber daya yang ia butuhkan
sebelum ia memulai eksekusinya, atau mengijinkan proses untuk meminta sumber
daya hanya pada saat ia tidak sedang memegang sumber daya apapun. Hal ini
membuat pemberdayaan (utility) sumber daya rendah dan memungkinkan
terjadinya kelaparan.
• No preemption, jika sebuah proses, yang sedang memegang beberapa sumber daya,
meminta sumber daya lain yang tidak dapat dialokasikan dengan segera, maka
semua sumber daya yang sedang dipegang harus dilepaskan. Sumber daya yang
dilepaskan akan ditambahkan ke daftar sumber daya yang sedang ditunggu oleh
proses-proses lainnya. Proses hanya dapat dijalankan ulang (restarted) jika ia dapat
memperoleh kembali semua sumber daya yang sebelumnya dilepaskan berikut
sumber daya baru yang ia minta.
• Circular wait, memaksakan sebuah pengurutan total dari semua tipe sumber daya
dan mewajibkan setiap proses yang meminta sumber daya dalam urutan menaik
enumerasi sumber daya tersebut.