Selasa, 02 Januari 2018

MAKALAH PRATIKUM SISTEM OPERASI “ Operasi Input Output ”

MAKALAH PRATIKUM SISTEM OPERASI
“ Operasi Input Output ”


Disusun Oleh :
Nama              : Ahmad Solihin
NIM                : 20160810006
Prodi               : Sistem Operasi

LABORATORIUM PRATIKUM 
FAKULTAS KOMPUTER UNIVERSITAS KUNINGAN
TAHUN 2016/2017



KATA PENGANTAR


Puji Syukur kepada Tuhan Yang Maha Esa, karena berkat pertolonganNya saya berhasil menyelesaikan makalah “Manajemen I/O” ini. Adapun makalah ini disusun untuk memenuhi tugas mata kuliah Sistem Operasi. Dalam makalah ini terkandung definisi serta semua pembahasan tentang Manajemen I/O. Makalah ini di susun juga agar supaya para pembaca bisa mengerti dan memahami tentang apa itu Manajemen I/O.

Dalam penyusunan makalah ini ada banyak pihak yang membantu, untuk itu saya berterimakasih yang sebesar-besarnya kepada semua pihak yang membantu dalam penyusunan makalah ini. Makalah ini masih belum bisa di katakan sempurna karena masih banyak yang masih perlu untuk di perbaiki untuk itu saya harap para pembaca bisa memahami serta memberi saran yang baik. Semoga makalah ini dapat berguna bagi para pembaca dan bagi Dosen mata kuliah Sistem Operasi yang akan memeriksa serta membacanya.







BAB I

PENDAHULUAN


A. Latar Belakang

Sistem Operasi adalah bagian yang sangat penting bagi semua sistem komputer. Secara umum sistem komputer terbagi atas hardware , sistem operasi, program aplikasi, dan user. hardware terdiri atas CPU, memori {XE “memori”} dan I/O device yang merupakan resource-resource dasar. Program aplikasi berisi compiler, basis data, game dan program-program bisnis, yang merupakan suatu cara atau alat yang mana resource-resource akan di akses untuk menyelesaikan masalah user.

Pekerjaan utama yang paling sering dilakukan oleh sistem computer selain melakukankomputasi adalah Masukan/Keluaran (M/K) atau sering dikenal dengan Input/Output (I/O). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk I/O. Ditambah lagi dengan banyaknya variasi perangkat I/O sehingga membuat manajemen I/O menjadi komponen yang penting bagi sebuah sistem operasi..

B. Rumusan Masalah

A. Pengertian Manajemen I/O

B. Klasifikasi perangkat I/O

C. Prinsip manajemen perangkat I/O

D. Masalah-masalah manajemen I/O

E. Hirarki manajemen perangkat I/O

F. Buffering I/O

G. Clock


C. Tujuan

Adapun tujuan dari pembuatan makalah ini, yaitu sebagai berikut:

1. Untuk memenuhi Tugas Pada Mata Kuliah Sistem Operasi

2. Menambah pengetahuan tentang Manajemen Input Output








BAB II

PEMBAHASAN




PENGERTIAN MANAJEMEN 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 file 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 penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).

• Menyediakan “driver” untuk dapat melakukan operasi “rinci” untuk perangkat keras I/O tertentu.


Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem
operasi terluas dan kompleks karena sangat beragamnya perangkat dan aplikasinya.

Dalam sistem komputer manajemen i/o sangat diperlukan karena i/o adalah sarana user untuk bisa berkomunikasi dengan komputer. Contoh perangkat i/o seperti keyboard, mice, audio controllers, video controllers, disk drives, networking ports, dll. Manajemen i/o pun diperlukan agar user dapat langsung menggunakan perangkat i/o tanpa harus menginialisasi terlebih dahulu. Oleh karena itu, dalam setiap system operasi selalu terdapat i/o manager.

i/o manager memungkinkan perangkat i/o untuk bisa berkomunikasi dengan subsistem user-mode. i/o manager menerjemahkan perintah read dan write menjadi read dan write IRP (i/o request packets) yang dilanjutkan oleh driver perangkat. Atau bahasa mudahnya i/o manager menyediakan “device driver” yang umum sehingga operasi i/o dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca file pada hard-disk, CD-ROM dan floppy disk.


MANAJEMEN I/O PADA WINDOWS

Dalam windows sistem i/o menyediakan model driver berlapis yang dinamakan stack. Biasanya IRP akan berpindah dari satu driver ke driver lain dalam satu stack yang sama ke fasilitas komunikasi. Misalkan mouse ketika digunakan harus berkomunikasi dengan USB hub, kemudian USB hub harus berkomunikasi dengan USB Host Controller, selanjutnya USB Host Controller harus berkomunikasi melalui PCI bus ke seluruh hardware computer. Maka stack akan berisi mouse driver, USB hub, USB Host Controller, dan PCI bus. Pada windows semua kelas perangkat berbagi driver umum yang disebut “port driver”. Port driver mengimplementasikan operasi standard untuk suatu kelas dan “calls device-spesific routine” yang kemudian mengimplementasikan fungsi “device-spesific”.

i/o manager pada windows mempunyai 2 sub component yaitu: Plug and Play manager and power manager. PnP manager adalah teknologi PnP milik Microsoft yang berfungsi untuk mengenali dan mengadaptasi perubahan pada konfigurasi hardware. Agar Pnp bekerja maka perangkat dan drivernya harus memenuhi standar PnP. Pnp manager secara otomatis mengenali perangkat yang dipasang dan mendeteksi perubahan pada perangkat seiring sistem beroperasi. Pnp manager pun tetap mengawasi sumber daya yang digunakan oleh perangkat, dan juga potensi jika sumber daya tersebut digunakan serta menangani “loading” driver tersebut. Dilain sisi, power manager ikut berperan dalam mengurangi komsumsi tenaga pada perangkat. Sehingga suatu perangkat dapat diset dalam mode “low-power”(sleep mode) ketika tidak digunakan, dan dapat langsung dipakai ketika diperlukan.


