Operating system

16
o s Sinkro nisasi Prose s Threa d Penjad walan CPU Struktur Sistem Komput er Proc ess Struktur Sistem Operasi Manaj emen Memo ri Mem ori Virtua l Introduci ng to operatio n system operation system Tugas pengganti uts |Mursalin/kelas: N. Nbi:461304483.

Transcript of Operating system

Page 1: 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.

Page 2: Operating system

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.

Page 3: Operating system

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.

Page 4: Operating system

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).

Page 5: Operating system

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.

Page 6: Operating system

Secara umum, beberapa pendekatan yang digunakan untuk menyusun struktur sistem operasi adalah sebagai berikut:

windows

unixmac

solaris

Page 7: Operating system

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.

Page 8: Operating system

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

Page 9: Operating system

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

Page 10: Operating system
Page 11: Operating system

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

Page 12: Operating system

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.

Page 13: Operating system

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.

Page 14: Operating system

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.

Page 15: Operating system

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.

Page 16: Operating system

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.