pertemuan ke 2

23
STRUKTUR SISTEM OPERASI Dibagi menjadi 4, antara lain: 1. Sistem Monolitik 2. Sistem berlapis 3. Sistem dengan mesin maya (virtual machine) 4. Microkernels Penjelasannya sebagai berikut : 1. Sistem Monolitik Contoh dari sistem operasi ini adalah MS-DOS dan UNIX MS-DOS merupakan sistem operasi yang menyediakan fungsional dalam ruang yang sedikit sehingga tidak dibagi menjadi beberapa modul UNIX menggunakan struktur monolitik dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan sistem operasi untuk pengguna Struktur layer pada MS-DOS 2. Sistem berlapis

Upload: ndriehs

Post on 03-Dec-2014

955 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Pertemuan ke 2

STRUKTUR SISTEM OPERASI

Dibagi menjadi 4, antara lain:

1. Sistem Monolitik

2. Sistem berlapis

3. Sistem dengan mesin maya (virtual machine)

4. Microkernels

Penjelasannya sebagai berikut :

1. Sistem Monolitik

Contoh dari sistem operasi ini adalah MS-DOS dan UNIX

MS-DOS merupakan sistem operasi yang menyediakan fungsional dalam ruang yang

sedikit sehingga tidak dibagi menjadi beberapa modul

UNIX menggunakan struktur monolitik dimana prosedur dapat saling dipanggil oleh

prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang

disediakan sistem operasi untuk pengguna

Struktur layer pada MS-DOS

2. Sistem berlapis

Lapisan Sistem Operasi

Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan,

yaitu:

Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi

Page 2: Pertemuan ke 2

atau waktu habis dan lapisan ini mendukung dasar multi-programming pada CPU.

Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo

word drum yang digunakan untuk menahan bagian proses ketika tidak ada ruang di

memori utama.

Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator

console. Lapisan ini masing-masing proses secara efektif memiliki operator console

sendiri.

Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke

proses tersebut.

Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang

proses, memori, console, atau manajemen I/O.

Lapisan 5. Merupakan operator sistem.

Contoh sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh

Djikstra dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS.

3. Sistem dengan mesin maya (virtual machine)

Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan terlapis,

hanya saja konsep ini memberikan sedikit tambahan berupa antarmuka yang

menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses,

Contoh sistem operasi yang memakai mesin virtual adalah IBM VM system.

4. Microkernels

Metode struktur ini adalah menghilangkan komponen-komponen yang tidak

diperlukan dari kernel dan mengimplementasikannya sebagai sistem dan program-

program level user.

TUGAS INDIVIDU DIBUKU MASING-MASING!CARILAH KELEMAHAN DAN KELEBIHAN DARI MASING-MASING KEEMPAT STRUKTUR SISTEM OPERASI TERSEBUT!

Page 3: Pertemuan ke 2

PROSES DALAM SISTEM OPERASI

Proses merupakan Konsep Utama dari sebuah Sistem Operasi. Oleh karena itulah Proses

dalam Sistem Operasi harus dijaga dengan sebaik-baiknya.

Proses sendiri pada dasarnya adalah Sebuah Program yang sedang dieksekusi, yang terdiri

dari Program itu sendiri, Program Counter, Stack Pointer, Register dan semua informasi yang

ada saat eksekusi berlangsung.

Gambar 1. Isi dari Sebuah Proses

Contoh : Pada saat WINAMP berjalan, maka WINAMP dikatakan sebagai PROSES

WINAMP, pada saat menjalankan POWERPOINT maka dikatakan sebagai PROSES

POWERPOINT, dll.

Pada saat terjadi Interrupt, maka sebuah proses akan dihentikan sementara, dan jika akan

dieksekusi kembali maka akan dimulai dari state terakhir saat dihentikan. Hal ini

dimaksudkan bahwa pada saat kita mengakses sebuah proses, dan tiba-tiba terjadi interrupt,

maka proses tersebut akan dihentikan sementara, bukannya dihentikan total, sehingga pada