MANAJEMEN I/O PADA LINUX

Dalam Linux system i/o kurang lebih mirip dengan yang terdapat pada Unix. User dapat membuka saluran akses ke perangkat sama seperti membuka file-perangkat lain yang tampak sebagai objek dalam file sistem. Linux membagi semua perangkat i/o menjadi 3 kelas: “block devices”, “character devices”, dan “network devices”.

“Block devices” yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-blok secara independen, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh : disk, tape, CD ROM, optical disk. Fungsi “block devices” sendiri didukung oleh 2 sistem component, block buffer cache dan request manager. Block buffer cache bertugas sebagai pool dari buffer i/o aktif dan cache dari “completed i/o”. “Request manager” adalah lapisan software yang mengelola konten read dan write buffer dari dan menuju block-device driver.

“Character devices” yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh : terminal, line printer, pita kertas, kartu-kartu berlubang, mouse. Perangkat ini tidak memerlukan random access untuk sebuah block data. Akan tetapi, tiap perangkat telah memiliki berbagai fungsi yang telah terdaftar pada kernel yang diimplementasikan pada file operasi i/o.

Sedangkan “network devices” berbeda dengan block atau character devices, user harus berkomunikasi secara tidak langsung dengan cara harus membuka sambungan dengan subsistem jaringan kernel.


FUNGSI MANAJEMEN I/O

a. Mengirim perintah ke perangkat I/O agar menyediakan layanan.

b. Menangani interupsi perangkat I/O.

c. Menangani kesalahan perangkat I/O.

d. Menyediakan interface ke pemakai.

KLASIFIKASI PERANGKAT I/O

Perangkat I/O dapat dikelompokkan berdasarkan :

Sifat aliran datanya, yang terbagi atas :
Perangkat berorientasi blok.

Yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-blok secara independen, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh : disk,tape,CD ROM, optical disk.

2 . Perangkat berorientasi aliran karakter.

Yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh : terminal, line printer, pita kertas, kartu-kartu berlubang, interface jaringan, mouse.


Sasaran komunikasi, yang terbagi atas :.
Perangkat yang terbaca oleh manusia.

Perangkat yang digunakan untuk berkomunikasi dengan manusia.

Contoh : VDT (video display terminal) : monitor, keyboard, mouse.

Perangkat yang terbaca oleh mesin.

Perangkat yang digunakan untuk berkomunikasi dengan perangkat elektronik. Contoh : Disk dan tape, sensor, controller.

Perangkat komunikasi.

Perangkat yang digunakan untuk komunikasi dengan perangkat jarak jauh. Contoh : Modem.

Faktor-faktor yang membedakan antar perangkat :

o Kecepatan transmisi data (data rate).

o Jenis aplikasi yang digunakan.

o Tingkat kerumitan dalam pengendalian.

o Besarnya unit yang ditransfer.

o Representasi atau perwujudan data.

o Kondisi-kondisi kesalahan.



TEKNIK PEMOGRAMAN PERANGKAT I/O


Terdapat 3 teknik, yaitu :

I/O terprogram atau polling system.

Ketika perangkat I/O menangani permintaan, perangkat men-set bit status di register status perangkat. Perangkat tidak memberitahu ke pemroses saat tugas telah selesai dilakukan sehingga pemroses harus selalu memeriksa register tersebut secara periodik dan melakukan tindakan berdasar status yang dibaca. Software pengendali perangkat (driver) dipemroses harus mentransfer data ke/dari pengendali. Driver mengekseksui perintah yang berkomunikasi dengan pengendali (adapter) di perangkat dan menunggui sampai operasi yang dilakukan perangkat selesai.
Driver berisi kumpulan instruksi :

1 Pengendalian.

Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang perlu dilakukan. Contoh : unit tape magnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke record berikut, dan sebagainya.
2 Pengujian.

Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat I/O.
3 Pembacaan/penulisan

Berfungsi membaca/menulis untuk transfer data antara register pemroses dan perangkat eksternal.Masalah utama I/O terprogram adalah pemroses diboroskan untuk menunggu dan menjagai operasi I/O. Diperlukan teknik lain untuk meningkatkan efisiensi pemroses.

B. I/O dikendalikan interupsi.

Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut :
o Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkan melakukan pekerjaan lainnya.
o Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah siap bertukar data dengan pemroses.

o Saat menerima interupsi perangkat keras (yang memberitahukan bahwa perangkat siap melakukan transfer), pemroses segera mengeksekusi transfer data.

Keunggulan :

o Pemroses tidak disibukkan menunggui dan menjaga perangkat I/O untuk memeriksa status perangkat.

Kelemahan :

o Rate transfer I/O dibatasi kecepatan menguji dan melayani operasi perangkat.

o Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi harus dieksekusi untuk tiap transfer I/O.

C. Dengan DMA (direct memory access).

DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat I/O. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA controller dengan mengirim informasi berikut :

o Perintah penulisan/pembacaan.

o Alamat perangkat I/O.

o Awal lokasi memori yang ditulis/dibaca.

o Jumlah word (byte) yang ditulis/dibaca.

Setelah mengirim informasi-informasi itu ke DMA controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim sinyal interupsi ke pemroses. Sehingga pemroses hanya dilibatkan pada awal dan akhir transfer data. Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA lepas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.

Keunggulan :

o Penghematan waktu pemroses.

o Peningkatan kinerja I/O.


EVOLUSI PERANGKAT I/O

