Program Studi D3 Manajemen Informatika
Program Studi D3 Manajemen Informatika Fakultas Ilmu Komputer
Universitas AMIKOM
Yogyakarta
D3 - MANAJEMEN INFORMATIKA
SISTEM OPERASI
Modul Jaringan Komputer : DAFTAR ISI Hal. 2 dari 66
DAFTAR ISI
DAFTAR ISI ... 2
DAFTAR GAMBAR ... 3
DAFTAR TABEL ... Error! Bookmark not defined. PERTEMUAN 1 – PENDAHULUAN SISTEM OPERASI Error! Bookmark not defined. PERTEMUAN 2 & 3 – MANAJEMEN PROSES Error! Bookmark not defined. PERTEMUAN 4 – Penjadwalan Proses ... Error! Bookmark not defined. PERTEMUAN 5-Thread – SMP – Mikrokernel .... Error! Bookmark not defined. PERTEMUAN 6 & 7 – Deadlock ... 41
PERTEMUAN 8, 9, 10 & 11 – SUBNETTING ... 46
PERTEMUAN 12, 13 & 14 – Manajemen memory ... 57
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 3 dari 66
DAFTAR GAMBAR
Gambar 1.1 Cara kerja Sistem Operasi ... 6
Gambar 1.2 Struktur Layer MS-DOS ... 11
Gambar 1.3 Lapisan Sistem Operasi ... 12
Gambar 1.4 Model Virtual machine... 13
Gambar 2.1 Diagram Status Proses ... 16
Gambar 2.2 PCB ... 17
Gambar 2.3 Process switch ( Pengalihan Proses) ... 18
Gambar 4.1 Tipe tipe penjadwalan proses ... 24
Gambar 4.2 Urutan proses round ribbon ... 29
Gambar 4.3 Prioritas penjadwalan ... 31
Gambar 5.1 Many to One ... 36
Gambar 5.2 One to One ... 36
Gambar 5.3 Many to Many ... 37
Gambar 5.4 Symmetric Multiprocessor System ... 39
Gambar 5.5 Microkernel ... 39
Gambar 6.1 Perumpamaan deadlock... 41
Gambar 8.1 Sequential access ... 47
Gambar 8.2 Mounting ... 54
Gambar 8.3 Access List ... 56
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 4 dari 66
Daftar Tabel
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 5 dari 66
PERTEMUAN 1
PENDAHULUAN SISTEM OPERASI
1. Tujuan Intruksi Khusus
Setelah mengikuti modul ini, mahasiswa diharapkan mampu:
a. Mampu memahami bagaimana system operasi dibangun dan konsep SO dalam melakukan pengelolaan terhadap sumberdaya yang terdapat dalam system operasiAlat dan Bahan
2. Dasar Teori -
3. Instruksi Modul
A. Definisi Sistem Operasi
Sistem operasi (atau sering disebut operating system atau sering disingkat OS) merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.
Operating system merupakan suatu software yang sifatnya mendasar dan mutlak diperlukan untuk mengoperasikan komputer. Operating system berdasarkan American National Standart Institute (ANSI) adalah software yang mengontrol pelaksana program - program komputer, yaitu dengan mengatur waktu proses, pengecekan kesalahan, mengontrol input dan output , melakukan perhitungan, komplikasi, penyimpanan, pengolahan data serta pelbagai bentuk layanan yang terkait. Secara umum, Sistem Operasi adalah software pada lapisan
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 6 dari 66 pertama yang ditempatkan pada memori komputer pada saat computer dinyalakan (booting) . Sedangkan software - software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software - software itu.
Gambar 1.1 : Cara Kerja Sistem Operasi B. Tujuan Sistem Operasi
1. Membuat komputer mudah digunakan.
2. Mampu berkembang, ketika hardware komputer berkembang maka sistem operasi juga demikian.
C. Fungsi Sistem Operasi
Sebagai suatu perangkat lunak dalam komputer, sistem operasi memiliki beberapa fungsi penting dan tanpa adanya sistem operasi maka komputer tidak
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 7 dari 66 dapat menjalankan program dan fungsinya. Beberapa fungsi utama dari sistem operasi adalah sebagai berikut :
1. Menjalankan operasi dasar
Fungsi utama dari sistem operasi adalah menjalankan operasi dasar pada komputer. Sistem ini dinilai sebagai komponen vital yang mendasari kerja perangkat lunak atau software lainnya.
Sebelum aplikasi berjalan dan dapat berfungsi pada suatu komputer, maka sistem operasilah yang memungkinkan program atau aplikasi tersebut dapat berjalan dan ditampilkan kepada pengguna atau user yang menggunakan perangkat komputer tersebut.
2. Mengatur kerja hardware dan software
Bisa dikatakan bahwa sistem operasi adalah Resource Manager dalam perangkat komputer.
Maksudnya, sistem operasi berfungsi mengontrol fungsi perangkat keras seperti memori, CPU, harddisk, dan perangkat keras lainnya dan juga mengatur fungsi program software agar terhubung dengan perangkat keras tersebut. 3. Wadah program atau aplikasi
Aplikasi-aplikasi yang ada dikomputer memang tersimpan dalam perangkat penyimpanan akan tetapi sebenarnya aplikasi atau program tersebut berada dalam wadah yang merupakan sistem operasi itu sendiri. Aplikasi tersebut melekat pada sistem operasi dan tidak bisa berfungsi tanpa adanya sistem operasi tersebut.
Secara analogi, sistem operasi adalah suatu lantai dimana suatu barang diletakkan agar barang tersebut dapat digunakan misalnya sebuah meja yang diletakkan diatas lantai, meja tidak dapat berfungsi jika tidak ada lantai yang mendasarinya bukan?
4. Menyajikan tampilan
Tampilan yang kita lihat dilayar komputer maupun gadget adalah hasil dari pengoperasian OS atau sistem operasi. Dengan kata lain, sistem operasi memudahkan aplikasi berjalan sekaligus menampilkannya pada monitor layar komputer atau menterjemahkan bahasa pemrograman yang berasal dari CPU kemudian menampilkannya dalam bentuk teks, grafis dan tampilan lainnya yang mudah dimengerti. Sistem operasi juga berperan sebagai suatu interface atau tatap muka antara pengguna dengan perangkat keras yang digunakannya. 5. Mengkoordinasi kerja perangkat komputer
Selain mengatur perangkat keras dan perangkat lunak agar terhubung satu sama lain, sistem operasi juga berfungsi mengkoordinasikan segala hal didalam
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 8 dari 66 komputer terutama menyusun program yang sifatnya kompleks menjadi lebih sederhana dan berurutan. Sistem operasi memudahkan suatu aplikasi agar dapat bekerja dengan lebih efisien.
6. Mengoptimalkan fungsi perangkat komputer
Fungsi lain dari sistem operasi atau OS adalah mengoptimalkan penggunaan perangkat keras maupun perangkat lunak. Misalnya dalam hal mengatur waktu berfungsinya CPU, pemanggilan data yang tersimpan dalam memori harddisk, ataupun mengatur waktu yang digunakan untuk koneksi dalam terminal.
7. Mengawasi dan melindungi jalannya suatu fungsi program
Sistem operasi memungkinkan user yang memiliki hak untuk mengakses komputer menjalankan suatu program dan mengendalikan siapa yang bisa mengakses program tersebut atau yang dikenal sebagai fungsi Gate Keeper. Tidak hanya mengendalikan user dalam mengakses sistem atau program, sistem operasi juga mengawasi segala hal yang dilakukan user dalam mengakses sistem program dalam komputer. Semua file yang tersimpan dalam komputer juga dilindungi oleh sistem operasi dan hanya bisa diakses oleh orang yang berhak mengaksesnya atau memiliki kendali atau suatu perangkat komputer.
D. Sejarah Perkembangan Sistem Operasi 1. Generasi Awal (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung oleh pengguna.
2. Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan. Generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 9 dari 66 3. Generasi Ketiga (1965-1980)
Sistem operasi pada generasi ini dikembangkan untuk melayani banyak pemakai, dimana para pemakai berkomunikasi lewat terminal secara on-line ke komputer. Sistem operasi menjadi multi-user (digunakan oleh banyak pengguna sekaligus), multi-programming (melayani banyak program sekaligus) dan multi tasking (melayani banyak tugas dan pekerjaan / Batch Processing System)
4. Generasi Keempat (1980 – 2000-an)
Pada masa ini sistem operasi telah menggunakan Graphical User Interface(GUI) yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman dan mudah digunakan. Pada masa ini juga dimulai era komputasi tersebar (distributed computer) dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
5. Generasi Selanjutnya
Pada generasi ini diperkenalkan Sistem Operasi yang berada dalam sebuah Sistem Operasi dan Sistem Operasi bergerak (Mobile) pada perangkat bergerak seperti: PDA, Poket PC, Laptop, Notebook dan NetBook. Sistem Operasi jaringan virtual juga berkembang, sehingga dalam satu jaringan hanya diinstal satu buah Sistem Operasi pada perangkat Server.
Pada masa ini, diperkenalkan virtualization sistem yaitu satu komputer dapat diclonning secara virtual menjadi lebih dari satu komputer (sistem operasi) yang dapat bekerja bersama-sama, Cross Platform Operating System (multiboot system) yang dapat menggabungkan dua atau lebih Sistem Operasi berbeda seperti : Linux dan Windows. Generasi ini merupakan awal tren Mobile
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 10 dari 66 Computing, yang perangkatnya didominasi oleh Android, iOS, Blackberry OS, Windows mobile, Windows Phone dan Symbian. Pada masa ini dikenalkan sistem iClaud (layanan komputasi awan) yaitu sistem layanan jaringan yang dipublikasikan oleh Apple Inc pada tanggal 6 Juni 2011 di San Fransisco. iCloud memungkinkan para penggunanya untuk mensinkronisasi data seperti foto, musik, dan dokumen dari perangkat satu ke perangkat lain seperti ke dalam iPhone, iPad, iPod Touch, Mac dan komputer secara otomatis pada waktu yang bersamaan.
E. Struktur Dasar Sistem Operasi
Sistem komputer modern yang semakin kompleks dan rumit memerlukan sistem operasi yang dirancang dengan sangat hati-hati agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi. Berikut beberapa struktur Sistem Operasi.
1) Struktur Sederhana
Ada sejumlah sistem komersial yang tidak memiliki struktur yang cuup baik. Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak ketebatasan. Salah satu contoh sistem tesebut adalah MS DOS dirancang oleh orang-orang yang tidak memikirkan akan kepopuleran software tersebut. Sistem operasi tersebut terbatas pada hardware sehingga tidak terbagi terbagi menjadi modul-modul seperti terlihat pada di bawah. Karena Intel 8088 tidak menggunakan dual mode sehingga tidak ada proteksi harware.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 11 dari 66 Gambar 1.2 : Struktur Layer MS-DOS
Pada dasarnya, sistem monolitic merupakan struktur sederhana yang dilengkapi dengan operasi dual mode. Pelayanan (system calls) yang diberikan oleh sistem operasi model ini dilakukan dengan cara mengambil sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti register atau stack, dan kemudian mengeksekusi suatu instruksi trap tertentu pada monitor mode.
2) Pendekatan Berlapis (Layered Approach)
Teknik pendekatan berlapis pada dasarnya dibuat dengan cara membentuk sistem operasi menjadi bentuk modular. Dengan menggunakan pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponen-komponen. Modularisasi sistem dilakukan denga cara memecah sistem operasi menajdi beberapa lapis (tingkat). Lapisan terendah (lapis-0) adalah hardware dan lapisan teratas (lapisan N) adalah user interface.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 12 dari 66 Gambar 1.3 : Lapisan Sistem Operasi
3) Virtual Machine
Sebuah mesin virtual (Virtual Machine) menggunakan misalkan terdapat sistem program => control program yang mengatur pemakaian sumber daya perangkat keras. Control program = trap System call + akses ke perangkat keras. Control program memberikan fasilitas ke proses pengguna. Mendapatkan jatah CPU dan memori. Menyediakan interface “identik” dengan apa yang disediakan oleh perangkat keras => sharing devices untuk berbagai proses.
Mesin Virtual (MV) (MV) => control program yang minimal MV memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan MV. MV memilah fungsi multitasking dan implementasi extended machine (tergantung proses pengguna) => flexible dan lebih mudah untuk pengaturan. Jika setiap pengguna diberikan satu MV => bebas untuk menjalankan OS (kernel) yang diinginkan pada MV tersebut. Potensi lebih dari satu OS dalam satu komputer. Contoh: IBM VM370: menyediakan MV untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah: Sharing disk => OS mempunyai sistem berkas yang mungkin berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk pengguna melalui MV.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 13 dari 66 Konsep MV menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap MV terpisah dari MV yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing sumberdaya secara langsung. MV merupakan alat yang tepat untuk penelitian dan pengembangan sistem operasi. Konsep MV susah untuk diimplementasi sehubungan dengan usaha yang diperlukan untuk menyediakan duplikasi dari mesin utama.
Gambar 1.4 : Model Virtual machine 4) Model Client Server
Dalam model ini, semua kernel bekerja menangani komunikasi antara server dan client. Dengan membagi sistemoperasi menjadi banyak bagian yang masing-masing hanya menangani bagian tertentu dari sistem. Seperti layanan file, layanan proses, layanan terminal atau layanan memori, maka setiap bagian menjadi lebih kecil dan lebih mudah diatur. Kemudian semua server berjalan daam proses user mode dan tidak dalam kernel mode, maka bagian-bagian tidak mempunyai akses langsung ke perangkat keras. Keuntungannya, bila ada kesalahan di file server, maka layanan file mungkin akan crash, tetapi tidak
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 14 dari 66 akan mempengaruhi keseluruhan sistem, yang akhirnya dapat mengakibatkan keseluruhan sistem tidak berfungsi. Keuntungan lain dari sebuah model client-server adalah dapat diadaptasi untuk digunakan dalam sistem terdistribusi. Jika client berkomunikasi dengan server dengan mengirimkan pesan, klien tidak perlu tahu pesan tersebut ditangani secara local daam mesinnya sendiri atau pesan tersebut dikirimkan melalui jaringan ke server di mesin yang lain.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 15 dari 66
PERTEMUAN 2 & 3 MANAJEMEN PROSES
1. Tujuan Intruksi Khusus
Setelah mengikuti modul ini, mahasiswa diharapkan mampu:
b. Memahami bagaimana proses SO dalam mengatur pengolahan banyak proses yang di lakukan oleh system komputer
2. Instruksi Modul A. Definisi Proses
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.
B. Diagram State Proses
Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun adakalanya proses-proses tersebut butuh untuk saling berinteraksi. Satu proses bisa dibangkitkan dari output proses lainnya sebagai input. Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses didefiniskan sebagai bagian dari aktivitas proses yang sedang berlangsung saat itu.
Status proses terdiri dari :
1) New: proses sedang dibuat.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 16 dari 66 3) Waiting: proses sedang menunggu beberapa event yang akan terjadi
(seperti menunggu untuk menyelesaikan I/O atau menerima sinyal). 4) Ready: proses menunggu jatah waktu dari CPU untuk diproses. 5) Terminated: proses telah selesai dieksekusi.
Gambar 2.1 : Diagram Status Proses
C. Program Control Block (PCB)
Masing-masing proses direpresentasikan oleh Sistem Operasi dengan Menggunakan Process Control Block (PCB), seperti yang terlihat pada Gambar 1.2 di bawah ini.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 17 dari 66 Gambar 2.2 : PCB
Informasi yang terdapat pada setiap proses meliputi : 1) Status Proses
New, ready, running, waiting dan terminated. 2) Program Counter
Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut. 3) CPU Registers
Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama Program Counterberjalan, status informasi harus disimpan pada saat terjadi interrupt.
4) Informasi Penjadwalan CPU
Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 18 dari 66 5) Informasi Manajemen Memori
Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh SO. 6) Informasi Accounting
Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll.
7) Informasi Status I/O
Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka, dll.
D. Pengalihan Proses
Pengalihan suatu proses ke proses lainnya dapat disebabkan karena suatu proses meminta operasi I/O (misalnya membaca berkas), menunggu suatu event (misalnya menggunakan inputan keyboard ataupun pergerakan mouse dari pengguna komputer), terjadi kesalahan eksekusi proses ataupun jatah waktu eksekusinya sudah habis.
Gambar 2.3 : Process switch ( Pengalihan Proses) Berbagai penyebab pengalihan eksekusi proses :
1) Interupsi, interupsi disebabkan oleh aksi eksternal, misalnya oleh peranti I/O, pewaktu (timer), ataupun kesalahan akses memori utama. 2) Trap, trap adalah interupsi yang dipicu oleh terjadinya kesalahan
eksekusi ataupun kondisi-kondisi khusus (exception condition) dari proses yang sedang running. Jika kesalahannya fatal maka dilakukan
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 19 dari 66 pengalihan eksekusi ke proses lain atau yang disebut dengan process switching.
3) Supervisor Call atau System Call, System Call merupakan pemanggilan layanan 19able19 operasi oleh proses yang sedang running. Penggunaan system call menyebabkan aliran eksekusi berpindah ke kode instruksi kernel 19able19 operasi.
E. Penciptaan Proses
Penciptaan Proses dapat dipicu oleh permintaan pengguan untuk menjalankan suatu aplikasi melalui aplikasi shell. Proses dapat juga diciptakan oleh suatu proses lain yang sedang berjalan, seperti aplikasi shell yang menciptakan proses aplikasi lain yang diminta pengguna.
Selain itu proses dapat pula diciptakan dalam suatu eksekusi batch seperti eksekusi shell script, misalnya eksekusi berkas autoexec.bat di 19able19 operasi windows ataupun eksekusi berkas script berekstensi*.bash di 19able19 operasi linux.
Berikut table alasan penciptaan proses.
Tabel 2.1 : Alasan penciptaan proses
Penyebab penciptaan Deskripsi
Terdapat batch job baru SO sedang kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya Satu pemakai interaktif
logon
Seorang pemakai pada satu terminal sedang melakukan logon ke sistem
SO menciptakan proses untuk memberi layanan
SO menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu
Proses menciptakan proses anak
Untuk mencapai modularitas atau mengeksploitasi kongkurensi, program pemakai memerintahkan pembuatan sejumlah proses
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 20 dari 66 1) Sistem operasi akan membangkitkan suatu nomor identitas atau ID unik untuk proses yang diciptakan
2) Setelah itu sistem operasi akan membuat suatu rekaman data dengan nomor ID tersebut dan menyisipkan rekaman tersebut pada suatu struktur data di memori utama yang disebut dengan tabel proses (process table)
3) Setelah itu, sistem operasi mengalokasikan ruang memori utama untuk menyimpan image proses yang terdiri atas bagian kode program, stack dan PCB (process Control Block)
4) Pada tahap berikutnya sistem operasi akan melakukan inisialisasi PCB proses yang diikuti dengan proses no 5 berikut
5) Penyisipan PCB proses ke antrian ready dan mengubah status proses menjadi ready
F. Kedudukan Sistem Operasi
Sistem operasi pada dasarnya adalah sepert perangkat lunak lain, yaitu program yang perlu dieksekusi pemroses.
Kedudukan sistem operasi dibanding proses-proses lain, adalah :
1) Sistem operasi sebagai kernel tersendiri yang berbeda dengan proses-proses lain (kernel sebagai non-proses).
2) Fungsi-fungsi sistem operasi dieksekusi dalam proses pemakai.
3) Sistem operasi juga sebagai kumpulan proses (process based operating systems).
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 21 dari 66
PERTEMUAN 4 PENJADWALAN PROSES
1. Tujuan Instruksi Khusus
Setelah mengikuti modul ini, mahasiswa diharapkan mampu :
a. Memahami bagaiaman SO melakukan penjadwalan proses- proses 2. Alat dan Bahan
3. Dasar Teori
Penjadwalan merupakan kumpulan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan:
• Proses yang harus berjalan
• Kapan dan selama berapa lama proses itu berjalan
Penjadwalan direpresentasikan dalam bentuk antrian yang disimpan sebagai linkedlist dan berisi pointer awal dan akhir PCB. Tiap-tiap PCB memiliki suatu pointer field yang menunjuk ke proses berikutnya.
4. Instruksi Modul
a. Sasaran Penjadwalan Proses
Adil (fairness) ,
Adil adalah proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation. Starvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan. Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan dari pemroses secara adil.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 22 dari 66 Efisiensi
Efisiensi atau utilisasi pemroses yang dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi system computer secara keseluruhan. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi system computer mencapai nilai maksimum.
Waktu Tanggap (Response Time)
Waktu tanggap berbeda untuk: - Sistem Interaktif
- Sistem waktu nyata
Waktu tanggap pada sistem interaktif
Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil terakhir muncul di layar (terminal).
Waktu tanggap ini disebut juga terminal rensponse time.
Waktu tanggap pada sistem waktu nyata
Pada sistem waktu nyata (real-time), waktu tanggap didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut juga event
response time.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 23 dari 66 Turn Arround Time
Turn arround 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 penjumlahan waktu eksekusi (waktu pelayanan job) dan waktu menunggu.
Turn arround time = waktu eksekusi + waktu menunggu
Sasaran penjadwalan adalah meminimalkan turn arround time.
Throughput
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.
Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 24 dari 66
b. Tipe – tipe penjadwalan proses
Gambar 4.1 Tipe tipe penjadwalan proses
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
Penjadwalan jangka pendek (short-term scheduller)
Penjadwalan jangka menengah (medium-term scheduller)
Penjadwalan jangka panjang (long-term scheduller)
Penjadwalan Jangka Pendek
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama.
Sasaran utama penjadwalan ini memaksimumkan kinerja untuk memenuh satu kumpulan kriteria yang diharapkan. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 25 dari 66 Penjadwalan jangka menengah
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan I/O atau memanggil suatu system call. Agar ruang memori bermanfaat, maka proses dipindahkan dari memori utama ke memori skunder agar tersedia ruang untuk proses-proses lain. aktivitas pemindahan proses yang ditunda dari memori utama ke memori sekunder disebut dengan swapping.
Penjadwal jangka menengah:
• Menangani proses-proses swapping
• Mengendalikan transisi dari suspended-to-ready proses-proses swapping
Begitu penyebab tertunda hilang maka proses dimasukan kembali ke memori utama dan ready
Penjadwalan jangka panjang
Penjadwalan jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus di eksekusi. Batch adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan atau keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktifitas
job-job interaktif rendah.
Sasaran utama penjadwalan jangka panjang adalah memberi keseimbangan job-job campuran.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 26 dari 66
c. Strategi penjadwalan proses
Penjadwalan nonpreemptive (run-to-completion).
Begitu proses diberi jatah layanan pemroses aka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Non-preemptive juga disebut run-to-completion karena proses yang telah dijadwalkan akan dijalankan sampai selesainya atau proses tersebut meminta layanan masukan/keluaran.
Penjadwalan preemptive.
Saat proses diberi jatah layanan pemroses maka pemroses dapat diambil alih proses lain yang mempunyai prioritas lebih tinggi berdasarkan kriteria sistem itu. Pada penjadwalan preemptive, proses dapat disela oleh proses lain sebelumnya selesainya dan harus dilanjutkan menunggu jatah waktu layanan pemroses tiba kembali pada proses itu. Proses yang disela berubah menjadi state Ready.
Penjadwalan preemptive berguna pada sistem yakni proses-proses yang perlu mendapat perhatian/ tanggapan pemroses secara cepat. Misalnya :
Pada sistem-sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal
Pada sistem-sistem interatif timesharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap yang memadai.
Peralihan proses (yaitu layanan pemroses dari satu proses beralih ke proses lain) memerlukan overhead (karena banya tabel yang dikelola). Agar penjadwalan preemptive menjadi efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera Running begitu diperlukan. Menyimpan banyak proses yang tidak Running di memori utama merupakan suatu overhead tersendiri.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 27 dari 66 d. Algoritma Penjadwalan Proses
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya : FIFO (First-In, First-Out) atau FCFS (First-Come, First-Serve)
Penjadwalan FIFO ini merupakan penjadwalan tidak berprioritas, dan penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu:
- Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu kedatangan proses-proses itu ke system.
- Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantic/arti antrian, yaitu proses yang pertama datang, akan dilayani pertama juga), tapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menunggu.
SJF (Shortest Job First)
Penjadwalan SJF ini merupakan penjadwalan yang dapat dikatakan sebagai berprioritas. Di SJF, prioritas diasosiasikan dengan masing-masing proses dan pemroses dialokasikan ke proses dengan prioritas tertinggi. Proses-proses dengan prioritas yang sama akan dijadwalkan secara FIFO. Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai)
atau waktu lamanya proses diketahui sebelumnya. Mekanisme penjadwalan SJF adalah lebih dulu menjadwalkan proses dengan waktu jalan terpendek sampai selesai. Setelah proses itu selesai, maka proses dengan waktu jalan terpendek berikutnya akan dijadwalkan, demikian seterusnya.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 28 dari 66
HRN (Highest-Ratio-Next)
Strategi penjadwalan dengan prioritas proses, tidak hanya fungsi waktu layanan tetapi juga jumlah waktu tunggu proses . Begitu proses mendapat jatah pemroses , proses berjalan sampai selesai . Algoritma ini adalah pengembangan dari SJF – Non Preemptive dan penjadwalan berprioritas dinamis
MFQ (Multiple Feedback Queues)
Algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 29 dari 66 Algoritma-algoritma yang menerapkan strategi preemptive diantaranya :
RR (Round-Robin)
Penjadwalan ini merupakan: • Penjadwalan tanpa prioritas.
• Semua proses dianggap penting dan diberi sejumlah waktu pemroses yang
disebut kwanta (quantum) atau time-slice dimana proses itu berjalan.
Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Time quantum adalah suatu satuan waktu. Time quantum inilah yang menentukan proses mana yang akan dikerjakan terlebih dahulu oleh CPU dan kemudian proses mana yang akan dilakukan berikutnya.
Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya.
Gambar 4.2 Urutan proses round ribbon SRF (Shortest-Remaining-First)
Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst timeterkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time
rata-Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 30 dari 66
ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.
PS (Priority Schedulling)
Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.
Prioritas tersebut dapat ditentukan melalui beberapa karakteristik antara lain: - Time limit
- Memory requirement - Akses file
- Perbandingan antara I/O Burst dengan CPU Burst
- Tingkat kepentingan proses
Priority scheduling juga dapat dijalankan secara preemptive maupun nonpreemptive.
Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut.
Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tetapi hanya diletakkan di dalam queue.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 31 dari 66 Gambar 4.3 Prioritas penjadwalan
GS (Guaranteed Schedulling)
merupakan penjadawalan preemptive yang menggunakan prioritas dinamis. Memberi daya pemrosesan sama untuk membuat dan menyesuaikan performa. Jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 32 dari 66
PERTEMUAN 5
THREAD – SMP – MIKROKERNEL
1. Tujuan Intruksi Khusus
Setelah mengikuti modul ini, mahasiswa diharapkan mampu:
Memahami bagaimana SO mengelola proses untuk setiap bagian (thread) setia job yang akan dieksekusi.
1. Instruksi Modul A. Definisi Thread
Sejauh ini, proses merupakan sebuah program yang mengeksekusi thread tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk mengeksekusi multi-threads. Umpamanya, secara bersamaan mengetik dan menjalankan pemeriksaan ejaan didalam proses yang sama.
Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya system operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaannya ialah proses dengan thread yang banyak – mengerjakan lebih dari satu tugas pada satu satuan waktu.
Pada umumnya, perangkat lunak yang berjalan pada komputer modern dirancang secara multi-threading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 33 dari 66 menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.
Terkadang ada sebuah aplikasi yang perlu menjalankan beberapa tugas yang serupa. Sebagai contohnya sebuah web server dapat mempunyai ratusan klien yang mengaksesnya secara concurrent. Kalau web server berjalan sebagai proses yang hanya mempunyai thread tunggal maka ia hanya dapat melayani satu klien pada pada satu satuan waktu. Bila ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu sampai klien sebelumnya selesai dilayani. Solusinya adalah dengan membuat web server menjadi multi-threading. Dengan ini maka sebuah web server akan membuat thread yang akan mendengar permintaan klien, ketika permintaan lain diajukan maka web server akan menciptakan thread lain yang akan melayani permintaan tersebut.
Dewasa ini (2006), banyak sistem operasi yang telah mendukung proses multithreading. Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya. Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.
B. Keuntungan Thread
Keuntungan dari program yang multithreading terbagi menjadi empat:
1. Responsif. Aplikasi interaktif menjadi tetap responsif meski pun sebagian dari program sedang diblok atau melakukan operasi yang panjang kepada pengguna. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan gambar.
2. Berbagi sumber daya. thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungan dari
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 34 dari 66 berbagi kode adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
3. Ekonomis. Pembuatan sebuah proses memerlukan dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread.
4. Utilisasi arsitektur multiprocessor. Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel, tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu (satu-satuan waktu pada CPU biasa disebut time slice atau quantum).
C. User Thread & Kernel Thread 1. User Thread
User Thread didukung kernel serta diimplementasikan dengan pustaka thread pada tingkatan pengguna. Pustaka menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel. Karena kernel tidak menyadari user-level thread maka semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel. Oleh karena itu, User Thread biasanya dapa cepat dibuat
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 35 dari 66 dan dikendalikan. Tetapi User Thread mempunyai kelemahan untuk kernel thread tunggal. Salah satu thread tingkatan pengguna menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok walau pun ada thread lain yang dapat jalan dalam aplikasi tersebut. Contoh pustaka User Thread ialah POSIX Pthreads, Mach C-threads, dan Solaris threads.
2. Thread Kernel
Thread kernel didukung langsung oleh sistem operasi. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space. Karena pengaturan thread dilakukan oleh sistem operasi maka pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread. Keuntungannya adalah thread diatur oleh kernel, karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain di aplikasi untuk melakukan eksekusi. Keuntungan lainnya adalah pada lingkungan multiprocessor, kernel dapat menjadwal thread-thread pada processor yang berbeda. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.
D.
Model Multithreading 1)Model Many-to-OneModel Many-to-One memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi, multiple thread tidak dapat berjalan secara pararel pada multiprocessor. Thread tingkat pengguna yang diimplementasi pada Thread Pengguna dan Kernel sistem operasi yang tidak mendukung thread kernel menggunakan model Many-to-One.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 36 dari 66 Gambar 5.1 : Many to One
2)Model One-to-One
Model One-to-One memetakan setiap thread tingkatan pengguna ke thread kernel. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahannya model ini ialah setiap pembuatan thread pengguna memerlukan pembuatan thread kernel. Karena pembuatan thread dapat menurunkan kinerja dari sebuah aplikasi maka implmentasi dari model ini, jumlah thread dibatasi oleh sistem. Contoh sistem operasi yang mendukung model One-to-One ialah Windows NT dan OS/2.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 37 dari 66 3)Model Many-to-Many
Model Many-to-Many memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. thread. Jumlah thread kernel dapat Model One-to-One spesifik untuk sebagian aplikasi atau sebagian mesin. Many-to-One model mengizinkan developer untuk membuat user thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu waktu. One-to-One menghasilkan concurrency yang lebih tetapi developer harus hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi (dalam beberapa hal, developer hanya dapat membuat thread dalam jumlah yang terbatas). Model Many-to-Many tidak menderita kelemahan dari dua model di atas. Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat bejalan secara pararel pada multiprocessor. Dan juga ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi. Contoh sistem operasi yang mendukung model ini adalah Solaris, IRIX, dan Digital UNIX..
Gambar 5.3 : Many to Many
E. Asymmetric Multiprocessing (AMP) dan Symmetric Multiprocessing (SMP)
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 38 dari 66 A. Asymmetric Multiprocessing
Dalam Asymmetric Multiprocessing (AMP), sistem operasi biasanya menyisihkan satu atau lebih prosesor untuk penggunaan tertentu secara eksklusif. sisa dari prosesor yang lain akan menjalankan aplikasi user. Hal ini akan memaksa aplikasi untuk menunggu sementara sistem membangun Catche yang akan mengurangi kecepatan transfer keseluruhan sistem. Dalam mode ini, jika prosesor mengalami kegagalan pada sistem operasi , seluruh komputer akan Down!
B. Symmetric Multiprocessing
Symmetric Multiprocessing (SMP) menggunakan teknologi yang menghasilkan kinerja yang lebih baik. Dalam Symmetric Multiprocessing (SMP) setiap prosesor dapat menjalankan semua jenis bagian. Prosesor berkomunikasi satu dengan yang lainnya melalui memori yang digunakan bersama.
Sistem Symmetric Multiprocessing (SMP) memiliki Load-Balancing (Keseimbangan Pemuatan) dan toleransi kesalahan yang lebih baik. Hal ini dikarenakan bagian dalam sistem operasi dapat berjalan pada prosesor manapun dan kemungkinan terjadinya error dan hambatan pada CPU akan berkurang.
Semua prosesor diizinkan menjalankan campuran berbagai macam aplikasi dan kode sistem operasi. Kegagalan prosesor dalam mode Symmetric Multiprocessing (SMP) kapasitas komputasi (Kemampuan dalam mengkomputerisasi suatu tugas) dan tidak akan membuat sistem menjadi Down atau lumpuh total.
Sistem Symmetric Multiprocessing (SMP) secara langsung lebih kompleks daripada sistem Asymmetric Multiprocessing (AMP). Seluruh koordinasi
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 39 dari 66 harus berlangsung dalam sistem operasi untuk menjaga semuanya tetap tersinkronisasi. Dengan alasan tersebut, sistem Symmetric Multiprocessing (SMP) biasanya dirancang dan ditulis dari bawah keatas.
Gambar 5.4 : Symmetric Multiprocessor System F. Microkernel
Microkernel berguna untuk menjalankan servis yang paling banyak (sering dijalankan) namun ringan seperti jaringan, filesystem, driver, dll. Yang tugas kernelnya ringan yang hanya berupa servis-servis dasar seperti alokasi memori, penjadwalan, dan messaging (Inter Process Communication).
Gambar 5.5 : Microkernel
Pada teorinya, konsep ini membuat kernel menjadi lebih responsif karena Microkernel dijalankan di user space, bukan di kernel space. Sehingga Kernel
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 40 dari 66 tidak perlu terlalu sibuk menjadwalkan banyak thread-thread kecil dari servis-servis dasar tersebut. Namun pada prakteknya terdapat kendala seperti jika terjadi sistem crash. Pada sistem yang crash, Kernel akan tetap berjalan, namun User Space akan terganggu dan bisa saja terjadi kehilangan informasi. Microkernel akan menjadi merugikan karena Microkernel disimpan di User Space.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 41 dari 66
PERTEMUAN 6 & 7 KONKURENSI : DEADLOCK
1. Tujuan Instruksi Khusus
Setelah mengikuti modul ini, mahasiswa diharapkan mampu : a. Memahami hal-hal yang dapat menyebabkan deadlock b. Mengetahui bagaimana SO mengatasi deadlock 2. Alat dan Bahan
3. Dasar Teori
Deadlock adalah sekumpulan proses yang terblok yang tiap proses tersebut memegang sumber daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh proses di dalam kumpulan tersebut.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 42 dari 66 4. Instruksi Modul
a. Model dan syarat terjadi deadlock Model Deadlock
Urutan kejadian pengoperasian perangkat I/O adalah : - meminta / request : meminta palayanan I/O
- memakai / use : memakai perangkat I/O
- melepaskan / release : melepaskan pamakaian perangkat I/O
Syarat terjadinya Deadlock : Mutual exclution condition
Tiap sumber daya saat itu diberikan pada tepat satu proses. Hold and wait condition / kondisi genggam dan tunggu
Proses-proses yang sedang menggenggam sumber daya, menunggu sumber daya – sumber daya yang baru.
Non-preemption condition / kondisi non-preemption
Sumber daya – sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari proses itu. Sumber daya – sumber daya harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
Circular wait condition / kondisi menunggu secara sirkular
Harus terdapat rantai sirkuler dari dua proses atau lebih, masing-masing menunggu sumber daya yang digenggam oleh anggota berikutnya pada rantai itu.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 43 dari 66 b. Metode Penanganan deadlock
Pengabaian
Maksud dari pengabaian di sini adalah sistem mengabaikan terjadinya deadlock dan pura-pura tidak tahu kalau deadlock terjadi. Dalam penanganan dengan cara ini dikenal istilah ostrich algorithm. Pelaksanaan algoritma ini adalah sistem tidak mendeteksi adanya deadlock dan secara otomatis mematikan proses atau program yang mengalami deadlock. Kebanyakan sistem operasi yang ada mengadaptasi cara ini untuk menangani keadaan deadlock. Cara penanganan dengan mengabaikan deadlock banyak dipilih karena kasus deadlock tersebut jarang terjadi dan relatif rumit dan kompleks untuk diselesaikan.
Pencegahan
Penanganan ini dengan cara mencegah terjadinya salah satu karakteristik deadlock. Penanganan ini dilaksanakan pada saat deadlock belum terjadi pada sistem. Intinya memastikan agar sistem tidak akan pernah berada pada kondisi deadlock. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
Penghindaran
Menghindari keadaan deadlock. Bagian yang perlu diperhatikan oleh pembaca adalah bahwa antara pencegahan dan penghindaran adalah dua hal yang berbeda. Pencegahan lebih kepada mencegah salah satu dari empat karakteristik deadlock terjadi, sehingga deadlock pun tidak terjadi. Sedangkan penghindaran adalah memprediksi apakah tindakan yang diambil sistem, dalam kaitannya dengan permintaan proses akan sumber daya, dapat mengakibatkan terjadi deadlock. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 44 dari 66
Pendeteksian dan Pemulihan
Pada sistem yang sedang berada pada kondisi deadlock, tindakan yang harus diambil adalah tindakan yang bersifat represif. Tindakan tersebut adalah dengan mendeteksi adanya deadlock, kemudian memulihkan kembali sistem. Proses pendeteksian akan menghasilkan informasi apakah sistem sedang deadlock atau tidak serta proses mana yang mengalami deadlock. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
c. Pencegahan deadlock
tiap proses harus meminta semua sumber daya yang diperlukan sekaligus dan tidak berlanjut sampai semuanya diberikan.
Jika proses telah sedang memegang sumber daya tertentu, untuk permintaan berikutnya proses harus melepas dulu sumber daya yang dipegangnya. Jika diperlukan, proses meminta kembali sekaligus dengan sumber daya yang baru.
Beri pengurutan linier terhadap tipe-tipe sumber daya pada semua proses, yaitu jika proses telah dialokasikan suatu tipe sumber daya, proses hanya boleh berikutnya meminta sumber daya tipe pada urutan yang berikutnya.
d. Penghindaran deadlock
Adalah memberi akses ke permintaan sumber daya yang tidak mungkin menimbulkan deadlock. Metode alternatif untuk menghindari deadlock adalah digunakan informasi tambahan tentang bagaimana sumber daya diminta.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 45 dari 66 e. Deteksi dan pemulihan deadlock
Metode deteksi digunakan pada sistem yang mengijinkan terjadinya deadlock. Tujuan metode ini adalah memeriksa apakah telah terjadi deadlock dan menentukan proses-proses dan sumberdaya-sumberdaya yang terlibat deadlock secara presisi. Begitu telah dapat di tentukan, sistem dipulihkan dari deadlock dengan metode pemulihan.
Metode pemulihan dari deadlock berupaya untuk menghilangkan deadlock dari sistem sehingga sistem beroperasi kembali, bebas dari deadlock. proses-proses yang terlibat deadlock mungkin dapat menyelesaikan eksekusi dan membebaskan sumberdaya-sumberdayanya.
f. Strategi dan penanggulangan deadlock terpadu
Masing-masing teknik mempunyai keunggulan dan kelemahan, maka daripada berusaha merancang fasilitas sistem operasi dengan satu strategi penanggulangan deadlock maka lebih efisien menggunakan strategi-strategi berbeda untuk situasi-situasi berbeda. Silberschatz [SIL-94] menyarankan satu pendekatan terpadu, yaitu :
Kelompokan sumber daya-sumber daya menjadi sejumlah kelas sumber daya.
Gunakan strategi pengurutan linear seperti yang didefinisikan pada pencegahan menunggu sirkular. Strategi ini digunakan untuk mencegah deadlock di antara kelas-kelas sumber daya berbeda.
Dalam satu kelas sumber daya, gunakan algoritma yang paling cocok untuk kelas-kelas sumber daya itu.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 46 dari 66
PERTEMUAN 8 – 11 FILE SYSTEM INTERFACE
1. Tujuan Instruksi Khusus
Setelah mengikuti modul ini, mahasiswa diharapkan mampu :
a. Memahami bagaimana sistem operasi mengorganisasikan file dan direktori dalam sistem computer
b. Mengetahui bagaimana metode proteksi yang dilakukan terhadap file 2. Alat dan Bahan
3. Dasar Teori
File merupakan sekumpulan data yang terkumpul menjadi satu dan tersimpan di dalam suatu memory (storage). File cenderung terlalu besar untuk dapat di simpan dalam penyimpanan utama (main storage) dan oleh karena itu, di simpan dalam penyimpanan pendukung(backing storage) seperti alat alat disk magnetic dan pita magnetic. Jika data dalam file akan diproses maka file di bacakan ke dalam penyimpanan utama dalam jumlah yang dapat dikelola.
4. Instruksi Modul File mempunyai sifat :
a. Persistence, artinya informasi dapat bertahan meski proses yang membangkitkannya berakhir atau meskipun catu daya dihilangkan. Dengan
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 47 dari 66 properti ini maka file dapat digunakan untuk menjaga hasil-hasil yang diperoleh dari suatu proses dapat digunakan di masa datang.
b. Size, artinya file umumnya berukuran besar. Memungkinkan menyimpan informasi yang sangat besar disimpan.
c. Sharability, artinya file dapat digunakan banyak proses mengakses informasi secara kongkuren.
Access Methods / Metode Akses
Terdapat beberapa cara mengakses informasi pada file yaitu akses berurutan (sequential access), akses langsung (Direct access atau relative access) dan metode akses lain.
a. Sequential Access / akses berurutan
Akses berurutan merupakan metode akses paling sederhana. Informasi pada file diproses secara berurutan, satu record diakses setelah record yang lain. Metode akses ini berdasarkan model tape dari suatu file yang bekerja dengan perangkat sequential- access atau random-access. Operasi pada akses berurutan terdiri dari : read next write next reset no read after last write (rewrite) Operasi read membaca bagian selanjutnya dari file dan otomatis menambah file pointer yang melacak lokasi I/O. Operasi write menambah ke akhir file dan ke akhir material pembacaan baru (new end of file). File dapat di-reset ke awal dan sebuah program untuk meloncat maju atau mundur ke n record.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 48 dari 66 Dalam sistem operasi IBM mainframe, metode akses sekuensial Antri (QSAM) [1] adalah metode akses untuk membaca dan menulis datasetberurutan. QSAM tersedia pada OS/360,OS/VS2, MVS, z / OS, dan terkait high-endsistem operasi.
QSAM digunakan baik untuk perangkatyang alami berurutan, seperti pembaca kartu punch dan pukulan dan printer line, dan untuk datapada perangkat yang juga dapat diatasi secara langsung, seperti disk magnetik. QSAMmenawarkan perangkat kemerdekaan: sejauh mungkin, panggilan API yang sama yang digunakanuntuk berbagai perangkat.
QSAM adalah-seperti namanya mengatakan-antri, dalam arti konteks yang spesifik buffer dengan deblocking dari membaca dan menulis pemblokiran. Hal ini memungkinkanprogram untuk membaca dan menulis catatan logis dalam blok fisik data, yang bertentangan denganmetode akses kurang maju Dasar sekuensial(BSAM) yang memungkinkan program untuk mengakses blok fisik data, namun tidak memberikan dukungan untuk mengakses catatanlogis dalam blok.
Memang, QSAM mengelola blok akhirdipotong dan blok tertanam dipotong benar-benartransparan kepada pengguna.
Aplikasi QSAM program antarmuka dapatdibandingkan dengan antarmuka yang ditawarkan oleh terbuka, membaca, menulis dan menutuppanggilan (menggunakan menangani file) dalam sistem operasi lain seperti Unix dan Windows.
b. Random access
Dalam ilmu komputer, akses random (kadang-kadang disebut akses langsung) adalah kemampuan untuk mengakses elemen pada posisi sewenang-wenang secara berurutan dalam waktu yang sama,terlepas dari ukuran urutan. Posisi adalah sewenang-wenang dalam arti bahwa hal itu tidak dapat diprediksi,
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 49 dari 66 sehingga penggunaan istilah"random" di "akses acak". Kebalikannya adalah akses sekuensial, di mana elemen jarak jauhmembutuhkan waktu lebih lama untuk mengakses. Sebuah ilustrasi khas perbedaan ini adalah untuk membandingkan naskah kuno. (Sequential, semua materi sebelum data yang diperlukan harusmembuka gulungan) dan buku (random : dapat segera membuka untuk setiap halaman acak).Sebuah contoh yang lebih modern adalah kaset(sequential-Anda harus cepat-maju melalui lagu-lagu sebelumnya untuk mendapatkan yang kemudian) dan CD (akses acak Anda dapat melompat ke trek yang Anda inginkan).
Dalam struktur data, akses random berarti kemampuan untuk mengakses setiap entri dalam daftar di konstan (yaitu independen dariposisinya dalam daftar dan ukuran list, yaitu O (1))waktu. Sangat sedikit struktur data dapat menjamin hal ini, selain array (dan strukturterkait seperti array dinamis). Akses randomsangat penting, atau setidaknya berharga, untukbanyak algoritma seperti pencarian biner,pemilahan integer atau versi tertentu darisaringan Eratosthenes. Struktur data lainnya,seperti daftar terkait, mengorbankan akses acak untuk membuat untuk menyisipkan efisien,menghapus, atau pemesanan ulang data. Pohon biner self-balancing pencarian dapat memberikankompromi yang dapat diterima, di mana waktuakses yang sama bagi setiap anggota koleksi dan hanya tumbuh logaritmis dengan ukurannya.
c. Associative Access
Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya. Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri. Waktu pencariannya tidak bergantung secara konstan terhadap lokasi atau pola access sebelumnya. Contoh associative access adalah memori cache.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 50 dari 66
Struktur direktori dan disk
a. Stuktur Direktori
Direktori adalah kumpulan titik yang berisi informasi tentang semua file, kebanyakan informasi berkaitan dengan penyimpanan yang dikelola sistem operasi.
Beberapa operasi yang dibentuk pada direktori adalah : - Mencari file (search)
- Membuat file (create) - Menghapus file (delete)
- Mendaftar suatu direktori (list) - Mengubah nama file (rename) - Melintasi system file (traverse)
Direktori satu level
adalah struktur direktori yang paling sederhana. Semua berkas disimpan di dalam direktori yang sama. Direktori ini hanya terdiri atas satu direktori untuk setiap user Struktur ini tentunya memiliki
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 51 dari 66 kelemahan jika jumlah berkasnya bertambah banyak, karena tiap berkas mesti memiliki nama yang unik. Pada direktori jenis ini terjadi permasalahan penamaan dan pengelompokan berdasarkan user. Direktori dua level
Direktori ini terdiri atas dua level yang memisahkan direktori untuk setiap user. Setiap file diberi nama path, dapat mempunyai nama file yang sama untuk user yang berbeda,mempunyai kapabilitas pencarian, tetapi belum dilakukan pengelompokan. Pada direktori tingkat dua, setiap pengguna memiliki direktori berkas sendiri (UFD). Setiap UFD memiliki struktur yang serupa, tapi hanya berisi berkas-berkas dari seorang pengguna.
Direktori berstruktur Tree
Direktori berstruktur pohon merupakan struktur direktori yang biasa digunakan. Pohon mempunyai direktori root. Setiap file pada sistem mempunyai nama path yang unik. Sebuah direktori dengan struktur pohon memiliki sejumlah berkas atau subdirektori lagi. Pada penggunaan yang normal setiap pengguna memiliki direktorinya sendiri-sendiri. Selain itu pengguna tersebut dapat memiliki subdirektori sendiri lagi. Dalam struktur ini dikenal dua istilah, yaitu path relative dan path mutlak. Path relatif adalah path yang dimulai dari direktori yang aktif. Sedangkan path mutlak adalah path yang dimulai dari direktori akar.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 52 dari 66 Struktur ini menyediakan fasilitas "sharing", yaitu penggunaan sebuah berkas secara bersama-sama, tidak seperti struktur tree yang melarang menggunakan bersama-sama file dan direktori. Permasalahan mendasar adalah memelihara konsistensi jika file dimodifikasi. Struktur Acylic Graph lebih fleksibel daripada struktur pohon, tetapi lebih kompleks.
b. Struktur disk
Disk menyediakan penyimpanan sekunder bagi sistem komputer modern. Magnetic tape sebelumnya digunakan sebagai media penyimpanan sekunder, tetapi waktu aksesnya lebih lambat dari disk. Oleh karena itu, sekarang tape digunakan terutama untuk backup, untuk penyimpanan informasi yang tidak sering, sebagai media untuk mentransfer infromasi dari satu sistem ke sistem yang lain, dan untuk menyimpan sejumlah data yang terlalu besar untuk sistem disk.
Disk drive modern dialamatkan sebagai suatu array satu dimensi yang besar dari blok lojik, dimana blok lojik merupakan unit terkecil dari transfer. Ukuran dari blok lojik biasanya adalah 512 bytes, walau pun sejumlah disk dapat diformat di level rendah (low level formatted) untuk memilih sebuah ukuran blok lojik yang berbeda, misalnya 1024 bytes.
Dengan menggunakan pemetaan, secara teori dapat mengubah sebuah nomor blok logikal ke sebuah alamat disk yang bergaya lama (old-style disk address) yang terdiri atas sebuah nomor silinder, sebuah nomor trek di
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 53 dari 66 silinder tersebut, dan sebuah nomor sektor di trek tersebut. Dalam prakteknya, adalah sulit untuk melakukan translasi ini, dengan 2 alasan. Pertama, kebanyakan disk memiliki sejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini dengan mensubstitusikan dengan sektor yang dibutuhkan dari mana-mana di dalam disk. Kedua, jumlah dari sektor per trek tidaklah konstan. Semakin jauh sebuah trek dari tengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yang dipunyainya. Oleh karena itu, disk modern diatur menjadi zona-zona silinder. Nomor sektor per trek adalah konstan dalam sebuah zona. Tetapi seiring kita berpindah dari zona dalam ke zona luar, nomor sektor per trek bertambah. Trek di zona paling luar tipikalnya mempunyai 40 persen sektor lebih banyak daripada trek di zona paling dalam.
Nomor sektor per trek telah meningkat seiring dengan peningkatan teknologi disk, dan adalah lazim untuk mempunyai lebih dari 100 sektor per trek di zona yang lebih luar dari disk. Dengan analogi yang sama, nomor silinder per disk telah meningkat, dan sejumlah ribuan silinder adalah tak biasa.
File system mounting
Mount adalah perintah yang digunakan untuk membuka sebuah device yang akan digunakan. Seperti halnya sebuah berkas yang harus dibuka terlebih dahulu sebelum digunakan, sistem berkas harus di mount terlebih dahulu sebelum sistem berkas tersebut siap untuk memproses dalam sistem. Sistem operasi diberikan sebuah alamat mounting (mount point) yang berisi nama device yang bersangkutan dan lokasi dari device tersebut. Device yang dimaksud disini adalah Hardisk.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 54 dari 66 Gambar 8.2 Mounting
File sharing
File Sharing adalah Aktivitas dimana para pengguna internet dapat berbagi file dengan pengguna internet lainnya dengan cara penyedia file terlebih dahulu meng-upload file ke komputer server dan kemudian para pengguna internet yang lainnya dapat men-download file tersebut dari komputer server. Bila menggunakan tipe jaringan Peer – to – peer ( P2P )File sharing yaitu penyediaan dan penerimaan file digital melalui sebuah jaringan menggunakan model terpusat atau model peer – to – peer, file disimpan dan dilayani oleh PC user. Dalam file sharing di internet penyedia file melakukan Upload dan penerima file melakukan Download.
Etika File Saharing
Legalitas materi yang di share dengan memperhatikan Copyright
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 55 dari 66
File protection
Informasi yang disimpan dalam system computer harus diproteksi dari kerusakan fisik (reliability) dan akses yang tidak benar (protection).
Reabilitas sistem dapat dijaga dengan membuat cadangan dari setiap berkas secara manual atau pun otomatis, sesuai dengan layanan yang dari sebuah sistem operasi. Sedangkan proteksi dapat dilakukan dengan berbagai cara.
a. Tipe akses
Salah satu cara untuk melindungi berkas dalam komputer kita adalah dengan melakukan pembatasan akses pada berkas tersebut. Pembatasan ini berupa sebuah permission atau pun not permitted operation, tergantung pada kebutuhan pengguna lain terhadap berkas tersebut.
Di bawah ini adalah beberapa operasi berkas yang dapat diatur aksesnya: - Read: Membaca dari berkas
- Write: Menulis berkas
- Execute: Meload berkas kedalam memori untuk dieksekusi. - Append: Menambahkan informasi kedalam berkas di akhir berkas. - Delete: Menghapus berkas.
- List: Mendaftar properti dari sebuah berkas. - Rename: Mengganti nama sebuah berkas. - Copy: Menduplikasikan sebuah berkas. - Edit: Mengedit sebuah berkas.
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 56 dari 66 b. Akses list dan group
Implementasi dari akses ini adalah dengan membuat daftar akses yang berisi keterangan setiap pengguna dan keterangan akses file dari pengguna yang bersangkutan. Daftar akses ini akan diperiksa setiap kali seorang pengguna meminta akses ke sebuah file. Jika pengguna tersebut memiliki akses yang diminta pada file tersebut, maka diperbolehkan untuk mengakses file tersebut. Proses ini juga berlaku untuk hal yang sebaliknya. Akses pengguna terhadap berkas akan ditolak, dan sistem operasi akan mengeluarkan peringatan Protection Violation.
Masalah pokok dengan access list adalah ukuran. Jika ingin mengizinkan user membaca file, semua user dengan akses read harus didaftar. Dan juga terdapat masalah manajemen ruang harddisk yang lebih rumit, karena ukuran sebuah direktori dapat berubah-ubah, tidak memiliki ukuran yang tetap.
Beberapa system memeperkenalkan tiga klarifikasi user : a. Owner: User yang membuat berkas.
b. Group: Sekelompok pengguna yang memiliki akses yang sama
terhadap sebuah berkas, atau men-share sebuah berkas.
c. Universe: Seluruh pengguna yang terdapat dalam sistem komputer.
Contoh system access list pada UNIX
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 57 dari 66
PERTEMUAN 12 – 14 MANAJEMEN MEMORY
1. Tujuan Instruksi Khusus
Setelah mengikuti modul ini, mahasiswa diharapkan mampu : A. Memahami pengelolaan memori oleh sistem operasi
2. Alat dan Bahan 3. Dasar Teori
Manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses. Pengelolaan memori utama sangat penting untuk sistem komputer, penting untuk memproses dan fasilitas input output secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem computer.
4. Instruksi Modul
Fungsi manajemen memori:
a. Utilitas CPU meningkat.
b. Data dan instruksi dapat diakses dengan cepat oleh CPU. c. Tercapai efisiensi dalam pemakaian memori yang terbatas.
d. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien. e. Mengelola informasi yang dipakai dan tidak dipakai.
f. Mengalokasikan memori ke proses yang memerlukan. g. Mendealokasikan memori dari proses yang telah selesai.