saat kita mengaksesnya kembali maka proses tersebut akan dijalankan pada state terakhir

proses tersebut berhenti.

Page 4: Pertemuan ke 2

Contoh : Pada saat kita melakukan Request Download dengan ukuran file sebesar 28 MB,

download tersebut menggunakan Download Manager, yaitu Internet Download Manager

(IDM). Suatu saat tiba-tiba baterai laptop kita habis dan kita lupa tidak membawa charger,

maka pada saat kita sampai dirumah kita bisa melakukan RESUME download file tersebut

lagi dimana Proses Download itupun bukannya dimulai dari awal, tetapi melanjutkan dari

STATE terakhir PROSES tersebut di INTERRUPT.

Untuk dapat mempelajari sistem operasi dengan baik, maka dua hal yang perlu diperhatikan

pada Proses adalah Mekanisme Penciptaan Proses dan Mekanisme Penghentian Proses.

Manajemen Proses pada Sistem Operasi

Proses merupakan semua aktifitas CPU, seperti : Job yang dieksekusi pada sistem batch,User

Program atau task pada sistem time shared. Tugas sistem operasi pada manajemen proses

yaitu membuat dan menghapus proses pengguna dan sistem proses, menunda atau

melanjutkan proses,menyediakan mekanisme untuk proses komunikasi,menyediakan

mekanisme untuk proses sinkronisasi serta menyediakan mekanisme untuk penanganan

deadlock. Istilah pada buku teks: job, task dan process (dapat diartikansama).

 

contoh manajemen proses di Sistem Operasi yaitu Linux dan Windows :

Status proses terdiri dari :

1. NEW

Status yang dimiliki pada saat proses baru saja dibuat

2. RUNNING

Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi. Proses bisa

dieksekusi karena CPU tidak sedang     mengerjakan tugas yang lain.

Page 5: Pertemuan ke 2

3. WAITING

Status yang dimiliki pada saat proses menunggu suatu event, seperti penyelesaian I/O atau

menerima signal.

4. READY

Status yang dimiliki pada saat proses siap dieksekusi oleh processor dan Proses menunggu

jatah waktu dari processor.

5. TERMINATED

Status yang dimiliki pada saat proses telah selesai dieksekusi.

Metode-metode proses dalam system komputer

1. Batch Processing

2. Multi Programming

3. Time Sharing

4. Real Time System

5. Multi Processing

SINKRONISASI PROSES PADA SISTEM OPERASI

Konsep Interaksi

Dalam menjalankan fungsinya dalam sistem operasi, dibutuhkan interaksi antara beberapa

proses yang berbeda. Interaksi tersebut bertujuan agar terjadi kesinambungan antar proses

yang terjadi sehingga sistem operasi dapat berjalan sebagaimana mestinya. Interaksi tersebut

dapat melalui sistem berbagi memori atau dengan cara saling berkirim pesan. Terkadang,

beberapa pesan yang dikirim tidak dapat diterima seluruhnya oleh penerima dan

menyebabkan informasi yang lain menjadi tidak valid, maka dibutuhkanlah sebuah

mekanisme sinkronasi yang akan mengatur penerimaan dan pengiriman pesan sehingga

Page 6: Pertemuan ke 2

kesalahan penerimaan pesan dapat diperkecil. Pesan yang dikirim dapat ditampung dalam

penyangga sebelum diterima oleh penerima.

Interaksi antar proses dapat juga terjadi antara proses yang memiliki sistem berbeda. Dalam

interaksi tersebut dikenal sebutan client dan server yang memungkinkan sistem yang berbeda

untuk berinteraksi dengan menggunakan socket. Dalam interaksi tersebut dikenal juga RPC

(Remote Procedure Call) yaitu metode yang memungkinkan sebuah sistem mengakses

prosedur sistem lain dalam komputer berbeda.

Dalam interaksi antar proses, terkadang suatu proses saling menunggu proses yang lain

sebelum melanjutkan prosesnya, sehingga proses-proses tersebut saling menunggu tanpa