Sistem komputer mengalami peningkatan kompleksitas dan kecanggihan komponen-komponennya, yang sangat tampak pada fungsi-fungsi I/O sebagai berikut :

a. Pemroses mengendalikan perangkat I/O secara langsung.

Masih digunakan sampai saat ini untuk perangkat sederhana yang dikendalikan mikroprosessor sehingga menjadi perangkat berintelijen (inteligent device).

b. Pemroses dilengkapi pengendali I/O (I/O controller).

Pemroses menggunakan I/O terpogram tanpa interupsi, sehingga tak perlu memperhatikan rincian-rincian spesifik antarmuka perangkat.

c. Perangkat dilengkapi fasilitas interupsi.

Pemroses tidak perlu menghabiskan waktu menunggu selesainya operasi I/O, sehingga meningkatkan efisiensi pemroses.

d. I/O controller mengendalikan memori secara langsung lewat DMA.

Pengendali dapat memindahkan blok data ke/dari memori tanpa melibatkan pemroses kecuali diawal dan akhir transfer.

e. Pengendali I/O menjadi pemroses terpisah.

Pemroses pusat mengendalikan.memerintahkan pemroses khusus I/O untuk mengeksekusi program I/O di memori utama. Pemroses I/O mengambil dan mengeksekusi intruksi-intruksi ini tanpa intervensi pemroses pusat. Dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya diinterupsi ketika seluruh barisan intruksi diselesaikan.

f. Pengendali I/O mempunyai memori lokal sendiri.

Perangkat I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang minimum.

Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga pemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja sistem.

PRINSIP MENEJEMEN PERANGKAT I/O

Terdapat dua sasaran perancangan I/O, yaitu :

a. Efisiensi.

Aspek penting karena operasi I/O sering menimbulkan bottleneck.

b. Generalitas (device independence).

Manajemen perangkat I/O selain berkaitan dengan simplisitas dan bebas kesalahan, juga menangani perangkat secara seragam baik dari cara proses memandang maupun cara sistem operasi mengelola perangkat dan operasi I/O.

Software diorganisasikan berlapis. Lapisan bawah berurusan menyembunyikan kerumitan perangkat keras untuk lapisan-lapisan lebih atas. Lapisan lebih atas berurusanmemberi antar muka yang bagus, bersih, nyaman dan seragam ke pemakai.


MASALAH – MASALAH DALAM MENEJEMEN I/O

a. Penamaan yang seragam (uniform naming).

Nama berkas atau perangkat adalah string atau integer, tidak bergantung pada perangkat sama sekali.

b. Penanganan kesalahan (error handling).

Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat keras.

c. Transfer sinkron vs asinkron.

Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, program kemudian ditunda secara otomatis sampai data tersedia di buffer.

d. Sharable vs dedicated.

Beberapa perangk dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat. Contoh : printer.

Hirarki manajemen perangkat I/O

Hirarki manajemen perangkat I/O :

Interrupt handler.

Interupsi harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blocked saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.

Device drivers.

Semua kode bergantung perangkat ditempatkan di device driver. Tiap device driver menangani satu tipe (kelas) perangkat dan bertugas menerima permintaan abstrak perangkat lunak device independent diatasnya dan melakukan layanan permintaan.

Mekanisme kerja device driver :

o Menerjemahkan perintah abstrak menjadi perintah konkret.

o Setelah ditentukan perintah yang harus diberikan ke pengendali, device driver mulai menulis ke register-register pengendali perangkat.

o Setelah operasi selesai dilakukan perangkat, device driver memeriksa status kesalahan yang terjadi.

o Jika berjalan baik, device driver melewatkan data ke perangkat lunak device independent.

o Kemudian device driver melaporkan status operasinya ke pemanggil.

Perangkat lunak device independent.

Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua perangkat dan memberi antarmuka seragam ke perangkat lunak tingkat pemakai.

Fungsi-fungsi lain yang dilakukan :

o Sebagai interface seragam untuk seluruh device driver.

o Penamaan perangkat.

o Proteksi perangkat.

o Memberi ukuran blok perangkat agar bersifat device independent.

o Melakukan buffering.

o Alokasi penyimpanan pada block devices.

o Alokasi dan pelepasan dedicated devices.

o Pelaporan kesalahan.

Perangkat lunak level pemakai.

Kebanyakan perangkat lunak I/O terdapat di sistem operasi. Satu bagian kecil berisi pustaka-pustaka yang dikaitkan pada program pemakai dan berjalan diluar kernel. System calls I/O umumnya dibuat sebagai prosedur-prosedur pustaka. Kumpulan prosedur pustaka I/O merupakan bagian sistem I/O. Tidak semua perangkat lunak I/O level pemakai berupa prosedur- prosedur pustaka. Kategori penting adalah sistem spooling. Spooling adalah cara khusus berurusan dengan perangkat I/O yang harus didedikasikan pada sistem multiprogramming.

BUFFERING I/O

Buffering adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi dan kinerja sistem operasi.

Terdapat beragam cara buffering, antar lain :

a. Single buffering.

Merupakan teknik paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk operasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.

Keunggulan :

Pendekatan in umumnya meningkatkan kecepatan dibanding tanpa buffering. Proses pemakai dapat memproses blok data sementara blok berikutnya sedang dibaca. Sistem operasi dapat menswap keluar proses karena operasi masukan berada di memori sistem bukan memori proses pemakai.

Kelemahan :

o Merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer sistem e proses pemakai.

