UAS MATA KULIAH SISTEM OPERASI.docx

6
UAS MATA KULIAH SISTEM OPERASI 1. Apa itu Karnel? Dan jeaskan fungsinya! 1)Pengertian Tentang Kernel Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman. Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing. Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer. Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung di- load dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut. 2)Tugas utama kernel adalah membantu eksekusi aplikasi dan mendukungnya dengan fitur abstraksi hardware. Suatu proses mendefinisikan seberapa porsi memory yang dapat di akses oleh suatu aplikasi. Pengaturan proses kernel harus memperhitungkan perangkat yang dibawa oleh hardware untuk perlindungan memory. Untuk menjalankan aplikasi suatu kernel pertama kali harus menyediakan space address untuk aplikasi lalu men-load file yang berisi kode aplikasi ke dalam memory, mempersiapkan stack untuk program dan percabangan ke lokasi lain untuk program, dan kemudian baru memulai eksekusi program. Tanggung jawab Kernel termasuk mengelola sumber daya sistem (komunikasi

Transcript of UAS MATA KULIAH SISTEM OPERASI.docx

Page 1: UAS MATA KULIAH SISTEM OPERASI.docx

UAS MATA KULIAH SISTEM OPERASI

1. Apa itu Karnel? Dan jeaskan fungsinya!

1) Pengertian Tentang KernelKernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman. Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing. Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer. Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung di- load dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.

2) Tugas utama kernel adalah membantu eksekusi aplikasi dan mendukungnya dengan fitur abstraksi hardware. Suatu proses mendefinisikan seberapa porsi memory yang dapat di akses oleh suatu aplikasi. Pengaturan proses kernel harus memperhitungkan perangkat yang dibawa oleh hardware untuk perlindungan memory. Untuk menjalankan aplikasi suatu kernel pertama kali harus menyediakan space address untuk aplikasi lalu men-load file yang berisi kode aplikasi ke dalam memory, mempersiapkan stack untuk program dan percabangan ke lokasi lain untuk program, dan kemudian baru memulai eksekusi program. Tanggung jawab Kernel termasuk mengelola sumber daya sistem (komunikasi antara hardware dan komponen software). Biasanya sebagai komponen dasar dari suatu sistem operasi, kernel dapat menyediakan lapisan abstraksi terendah-level untuk sumber daya (terutama prosesor dan perangkat Input Output) bahwa perangkat lunak aplikasi harus terkontrol untuk melakukan fungsinya. Kernel biasanya membuat fasilitas tersebut tersedia untuk proses aplikasi melalui inter-process communication mechanisms dan system calls.

2. Jelaskan pengertian

1) Multiprogramming

Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU. Pada masa-masa awal dunia perkomputeran, CPU

Page 2: UAS MATA KULIAH SISTEM OPERASI.docx

cukup mahal dan peripherals sangat lamban. Saat komputer menjalankan sebuah program yang membutuhkan akses ke peripheral, CPU harus menghentikan instruksi-instruksi program lainnya selama peripheral memproses data. Hal ini dianggap sangat tidak efisien. Usaha pertama untuk membuat sistem operasi berbasis multi-program dilakukan pada tahun 1960an. Beberapa program yang berlainan di dalam batch di-load ke memori komputer, dan program yang pertama akan dijalankan. Saat program tersebut mencapai instruksi untuk menunggu akses ke peripheral, konteks dari program ini disimpan, dan program berikutnya di memori mulai dijalankan. Proses ini berulang terus sampai semua program selesai dijalankan. Multi-program tidak memberi garansi bahwa program-program akan berjalan bersamaan. Bisa saja program pertama yang dijalankan tidak membutuhkan akses ke peripheral sehingga program tersebut berjalan terus berjam-jam. Namun demikian multiprogramming cukup mengurangi waktu user untuk menunggu karena user tinggal memasukan sederetan program ke komputer dan kembali beberapa jam kemudian untuk melihat hasilnya. Primary Control Program (PCP) pada OS/360 versi awal menggunakan sistem multiprogramming seperti yang disebut barusan, namun kemudian diganti pada tahun berikutnya oleh MFT dengan sistem multi-program yang membatasi waktu proses bagi CPU sebelum mengganti dengan proses lainnya.

2) Multiprocessing

Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.Multiprocessing juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.Jenis-jenis multiprocessingMultiprocessing dapat dibagi ke dalam beberapa kelas, yakni:

Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam o Asymmetric Multiprocessing (ASMP)o Symmetric Multiprocessing (SMP)o Non-uniform memory access (NUMA) multiprocessingo Clustering Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (lihat Taksonomi

lynn) o SISD (Single Instruction on Single Data Stream)o SIMD (Single Instruction on Multiple Data Stream)o MISD (Multiple Instruction on Single Data Stream)o MIMD (Multiple Instruction on Multiple Data Stream) Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam o Loosely coupledo Thightly coupled

Page 3: UAS MATA KULIAH SISTEM OPERASI.docx

3) Distributed Processing

Mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih tugasnya.

3. Jeaskan pengertian PCB dalam SO!

PCB (process control block) dalam Sistem OperasiSebagai pendahuluan kita harus mengenal dulu apa itu Sistem Operasi,Sistem operasi

adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting. Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.Proses control blockTiap proses digambarkan dalam sistem operasi oleh sebuah process control block PCB - juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini:

Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.

Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.

CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register  tersebut termasuk accumulator , indeks register, stack pointer , general-purposes register , ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.

Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.

Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.

Page 4: UAS MATA KULIAH SISTEM OPERASI.docx

Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.

PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.

Elemen-elemen dari Process Control Block (PCB) : Identifier : menjelaskan proses yang sedang terjadi State : kondisi yang terjadi pada proses Priority : urutan perintah yang jelas pad suatu proses Program counter : instruksi pada proses Memory pointers : media penyimpanan (penunjuk alamat) pada proses Context data : data yang berkaitan dengan proses I/O status information : terdapat masukan dan keluaran yang diinginkan Accounting information : memberikan informasi yang dibutuhkan

Macam-Macam Jenis Status Proses :Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu: Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas

4. Jelaskan pengertian deadlock!

5. Sebutkan jenis memory dan perbedaanya!

6. Apa itu Virtual Memory?

7. Hitung Rata-rata waktu tunggu dengan algoritma SJF Non-

preemptive dan preemptive dari proses berikut:

Proses Arrival Time BrushtimeA 0 10B 7 2C 10 7D 11 9E 17 1