akhir, hal ini disebut deadlock. Jika deadlock terjadi dalam waktu lama, maka terjadilah

starvation, yaitu suatu proses tidak mendapatkan resource yang dibutuhkan.

Sinkronisasi

Suatu proses yang bekerja bersama-sama dan saling berbagi data dapat mengakibatkan race

condition atau pengaksesan data secara bersama-sama. Critical section adalah suatu segmen

kode dari proses-proses itu yang yang memungkinkan terjadinya race condition. Untuk

mengatasi masalah critical section ini, suatu data yang sedang diproses tidak boleh diganggu

proses lain.

Solusi prasyarat critical section:

Mutual Exclusion.

Terjadi kemajuan (progress).

Ada batas waktu tunggu (bounded waiting).

Critical section dalam kernel:

Interupsi.

Page Fault .

Kernel code memanggil fungsi penjadwalan sendiri.

Solusi Critical Section

Solusi critical section harus memenuhi ketiga syarat berikut:

Page 7: Pertemuan ke 2

Mutual Exclusion

Progress

Bounded Waiting

Algoritma I dan II terbukti tidak dapat memecahkan masalah critical section untuk dua proses

karena tidak memenuhi syarat progress dan bounded waiting. Algoritma yang dapat

menyelesaikan masalah critical section pada dua proses adalah Algoritma III. Sedangkan

untuk masalah critical section pada n-buah proses dapat diselesaikan dengan menggunakan

Algoritma Tukang Roti

Perangkat Sinkronisasi

1. Instruksi TestAndSet().

instruksi atomik yang dapat digunakan untuk menangani masalahcritical

section.

2. Semafor.

sebuah variabel yang hanya dapat diakses oleh dua buah operasi standar

yaituincrement dan decrement. Dua buah jenis semafor, yaitu Binary

Semaphore dan Counting Semaphore. Semafor berfungsi untuk menangani

masalah critical section, mengatur alokasiresource, dan sinkronisasi

antarproses.

3. Monitor.

digunakan untuk menangani masalah yang muncul karena pemakaian

semafor. Monitor menjamin mutual exclusion. Untuk menangani masalah

sinkronisasi yang lebih rumit monitor menyediakan condition variable.

4. JVM. mengimplementasikan monitor.

Monitor JVM bekerja dengan object locking danmethod-method wait() serta

notify(). Monitor JVM dapat digunakan dengan menggunakan keyword

synchronized.

Page 8: Pertemuan ke 2

 

Transaksi Atomik

Transaksi merupakan sekumpulan instruksi atau operasi yang menjalankan sebuah fungsi

logis dan memiliki sifat atomicity, consistency, isolation, dan durability.

Sinkronisasi Linux

ada suatu saat dalam sebuah kernel, tidak terkecuali kernel LINUX, dapat terjadi concurrent

access. Dalam hal ini diperlukan proteksi dalam kernel yang bersangkutan. Proteksi dapat

dilakukan dengan sinkronisasi.

Salah satu metode dalam kernel LINUX untuk sinkronisasi adalah atomic operations. Integer

atomik adalah salah satu jenis dari atomic operations. Integer Atomik menyediakan instruksi

yang dijalankan secara atomik (tanpa interrupt).

Locking yang paling umum digunakan dalam LINUX adalah spin lock. Spin lock adalah lock

yang hanya dapat dilakukan oleh satu thread. Ketika sebuah thread yang akan dijalankan

meminta spin lock yang sedang digunakan, maka thread ini akan loops menunggu sampai

spin lock tersebut selesai digunakan oleh thread yang sedang berjalan.

Semafor dalam LINUX adalah sleeping locks. Ketika sebuah thread meminta semafor yang

sedang digunakan, maka semafor akan meletakkan thread tersebut dalam wait queue dan

menyebabkan thread tersebut masuk status sleep.

Symmetrical multiprocessing (SMP) mendukung adanya pengeksekusian secara paralel dua