o Logika swapping juga dipengaruhi. Jika operasi I/O melibatkan disk untuk swapping, maka membuat antrian penulisan ke disk yang sama yang digunakan untuk swap out proses. Untuk menswap proses dan melepas memori utama tidak dapat dimulai sampai operasi I/O selesai, dimana waktu swapping ke disk tidak bagus untuk dilaksanaka Buffering keluaran serupa buffering masukan. Ketika data transmisi, data lebih dulu dikopi dari ruang pemakai ke buffer sistem. Proses pengirim menjadi bebas untuk melanjutkan eksekusi berikutnya atau di swap ke disk Jika perlu. Untuk perangkat berorientasi aliran karakter.

Single buffering dapat diterapkan dengan dua mode, yaitu :

o Mode line at a time.

Cocok untuk terminal mode gulung (scroll terminal atau dumb terminal). Masukan pemakai adalah satu baris per waktu dengan enter menandai akhir baris. Keluaran terminal juga serupa, yaitu satu baris per waktu. Contoh mode ini adalah printer. Buffer digunakan untuk menyimpan satu baris tunggal. Proses pemakai ditunda selama masukan, menunggu kedatangan satu baris seluruhnya.
Untuk keluaran, proses pemakai menempatkan satu baris keluaran pada buffer dan melanjutkan pemrosesan. Proses tidak perlu suspend kecuali bila baris kedua dikirim sebelum buffer dikosongkan.

o Mode byte at a time.

Operasi ini cocok untuk terminal mode form, dimana tiap ketikan adalah penting dan untuk peripheral lain seperti sensor dan pengendali.

b. Double buffering.

Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan ini harus dibayar dengan peningkatan kompleksitas. Untuk berorientasi aliran karakter, double buffering mempunyai 2 mode alternatif, yaitu :

o Mode line at a time.

Proses pemakai tidak perlu ditunda untuk I/O kecuali proses secepatnya mengosongkan buffer ganda.

o Mode byte at a time.

Buffer ganda tidak memberi keunggulan berarti atas buffer tunggal. Double buffering mengikuti model producer-consumer.

c. Circular buffering.

Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari denga menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circulat buffer. Tiap bufferindividu adalah satu unit di circular buffer.













BAB III

PENUTUP


A. Kesimpulan

Dalam sistem komputer manajemen i/o sangat diperlukan karena i/o adalah sarana user untuk bisa berkomunikasi dengan komputer. Contoh perangkat i/o seperti keyboard, mice, audio controllers, video controllers, disk drives, networking ports, dll. Manajemen i/o pun diperlukan agar user dapat langsung menggunakan perangkat i/o tanpa harus menginialisasi terlebih dahulu. Oleh karena itu, dalam setiap system operasi selalu terdapat i/o manajemen.






SUMBER


http://rahmadsmartboy.blogspot.com/2008/10/manajemen-io.html

Read More ->>

MAKALAH PRATIKUM SISTEM OPERASI “ Manajement Proses ”

MAKALAH SISTEM OPERASI
“ Manajement Proses ”


Disusun Oleh :
Nama              : Ahmad Solihin
NIM                : 20160810006
Prodi               : Pratikum Sistem Operasi

LABORATORIUM PRATIKUM 
FAKULTAS KOMPUTER UNIVERSITAS KUNINGAN
TAHUN 2016/2017





BAB I
PENDAHULUAN
  1. LATAR BELAKANG
    Keberadaan sistem operasi dalam sistem komputer adalah sebagai perangkat lunak yang mempunyai tugas mengendalikan dan mengkoordinasikan seluruh hardware dan software sebagai sumber daya komputer sekaligus memberikan pelayanan kepada program aplikasi dan pemrogram untuk memudahkan pemanfaatan sumber dayanya. Proses sebagai suatu entitas yang dinamis mengandung sejumlah instruksi, data, program counter, kumpulan register serta stack yang berisi alamat memori. Proses juga dapat dikatakan sebagai program yang sedang dieksekusi (program aplikasi / sistem operasi). Proses dapat dikatakan sebagai unit kerja terkecil yang secara individu memiliki sumber daya – sumber daya dan dijadwalkan oleh sistem operasi.
    Dengan demikian sistem operasi mempunyai kegiatan yang sangat kompleks dalam mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses – proses sesuai kebutuhan. Kegiatan tersebut menjadikan sistem operasi membutuhkan suatu manajemen proses.
  2. TUJUAN PENULISAN
    Adapun tujuan penulisan makalah ini adalah untuk mengetahui tentang manajemen proses pada Sistem Operasi.


BAB II
PEMBAHASAN
  1. PENGERTIAN PROSES
    Proses adalah sebuah program yang sedang dieksekusi atau program yang sedang di jalankan atau software yang sedang dilaksanakan termasuk sistem operasi yang disusun menjadi sejumlah proses sequential.
    Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Proses berisi instruksi dan data. program counter dan semua register pemroses, dan stack berisi data sementara seperti parameter rutin, alamat pengiriman dan variabel-variabel lokal.
    Sistem operasi mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem. Salah satunya adalah program yang sedang dieksekusi yang merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi. Sistem operasi mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem.
    Hal – hal yang berkaitan dengan proses yaitu :
    1. MULTIPROGAMMING ( MULTITASKING )
    Multiprogramming adalah manajemen banyak proses pada satu pemroses. Istilah yang digunakan multiprogramming (multitasking) bukan multiprocessing. Mulitprocessing telah digunakan untuk konsep lain, yaitu komputer dengan banyak pemroses di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara independen. Saat ini, kebanyakan komputer pribadi, workstation adalah sistem pemroses tunggal yang menjalankan sistem operasi multiprogramming (multitasking) seperti MS-Windows 3.0, MS-Windows NT, OS/2 dan Macintosh System 7.
    Banyak proses dijalankan bersamaan, masing-masing proses mendapat bagian memori dan kendali tersendiri. Program yang dijalankan bersifat :
    1. Tidak bergantung (Independent)
      Proses terpisah satu dari lainnya & tidak berpengaruh
    2. Satu program pada satu saat (one program at any instant)
      Pada satu waktu hanya satu proses yang dilayani pemroses, menggunakan interleave bukan overlap diantara program-program
    Oleh karena perpindahan dari satu proses ke proses dilakukan secara cepat bagi bagi pemakai seolah-olah bekerja secara paralel. Hal ini dikenal dengan paralel semu (pseudoparallelism).
    1. MULTIPROCESSING
    Multiprocessing adalah manajemen banyak proses di komputer multiprocessor (banyak pemroses di dalamnya). Dengan kata lain komputer dengan banyak pemroses di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara independen. Dulunya sistem ini hanya terdapat di sistem besar, mainframe dan minikomputer. Saat ini komputer workstation telah dapat dilengkapi multiprocessor. Menggunakan komputer semaksimal mungkin dengan beberapa CPU sehingga beberapa program bisa dijalankan secara bersama-sama, masing-masing dengan menggunakan prosesornya sendiri-sendiri. Sistem operasi yang mendukung multiprocessing yaitu : Microsoft Windows NT, UNIX, Linux.
    1. DISTRIBUTED PROCESSING / COMPUTING
    Distributed Processing adalah manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi). Trend masa datang adalah menuju komputasi tersebar (distributed computing). Banyak riset dan pengembangan sistem operasi tersebar di antaranya AMOEBA, MACH, dan sebagainya.


  2. PEMROSES
    Kebutuhan utama pengendalian proses oleh Sistem Operasi dapat dinyatakan dengan mengacu ke proses yaitu :
    1. Saling melanjutkan (Interleave).
    Dikatakan interleave (bersambung/ melanjutkan) maksudnya pemroses mengeksekusi satu proses setiap saat dan secara cepat beralih ke proses lainnya secara bergiliran. Sistem Operasi harus interleave (saling melanjutkan) eksekusi proses-proses agar memaksimumkan penggunaan pemroses sambil masih memberi waktu tanggap yang memadai.
    1. Mengikuti kebijaksanaan tertentu.
    Sistem Operasi harus mengalokasikan sumber daya ke proses-proses mengikuti kebijaksanaan yang ditentukan (misal suatu aplikasi memiliki prioritas lebih tinggi) sambil menghindari deadlock .
    1. Mendukung komunikasi antar proses dan penciptaan proses.
    Sistem Operasi harus mendukung komunikasi antar proses dan penciptaan proses oleh pemakai sehingga membantu menstrukturkan aplikasi. Jadi pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya yaitu proses mengalami beragam state selama siklus hidupnya sebelum berakhir dan keluar dari sistem.
    Sistem Operasi harus mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi ini untuk penjadwalan dan memutuskan alokasi sumber daya.

  3. DIAGRAM STATE DASAR
    Status proses atau bagian keadaan proses memiliki tiga elemen. yaitu:
    1. Running
    Running / kerja, benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).
    Ada tiga kemungkinan bila sebuah proses memiliki status Running:
  • Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated.
  • Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
  • Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M / K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.
  1. Blocked
Blocked / terhenti, tidak dapat berjalan sampai kegiatan eksternal terlaksana (proses menunggu kejadian untuk melengkapi tugasnya) Bisa berupa proses menunggu : Selesainya operasi perangkat I/O; Tersedianya memori; Tibanya pesan jawaban
  1. Ready
Ready / siap, proses siap dikerjakan tetapi menunggu giliran dengan proses lain yang sedang dikerjakan (bisa berjalan, sementara berhenti untuk memungkinkan proses lain dikerjakan).
Gambar Diagram State 3 Keadaan
            Keterangan:
  • Proses baru diciptakan berada pada state ready
  • Proses dari running menjadi blocked karena sumberdaya yang diminta belum tersedia atau meminta layanan perangkat masukan/ keluaran (I/O) sehingga menunggu kejadian yang muncul. Proses ini dikenal dengan event wait.
  • Proses dari running jadi ready karena penjadwal memutuskan eksekusi proses lain oleh karena jatah waktu telah habis (timeout).
  • Proses dari blocked jadi ready karena sumber daya yang diminta tersedia atau layanan I/O selesai/ terpenuhi. Proses ini dikenal event occur
  • Proses dari ready jadi running

Dalam status proses terdapat dua status tambahan, yaitu saat pembentukan danterminasi:
  • New adalah status yang dimiliki pada saat proses baru saja dibuat.
  • Terminated adalah status yang dimiliki pada saat proses telah selesai dieksekusi.
  1. PCB (Program Control Block)
    Sistem Operasi memerlukan banyak informasi mengenai proses guna pengelolaan proses. Informasi ini ada di PCB. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, yaitu:

    Gambar Diagram PCB

    Struktur datanya menyimpan informasi lengkap mengenai proses sehingga dapat terjadi siklus hidup proses. Informasi di PCB dikelompokkan menjadi 3, yaitu :
    1. Informasi Identifikasi Proses
    2. Informasi Status Pemroses
    3. Informasi Kendsali Proses














Informasi Kendali Pemroses (lanjut)
Kewenangan proses
Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan
Manajemen memori
Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses
Kepemilikan dan utilisasi sumber daya
Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
  • Berkas yang dibuka
  • Pemakaian pemroses
  • Pemakaian sumberdaya lainnya
Informasi ini diperlukan oleh penjadwal







G
Gambar Tabel Informasi PCB
  1. PROSES PEMAKAI
    Proses Pemakai mempunyai struktur berisi PCB, stack pemakai (user stack), ruang alamat proses ekslusif dan ruang alamat yang dipakai bersama proses lain. Struktur ini ditunjukkan pada tabel sebelumnya. Pada tabel diatas, struktur citra proses digambarkan kontinyuu (berturutan) di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi.



Gambar Diagram Proses Pemakai
  1. OPERASI – OPERASI PADA PROSES
    1. Operasi – operasi terhadap proses
    Sistem Operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses. Operasi-operasi terhadap proses antara lain :
  1. proses (create process)
  • Penciptaan
  • Penghancuran/terminasi proses (destroy a process)
  • Penundaan proses (suspend a process)
  • Pelanjutan kembali proses (resume process)
  • Pengubahan prioritas proses
  • Memblok proses
  • Membangunkan proses
  • Menjadwalkan proses
  • Memungkinkan proses berkomunikasi dengan proses lain
  1. Penciptaan Proses
Pada penciptaan proses melibatkan banyak aktivitas, yaitu
  1. Menamai (memberi identitas) proses
  2. Menyisipkan proses pada senarai proses atau tabel proses
  3. Menentukan prioritas awal proses
  4. Menciptakan PCB
  5. Mengalokasikan sumberdaya awal bagi proses
Ketika proses baru ditambahkan, SO membangun struktur data untuk mengelola dan alokasi ruang alamat proses itu. Aksi ini berkaitan dengan proses baru. 
Penyebab penciptaan proses antara lain :
  • Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job).
  • Pada lingkungan interaktif, ketika pemakai baru berusaha log on.
  • Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu.
  • Proses menciptakan proses lain (proses anak). Proses yang menciptakan proses disebut proses induk (parent process). Proses anak-pun kembali dapat menciptakan proses-proses anak. Proses-proses dapat membentuk pohon hirarki proses.
  1. Alasan – alasan penciptaan proses
Alasan penciptaan proses memiliki penyebab dan deskripsi seperti yang tercantum pada tabel di bawah ini:
Gambar Tabel Alasan – Alasan Penciptaan Proses
  1. Penghancuran Proses (destroy a process)
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu: Sumber daya-sumber daya yang dipakai dikembalikan, Proses dihancurkan dari senarai atau tabel system, PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas )
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan. Pendekatan pertama ada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.Pendekatan kedua beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
  1. Alasan Penghancuran proses
Dibawah ini adalah tabel alasan – alasan pengahncuran proses.
Selesainya proses secara normal Proses mengeksekusi panggilan layanan SO untuk menandakan bahwa proses telah berjalan secara lengkap.
Batas waktu telah terlewati Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time“) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
Memori tidak tersedia Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
Pelanggaran terhadap batas memori Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses
Terjadi kesalahan karena pelanggaran proteksi Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis file read only
Terjadi kesalahan aritmatika Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W
Waktu telah kadaluwarsa Proses telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian spesfiik
Terjadi kegagalan masukan/keluaran Kesalahan muncul pada masukan atau keluaran, seperti ketidakmampuan menemukan file, kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid seperti membaca dari line printer)
Intruksi yang tidak benar Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat pencabangan ke daerah data dan berusaha mengeksekusi data tersebut)
Terjadi usaha memakai instruksi yang tidak diijinkan Proses berusaha mengeksekusi instruksi yang disimpan untuk SO
Kesalahan penggunaan data Bagian data adalah tipe yang salah atau tidak diinisialisasi
Diintervensi oleh SO atau operator Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi deadlock)
Berakhirnya proses induk Ketika parent berakhir. SO mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu
Atas permintaan proses induk Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses
Gambar Tabel Alasan – Alasan Penghancuran Proses
  1. Penundaan Proses (suspend a process)
Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain. Penundaan biasanya berlangsung singkat dan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me-resume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan. Pada sistem monoprocessor, proses running dapat men-suspend dirinya sendiri karena lak ada proses lain yang juga running yang dapat memerintahkan suspend. Pada sistem multiprocessor, proses running dapat di-suspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di-suspend oleh proses lain.
  1. Proses Pelanjutan Kembali (resume a process)
Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat di- suspend agar di-resume setelah masalab diselesaikan. Pemakai yang ragu / khawatir mengenai basil proses dapat men-suspend proses [bukan membuang (abort) proses]. Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat di-suspend) proses yang di-suspend.
Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal di-suspend dan di- resume saat beban kembali ke tingkat normal.
  1. Proses Blocked
Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membual proses ready atau suspendedready? Bukankah state blocked, readyblocked, suspendedblocked sama-sama tidak mendapatjatah waktu pemroses? Kenapa dibedakan ?. Jawabannya adalah karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di-suspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain.
Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.

Gambar Diagram State Lanjut

  1. Penjadwalan Proses
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
  1. Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu  pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
  1. Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
  1. Waktu tanggap (response time)
    Waktu tanggap berbeda untuk :
  • Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response
time.
  • Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
  • Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.
  • Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu
  1. SINKRONISASI
    Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data primitive. Terdapat design yang berbeda-beda dalam implementasi setiap primitive. Pengiriman pesan mungkin dapat diblok (blocking) atau tidak dapat dibloking (nonblocking) – juga dikenal dengan nama sinkron atau asinkron.
  • Pengiriman yang diblok : Proses pengiriman di blok sampai pesan diterima oleh proses penerima (receiving process) atau oleh mailbox.
  • Pengiriman yang tidak diblok : Proses pengiriman pesan dan mengkalkulasi operasi.
  • Penerimaan yang diblok : Penerima mem blok sampai pesan tersedia.
  • Penerimaan yang tidak diblok : Penerima mengembalikan pesan valid atau null.
Ketika dalam keadaan sinkron, terjadi dua kejadian:
  • Blocking send, yaitu pemblokiran pengirim sampai pesan sebelumnya diterima.
  • Blocking receive, yaitu pemblokiran penerima sampai terdapat pesan yang akan dikirim.
Sedangkan untuk keadaan asinkron, yang terjadi adalah:
  • Non-blocking send, yaitu pengirim dapat terus mengirim pesan tanpa memperdulikan apakah pesan sebelumnya sampai atau tidak.
  • Non-blocking receive, yaitu penerima menerima semua pesan baik berupa pesan yang valid atau pesan yang salah (null).
  1. KOMUNIKASI ANTAR P
    (Inter Process Communinication / IPC) :
Beberapa proses biasanya berkomunikasi dengan proses lainnya. Contohnya pada shell pipe line. Output dari proses pertama harus diberikan kepada proses ke dua dan seterusnya. Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).
  1. Komunikasi Langsung
Setiap proses yang ingin berkomunikasi harus memiliki nama yang bersifat eksplisit baik penerimaan atau pengirim dari komunikasi tersebut. Dalam konteks ini, pengiriman dan penerimaan pesan secara primitive dapat dijabarkan sebagai :
  • Send (P, message) – mengirim sebuah pesan ke proses P.
  • Receive (Q, message) – menerima sebuah pesan dari proses Q.
Sebuah jaringan komunikasi pada bahasan ini memiliki beberapa sifat, yaitu :
  • Sebuah jaringan yang didirikan secara otomatis diantara setiap pasang dari proses yang ingin dikomunikasikan.Proses tersebut harus mengetahui identitas dari semua yang ingin dikomunikasikan.
  • Sebuah jaringan adalah terdiri dari penggabungan 2 proses.
  • Diantara setiap pesan dari proses terdapat tepat sebuah jaringan.
Pembahasan ini memperlihatkan sebuah cara simetris dalam pemberian alamat. Oleh karena itu, baik keduanya yaitu pengirim dan penerima proses harus memberi nama bagi yang lain untuk berkomunikasi, hanya pengirim yang memberikan nama bagi penerima sedangkan penerima tidak menyediakan nama bagi pengirim. Dalam konteks ini, pengirim dan penerima secara sederhana dapat dijabarkan sebagai :
  • Send (P, message) – mengirim sebuah pesan kepada proses P.
  • Receive (id, message) – menerima sebuah pesan dari semua proses. Variabel id diatur sebagai nama dari proses dengan komunikasi.
  1. Komunikasi Tidak Langsung
Dengan komunikasi tidak langsung, pesan akan dikirimkan pada dan diterima dari / melalui mailbox (Kotak Surat) atau terminal-terminal, sebuah mailbox dapat dilihat secara abstrak sebagai sebuah objek didalam setiap pesan yang dapat ditempatkan dari proses dan dari setipap pesan yang bias dipindahkan. Setiap kotak surat memiliki sebuah identifikasi (identitas) yang unik, sebuah proses dapat berkomunikasi dengan beberapa proses lain melalui sebuah nomor dari mailbox yang berbeda. Dua proses dapat saling berkomunikasi apabila kedua proses tersebut sharing mailbox. Pengirim dan penerima dapat dijabarkan sebagai :
  • Send (A, message) – mengirim pesan ke mailbox A.
  • Receive (A, message) – menerima pesan dari mailbox A.
Dalam masalah ini, link komunikasi mempunyai sifat sebagai berikut :
  • Sebuah link dibangun diantara sepasang proses dimana kedua proses tersebut membagi mailbox.
  • Sebuah link mungkin dapat berasosiasi dengan lebih dari 2 proses.
  • Diantara setiap pasang proses komunikasi, mungkin terdapat link yang berbeda-beda, dimana setiap link berhubungan pada satu mailbox.
Misalkan terdapat proses P1, P2 dan P3 yang semuanya share mailbox. Proses P1 mengirim pesan ke A, ketika P2 dan P3 masing-masing mengeksekusi sebuah kiriman dari A. Proses mana yang akan menerima pesan yang dikirim P1?. Jawabannya tergantung dari jalur yang kita pilih :
  • Mengijinkan sebuah link berasosiasi dengan paling banyak 2 proses.
  • Mengijinkan paling banyak 1 proses pada suatu waktu untuk mengeksekusi hasil kiriman (receive operation).
  • Mengijinkan sistem untuk memilih secara mutlak proses mana yang akan menerima pesan (apakah itu P2 atau P3 tetapi tidak keduanya, tidak akan menerima pesan). Sistem mungkin mengidentifikasi penerima kepada pengirim.
Mailbox mungkin dapat dimiliki oleh sebuah proses atau sistem operasi. Jika mailbox dimiliki oleh proses, maka kita mendefinisikan antara pemilik (yang hanya dapat menerima pesan melalui mailbox) dan pengguna dari mailbox (yang hanya dapat mengirim pesan ke mailbox). Selama setiap mailbox mempunyai kepemilikan yang unik, maka tidak akan ada kebingungan tentang siapa yang harus menerima pesan dari mailbox. Ketika proses yang memiliki mailbox tersebut diterminasi, mailbox akan hilang. Semua proses yang mengirim pesan ke mailbox ini diberi pesan bahwa mailbox tersebut tidak lagi ada.
Dengan kata lain, mempunyai mailbox sendiri yang independent, dan tidak melibatkan proses yang lain. Maka sistem operasi harus memiliki mekanisme yang mengijinkan proses untuk melakukan hal-hal dibawah ini :
  • Membuat mailbox baru.
  • Mengirim dan menerima pesan melalui mailbox.
  • Menghapus mailbox.
Proses yang membuat mailbox pertama kali secara default akan memiliki mailbox tersebut. Untuk pertama kali, pemilik adalah satu-satunya proses yang dapat menerima pesan melalui mailbox ini. Bagaimanapun, kepemilikan dan hak menerima pesan mungkin dapat dialihkan ke proses lain melalui sistem pemanggilan.
  • Pengiriman yang diblok : Proses pengiriman di blok sampai pesan diterima oleh proses penerima (receiving process) atau oleh mailbox.
  • Pengiriman yang tidak diblok : Proses pengiriman pesan dan mengkalkulasi operasi.
  • Penerimaan yang diblok : Penerima mem blok samapai pesan tersedia.
  • Penerimaan yang tidak diblok : Penerima mengembalikan pesan valid atau null.
  1. PENGALIHAN PROSES
    Kelihatannya pengalihan proses (process switching) adalah sepele. Pada suatu saat, proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu.

    Dalam hal ini muncul beberapa masalah, yaitu:
  • Kejadiankejadian apa yang memicu alih proses?
  • Masalah lain adalah terdapatnya perbedaan antara alih proses (process switching) dan alih konteks (context switching).
Apa yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah kendalinya dalam alih proses?
  1. Kejadiankejadian Penyebab Pengalihan Proses
Kejadiankejadian yang menyebabkan terjadinya alih proses adalah:
  1. Interupsi sistem.
Interupsi sistem disebabkan kejadian eksternal dan tak bergantung proses yang saat itu sedang running.
Contoh : Selesainya operasi masukan/keluaran.
Pada kejadian interupsi, kendali lebih dulu ditransfer ke interrupt handler yang melakukan penyimpanan datadata dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan tipe interupsi itu.
Tipetipe interupsi antara lain:
  • Interupsi clock (clock interrupt).
Sistem operasi (penjadwal) menentukan apakah proses yang sedang running telah mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya maka proses dialihkan ke state ready dan proses lain dijadwalkan running.
  • Interupsi masukanlkeluaran (110 interrupt).
Kejadian dimana peralatan masukan/keluaran melakukan interupsi meminta layanan sistem operasi. Sistem operasi segera menentukan aksiaksi masukan keluaran yang harus dilakukan.
  • Page/memory fault.
Pernroses menemui pengacuan alamat memori maya yang tidak terdapat di memori utarna (fisik). Sistem operasi segera memerintahkan untuk mengambil page yang terdapat alamat yang dimaksud untuk dipindah ke memori utama.
  1. Trap.
Trap adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception conditions) yang dihasilkan proses yang running, seperti usaha illegal dalam mengakses file.
Dengan adanya trap, sistem operasi menentukan apakah kesalahan yang dibuat merupakan kesalahan fatal?
  • Jika fatal, proses yang saat itu running disingkirkan dan terjadi alih proses.
  • Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan rancangan sistern operasi. Kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan atau memperingatkan ke pemakai.
Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume proses.
  1. Supervisor call.
Supervisor call yaitu panggilan meminta atau mengaktifkan bagian sistem operasi.
Contoh : Proses pemakai running meminta layanan masukan keluaran seperti membuka file. Panggilan ini menghasilkan transfer ke rutin bagian sistem operasi. Biasanya, penggunaan system call membuat proses pemakai blocked karena diaktifkan proses kernel (sistem, operasi).

  1. Pengalihan Proses dan Pengalihan Konteks
Banyak buku teks sistem operasi menyamakan antara pengalihan proses (process switching) dan pengalihan konteks (contextswitching). Tidak terdapat istilah untuk aksi penanganan interupsi. Kita membedakan antara istilah pengalihan proses dan pengalihan konteks.
  • Pengalihan Konteks
Pengalihan konteks dapat terjadi tanpa pengalihan state proses yang sedang running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks.
Siklus penanganan interupsi adalah :
1. Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack.
2. Pemroses menset register PC dengan alamat awal program untuk interrupt handler.
Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan instruksiinstruksi berikutnya & interrupt handler yang melayani interupsi. Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain yaitu pengalihan PCB proses dari senarai running ke senarai lain (blocked, ready, dan sebagainya), dan sebaliknya. Kita menyebut pengalihan konteks adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi program interrupt handler.
Setelah selesai penanganan interupsi maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain.
Pengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked, dan sebagainya), kemudian sistem operasi harus membuat perubahanperubahan berarti terhadap lingkungannya.





BAB III
KESIMPULAN
Proses adalah sebuah program yang sedang dieksekusi atau program yang sedang di jalankan atau software yang sedang dilaksanakan termasuk sistem operasi yang disusun menjadi sejumlah proses sequential.
Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Proses berisi instruksi dan data. program counter dan semua register pemroses, dan stack berisi data sementara seperti parameter rutin, alamat pengiriman dan variabel-variabel lokal.Hal-hal yang berkaitan dengan proses antara lain :
  • Multiprogramming
  • Multprocessing
  • Distributed Processing
Status proses atau bagian keadaan proses memiliki tiga elemen. yaitu:
  • Running
  • Blocked
  • Ready
Operasi-operasi terhadap proses antara lain :
  • Penciptaan proses (create process)
  • Penghancuran/terminasi proses (destroy a process)
  • Penundaan proses (suspend a process)
  • Pelanjutan kembali proses (resume process)
  • Pengubahan prioritas proses
  • Memblok proses
  • Membangunkan proses
  • Menjadwalkan proses
  • Memungkinkan proses berkomunikasi dengan proses lain
DAFTAR PUSTAKA
  1. Gunadarma, Singgih. TOT – Sistem Operasi 4 – 6.pdf.
  2. Danang Lelono, S.Si., M.T – Manajemen Proses.ppt.
  3. http://iwansantosa.files.wordpress.com/
  4. http://ariefzuhud.blog.upi.edu/2010/03/13/manajemen-proses-pada-sistem-operasi/
  5. http://langitcool.blogspot.com/2008/11/manajemen-proses-sistem-operasi.html


Read More ->>
Diberdayakan oleh Blogger.

About Me

About Me

Followers

Followers

Paling Dilihat