atau lebih thread oleh dua atau lebih processor. Kernel LINUX 2.0 adalah kernel LINUX

pertama yang memperkenalkan konsep SMP.

Deadlocks

Deadlock adalah suatu keadaan dimana sistem seperti terhenti dikarenakan setiap proses

memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya

yang sedang dimiliki oleh proses lain

Page 9: Pertemuan ke 2

Starvation adalah keadaan dimana satu atau beberapa proses ‘kelaparan’ karena terus dan

terus menunggu kebutuhan sumber dayanya dipenuhi. Namun, karena sumber daya tersebut

tidak tersedia atau dialokasikan untuk proses lain, akhirnya proses yang membutuhkan tidak

bisa memilikinya. Kondisi seperti ini merupakan akibat dari keadaan menunggu yang

berkepanjangan.

Karakteristik terjadinya deadlock:

Mutual Exclusion .

Hold and Wait .

No Preemption .

Circular Wait .

 Mekanisme penanganan deadlock:

Pengabaian. Ostrich Algorithm.

Pencegahan. Mencegah terjadinya salah satu kondisi deadlock.

Penghindaran. Memastikan sistem berada pada safe state dan dengan

menggunakandeadlock avoidance algorithm.

Pendeteksian dan Pemulihan. Mekanisme pendeteksian menggunakan detection algorithm,

sedangkan pemulihan dengan cara rollback and restart sistem ke safe state.

Diagram Graf

Deadlock adalah suatu kondisi dimana proses tidak berjalan lagi ataupun tidak ada

komunikasi lagi antar proses di dalam sistem operasi. deadlock disebabkan karena proses

yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang

menunggu sumber daya yang dipegang oleh proses tersebut.

Untuk mendeteksi deadlock dan menyelesaikannya dapat digunakan graf sebagai

visualisasinya. Jika dalam graf terlihat adanya perputaran, maka proses tersebut memiliki

potensi terjadideadlock. Namun, jika dalam graf tidak terlihat adanya perputaran, maka

proses tersebut tidak akan terjadi deadlock.

implementasi graf dalam sistem operasi, yaitu penggunaannya untuk penanganan deadlock

pada sistem operasi. Diantaranya adalah graf alokasi sumber daya dan graf tunggu.Graf

Page 10: Pertemuan ke 2

alokasi sumber daya dan graf tunggu merupakan graf sederhana dan graf berarah. Dua graf

tersebut adalah bentuk visualisasi dalam mendeteksi masalah deadlock pada sistem operasi.

Untuk mengetahui ada atau tidaknya deadlock dalam suatu graf alokasi sumber daya dapat

dilihat dari perputaran dan sumber daya yang dimilikinya. Jika tidak ada perputaran berarti

tidak deadlock. Jika ada perputaran, ada potensi terjadi deadlock. Sumber daya dengan

instans tunggal dan perputaran pasti akan mengakibatkan deadlock.

Pada graf tunggu, deadlock terjadi jika dan hanya jika pada graf tersebut ada perputaran.

Untuk mendeteksi adanya perputaran diperlukan operasi sebanyak n 2, dimana n adalah

jumlah simpul dalam graf alokasi sumber daya.

Bounded-Buffer

Proses yang kooperatif bisa berbagi data melalui penukaran pesan. Pesan-pesan yang dikirim

antar proses akan disimpan dalam sebuah antrian sementara, yaitu buffer. Jika kapasitas

buffertersebut terbatas, maka dia disebut bounded-buffer. Untuk mencegah inkonsistensi data

yang terjadi akibat akses data oleh proses kooperatif yang berjalan secara konkuren, maka

diperlukan sinkronisasi antar proses-proses tersebut.

Permasalahan bounded-buffer ini diilustrasikan dalam proses produsen-konsumen. Masalah-

masalah yang timbul adalah

buffer yang merupakan critical section, sehingga hanya boleh diakses satu proses pada satu

waktu;

keadaan dimana produsen ingin menaruh data di antrian, namun antrian penuh

keadaan dimana konsumen ingin mengambil data dari antrian namun antrian kosong.

Untuk menyelesaikan masalah, digunakanlah perangkat sinkronisasi semafor. Semafor yang

digunakan adalah

mutex. yang menjaga buffer hanya diakses satu proses pada satu waktu;

tempat_kosong. jumlah tempat kosong.

tempat_terisi. jumlah tempat terisi

Dengan demikian produsen yang ingin menaruh data atau konsumen yang ingin mengakses

data harus memeriksa apakah proses lain sedang memakai buffer (menggunakan mutex) dan

Page 11: Pertemuan ke 2

memeriksa apakah buffer penuh atau kosong (menggunakan tempat_kosong dan

tempat_terisi).

Readers/Writers

Readers/Writers merupakan sebuah masalah klasik dalam contoh sinkronisasi untuk menjaga

validitas data. Jika reader sedang mengakses data, reader-reader yang lain boleh ikut

mengakses data, tapi writer harus menunggu sampai data tidak diakses siapapun. Jika writer

sedang mengakses data, tidak boleh ada thread lain yang mengakses data. Semaphore

digunakan untuk sinkronisasi antar thread (baik readers maupun writers).

Sinkronisasi Dengan Semafor

Program Hompimpah merupakan ilustrasi dimana sebuah thread memegang kendali

sinkronisasi thread lainnya. Seperti yang dijelaskan dalam program masing-masing dari

pemain saling mengendalikan satu sama lain, dengan menggunakan alat sinkronisasi yang

bernama semafor. Semafor dalam program adalah semafor buatan berupa class Semafor yang

dibuat dalam bahasa Java. Adapun di dalamnya terdapat 2 fungsi yaitu fungsi buka() dan

fungsikunci() dengan fungsi-fungsi inilah masing-masing thread dapat mengendalikan satu

sama lain

 

Mari Saling Barbagi, Karena Berbagi Tak Akan Pernah Rugi

Belajarlah jujur pada diri sendiri, lakukan apa kata hati, sehingga kamu tidak perlu

lagi menyembunyikan apapun dalam hidupmu Jangan takut mencoba, kesalahan

adalah guru terbaik jika kamu jujur mengakuinya dan mau belajar darinya.

Page 12: Pertemuan ke 2

Contoh Soal Materi Sinkronisasi

1. Apakah perbedaan monitor dengan semaphore ?- monitor : merupakan alat sinkronisasi tingkat tinggi- semaphore : merupakan alat sinkronisasi yang menyebabkan busy waiting, hanya bisa diakses oleh 2 operasi yaitu : wait ( ) dan signal ( ).

2. Apakah perbedaan antara algoritma 1 dan algoritma 2 dalam mengatasi masalah critical section untuk 2 task ?- algoritma 1 Misalkan ada proses a dan b. Proses yang ingin memasuki critical section hanya bisa memasuki critical section jika saat itu ia sedang digilirkan untuk memasuki critical section. Jika proses a sedang digilirkan, maka ia boleh memasuki critical section. Ketika proses a keluar dari critical section, proses yang digilirkan untuk memasuki critical section diganti menjadi proses b. Begitu pula sebaliknya. Masalah algoritma ini terjadi saat (misalnya) proses b sedang digilirkan untuk memasuki critical section dan proses a ingin memasuki critical section sementara proses b tidak pernah memakai gilirannya sehingga proses a terus menunggu. - algoritma 2 Misalkan ada proses a dan b. Proses yang ingin memasuki critical section harus memberi tanda bahwa ia ingin memasuki critical section. Jika proses a ingin memasuki critical section, maka proses a akan memberi suatu tanda. Sebelum proses a bisa memasuki critical section, ia harus melihat apakah ada tanda dari proses b. Proses a hanya bisa memasuki critical section jika saat itu tidak terdapat tanda dari proses b. Begitu pula sebaliknya. Masalah algoritma ini terjadi saat proses a dan b memberi tanda bahwa mereka ingin memasuki critical section pada saat bersamaan dan karena keduanya sama-sama melihat adanya tanda dari proses lawannya maka keduanya sama-sama menunggu dan tidak akan pernah memasuki critical section.

1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen

proses.

Aktivitas – aktivitas sistem operasi yang berkaitan dengan manajemen proses, yaitu:

a. Pembuatan dan penghapusan proses pengguna dan sistem proses.

b. Menunda atau melanjutkan proses.

c. Menyediakan mekanisme untuk proses sinkronisasi.

d. Menyediakan mekanisme untuk proses komunikasi.

e. Menyediakan mekanisme untuk penanganan deadlock.

Sumber: http://2010104-if-unsika.blogspot.com/2012/11/5-aktivitas-sistem-operasi-yang.html

Page 13: Pertemuan ke 2

2. Definisikan perbedaan antara penjadualan short term, medium term dan long term.

         Penjadualan jangka pendek (short term scheduler):

Mempunyai tugas untuk menjadwalkan alokasi pemroses di antara proses ready di memori

utama. Penjadwalan dijalankan setiap terjadi di pengalihan proses untuk memilih proses

berikut yang harus dijalankan.

-          Di dalam short term ini digunakan untuk memilih diantara proses – proses yang siap

dieksekusi & satu diantaranya dialokasikan ke CPU.

-          Penjadwalan short term biasa digunakan untuk CPU, proses dieksekusi dan hanya beberapa

milidetik saja sebelum menunggu I/O.

         Penjadualan jangka menengah (medium term scheduler):

Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder yang

disebut swapping. Proses ini mempunyai kepentingan kecil saat itu sebagai proses yang

tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan

kembali ke memori utama dan ready.

-          Dalam penjadwalan medium term ini, beberapa OS seperti contoh time-sharing harus

membutuhkan penjadwalan dengan level tambahan.

         Penjadualan jangka panjang (long term scheduler):

Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus

dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang

intensif, program ini berprioritas rendah, digunakan sebagai pengisi selama periode aktivitas

job-job interaktif rendah.

-          Jika pada long term ini tiding sering mengeksekusi, dan digunakan jika proses meninggalkan

suatu sistem.

-          Digunakan untuk memilih suatu proses dari pool & menyimpan pada memori.

Sumber: http://2010104-if-unsika.blogspot.com/2012/11/perbedaan-antara-penjadualan-

short-term.html

3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.

3. Ketika alih konteks terjadi, kernel menyimpan konteks dari proses lama kedalam PCB

nya dan mengisi konteks yang telah disimpan dari process baru yang telah terjadual

Page 14: Pertemuan ke 2

untuk berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem

melakukan pekerjaan yang tidak perlu. Kecepatannya bervariasi dari mesin ke mesin,

bergantung pada kecepatan memori, jumlah register yang harus di copy, dan

keberadaan instruksi khusus (seperti instruksi tunggal untuk mengisi atau menyimpan

seluruh register). Tingkat kecepatan umumnya berkisar antara 1 sampai 1000 mikro

detik.

Sumber: http://2009125-if-unsika.blogspot.com/2011/10/tindakan-yang-diambil-oleh

sebuah.html

4. Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses

ke proses lain.

Informasi yang disimpan pada saat alih konteks adalah pemroses menyimpan konteks

program ke dalam stack, hal ini bertujuan agar saat selesai penanganan interupsi, konteks

program dapat dipanggil kembali dari stack dan konteks program dapat kembali seperti

semula tanpa terjadi pengalihan ke proses lain. Pada pengalihan konteks dapat terjadi tanpa

adanya pengalihan state process yang sedang running. Siklus penanganan interupsinya

sebagai berikut:

-          Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack.

-          Kemudian Pemroses menset register PC dengan alamat awal program untuk interuppet

handler.

-          Selanjutnya pemroses menjalankan instruksi-instruksi berikutnya pada interuppt handler

yang melayani interrupt.

-          Setelah penanganan interupsi selesai maka konteks yang terdapat pada stack dikembalikan.

Pengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked),

kemudian sistem operasi harus membuat perubahan-perubahan berarti terhadap

lingkungannya.

Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/

5. Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event

(eksternal) OS dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat

ditimbulkan oleh proses itu sendiri. Sebutkan!

Page 15: Pertemuan ke 2

-          Proses yang baru diciptakan akan segera mempunyai state ready.

-          Proses dengan state running menjadi blocked karena sumber daya yang diminta belum

tersedia.

-          Proses dengan state running menjadi ready karena penjadwal memutuskan agar pemroses

melakukan eksekusi proses yang lain karena jatah waktu untuk proses itu telah habis. ( time

out ).

-          Proses dengan state blocked menjadi ready saat sumber daya yang diminta telah tersedia atau

layanan perangkat I/O selesai ( event occurs ).

-          Proses dengan state ready menjadi running karena penjadwal memutuskan penggunaan

pemroses untuk proses itu karena proses yang telah running berubah state menjadi ready atau

blocked.

Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/

6.      Apa keuntungan dan kekurangan dari:

a.         Komunikasi Simetrik dan asimetrik

Komunikasi simetrik langsung adalah rasa sakit karena kedua belah pihak memerlukan nama

proses lain. Hal ini membuat komunikasi asimetrik sulit untuk membangun server.

b.         Automatic dan explicit buffering.

Otomatis membuat pemrograman lebih mudah, tapi pada explicit buffering sebuah sistem

sulit untuk membangun.

c.          Send by copy dan send by reference.

Send by copy adalah jaringan yang lebih baik bagi generasi dan masalah sinkronnisasi.

Sedangkan send by reference lebih efisien untuk besar struktur data tetapi sulit untuk

kodenya, karena memori bersama implikasi.

d.         Fixed size dan variable sized messages.

Fixed size membuat pemrograman lebih mudah tetapi untuk variable sized messages sistem

lebih sulit untuk membangun.

Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/

7.      Jelaskan perbedaan short-term, medium-term dan long-term?

-          Long-term adalah penjadualan jangka panjang (atau pekerjaan penjadwalan) pilih proses dari

kolam ini dan beban mereka ke dalam memori untuk eksekusi.

-          Medium-term adalah jangka panjang scheduler mengotrol derajat multi-program

Page 16: Pertemuan ke 2

-          Short-term adalah jangka pendek scheduler (atau CPU scheduler ) memilih dari antara

proses-proses yang siap untuk ,mengalokasi CPU untuk salah satu dari mereka, penjadulan

jangka menengah diperkenalkan oleh sistem operasi seperti waktu saham.

Sumber: http://2010226-if-unsika.blogspot.com/2012/11/jelaskan-perbedaan-short-term-

medium.html

8.      Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang

berlangsung?

Yang dilakukan pertama kali adalah : Pemroses menyimpan konteks program saat itu yang

sedang dieksekusi ke dalam stack, selanjutnya Pemroses menge-set register PC dengan

alamat awal program untuk interrupt handler.

Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/

9.      Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit

atau tidak sama sekali arti dari pemrosesan yang konkuren. Diskusikan dampak yang paling

mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi?

Dampaknya antara lain :

-          Mutual exclusion.

-          Deadlock.

-          Starvation.

-          Sinkronisasi.

Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/

10.  Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan

gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara

state.

10.Running : Proses sedang mengeksekusi intruksi proses

Ready : Proses siap dieksekusi, tetapi proses tidak tersedia untuk eksekusi proses ini serta

Proses dengan state Blocked dapat menjadi ready saat sumber daya yang diperlukan telah

tersedia atau layanan perangkat masukan/keluaran selesai (event occours).

Penggunaan pemroses untuk proses itu karena proses yang saat itu Running berubah state

(menjadi Ready atau Blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem.

Page 17: Pertemuan ke 2

maka dari itu proses menjadi mendapatkan jatah untuk pemrosesan. Itulah transisi d antara

state selama siklus hidup proses. Di bawah ini merupakan diagram state proses: