Program Studi D3 Manajemen Informatika
Program Studi D3 Manajemen Informatika Fakultas Ilmu Komputer
Universitas AMIKOM
Yogyakarta
D3 - MANAJEMEN INFORMATIKA
SISTEM OPERASI
2018
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Daftar Pustaka ....................................................................................................... 65
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Gambar 12.1 Klasifikasi manajemen memori ....................................................... 59
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 4 dari 66
Daftar Tabel
Tabel 2.1 Alasan penciptaan proses ...................................................................... 19
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
2) Running: proses sedang dieksekusi.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Kemudian berikut tahap-tahap yang dilalui selama penciptaan :
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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).
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Sasaran penjadwalan adalah meminimalkan waktu tanggapnya
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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-
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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-One
Model 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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Gambar 5.2 : One to One
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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)
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Gambar 6.1 Perumpamaan deadlock
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Gambar 8.1 Sequential access
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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,
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Direktori Acylic Graph
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Isi materi tidak menyinggung unsur SARA
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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
Gambar 8.3 Access List
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
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.
h. Mengelola swapping atau paging antara memori utama dan disk.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 58 dari 66
Klasifikasi manajemen memori
Nyata :
Sistem khusus untuk pemakai tunggal
Sistem multiprogramming dengan memori nyata
Multiprogramming dengan pemartisian tetap :
Ditempatkan secara absolut
Dapat direlokasi
Multiprogramming dengan pemartisian dinamis
Maya :
Sistem Multiprogramming dengan memori maya:
Sistem paging murni
Sistem segmentasi murni
Kombinasi paging dan segmentasi
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 59 dari 66
Gambar 12.1 Klasifikasi manajemen memori
(1),(2),(3) dan (4) merupakan pengelolaan untuk kapasitas memori
sebatas memori fisik yang tersedia. Teknik-teknik ini tidak dapat digunakan
untuk memuat program-program yang berukuran lebih besar disbanding
kapasitas fisik memori yang tersedia.
(5),(6) dan (7) dapat digunakan untuk mengakali kapasitas memori yang
terbatas sehingga dapat dijalankan program yang ukurannya lebih besar
dibanding kapasitas memori fisik yang tersedia.
Manajemen pemartisian statis
Proses yang datang akan ditempatkan di partisi memori yang telah ditentukan
lebih dulu. Terjadi pemborosan memori oleh proses yang lebih kecil dibanding
partisi yang ditempatinya.
a. Menggunakan manajemen memori tanpa swapping
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 60 dari 66
Monoprogramming
Manajemen memori yang paling sederhana. Sistem computer hanya mengijinkan satu
proses berjalan pada satu waktu. Semua sumber daya sistem computer sepenuhnya
dikuasai oleh proses yang sedang berjalan karena merupakan satu-satunya proses
yang berjalan.
Ciri-ciri :
Hanya satu proses menggunakan semua memori
Pemakai memuatkan program ke seluruh memori dari disk atau tape
Program mengambil kendali seluruh mesin
Hanya satu proses pada satu saat
Multiprogramming dengan pemartisian statis
Alasan mengapa multiprogramming digunakan :
Mempermudah pemrogram
Agar dapat memberi layanan interaktif ke beberapa orang secara simultan
Efisiensi Penggunaan Sumber daya
Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil
Dapat mengerjakan sejumlah proses secara simultan
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori
dibagi menjadi sejumlah partisi tetap.
Pemartisian statis berdasarkan ukuran partisinya, yaitu :
Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua
partisinya sama. Beberapa proses yang ukurannya kurang atau sama dengan ukuran
partisi dimasukkan ke sembarang partisi yang tersedia.
Kelemahan : Bila program berukuran lebih besar dari partisi yang tersedia maka
program tidak akan pernah dijalankan dan untuk program yang ukurannya jauh lebih
kecil disbanding ukuran partisi maka banyak ruang yang tidak dipakai yang
diboroskan, disebut fragmentasi internal.
Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi
memori berbeda.
Kelemahan pada (a) dapat diatasi oleh pemartisian ini.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 61 dari 66
Masalah pada manajemen pemartisian statis
a. Relokasi adalah masalah penempatan proses sesuai alamat fisik sehubungan
alamat partisi memori saat peroses ditempatkan. Proses dapat ditempatkan pada
partisi-partisi berbeda menurut keadaan sistem saat itu. Pengalamatan fisik secara
absolut untuk proses tidak dapat dilakukan.
Solusi : Sistem operasi menambahkan alamat awal partisi.
Masalah yang ditimbulkan : menimbulkan masalah proteksi terhadap memori.
Program tidak terkendali selalu mampu membangun instruksi baru dan meloncati.
Tidak ada cara untuk menghentikan jika program membaca atau menulis word di
memori partisi lain. Masalah relokasi dan proteksi tidak dapat dipisahkan,
diperlukan satu solusi tunggal mengatasi kedua masalah.
b. Proteksi pada Multiprogramming. Masalahnya adalah bekerja dengan banyak
proses di saat sistem secara bersamaan dikhawatirkan proses akan menggunakan
atau memodifikasi daerah yang dikuasai proses lain (yang bukan menjadi haknya).
Bila kejadian ini terjadi, maka proses lain dapat terganggu dan hasil yang
diperolehnya dapat menjadi kacau.
Solusi : Menggunakan dua register, yaitu base register dan limit register. Base
register diisi alamat awal partisi dan limit register diisi panjang partisi. Setiap
alamat yang dihasilkan secara otomatis ditambah nilai base register. Intruksi yang
mengacu pada alamat yang melebihi limit register akan menimbulkan trap yang
memberitahu sistem operasi telah terjadi pelanggaran pengaksesan memori.
Keunggulan : alamat tidak perlu dimodifikasi dan setiap intruksi dapat diperiksa
agar tidak mengakses melewati batas limit register.
Fragmentasi pada pemartisisan statis
Fragmentasi yaitu pemborosan memori akan terjadi pada setiap organisasi penyimpanan.
Fragmentasi pada pemartisian tetap :
a. Fragmentasi eksternal Partisi tidak digunakan karena ukuran partisi lebih kecil
disbanding ukuran proses yang menunggu di antrian sehingga tidak digunakan.
b. Fragmentasi internal Proses tidak mengisi penuh partisi yang telah ditetapkan
untuk proses.
Manajemen pemartisian dinamis
Multiprogramming dengan pemartisian dinamis
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 62 dari 66
Dengan pemartisian dinamis, maka jumlah, lokasi dan ukuran proses di memori dapat
beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera
dibuatkan partisi untuknya sesuai kebutuhan. Teknik ini meningkatkan utilitas memori.
Kelemahannya :
a. Dapat terjadi lubang-lubang kecil memori diantara partisi-partisi yang dipakai.
b. Merumitkan alokasi dan dealokasi memori.
Lubang-lubang (yaitu kelompok blok memori yang tidak digunakan) kecil di Antara blok-blok
memori yang digunakan dapat diatasi dengan pemadatan memori (memory compaction).
Pemadatan memori adalah operasi menggabungkan semua lubang kecil menjadi satu
lubang besar dengan memindahkan semua proses agar saling berdekatan.
Kelemahan teknik pemadatan memori :
a. Memerlukan waktu yang sangat banyak
b. Sistem harus menghentikan sementara semua proses selagi melakukan pemadatan.
Strategi Alokasi Memori
Terdapat beragam strategi alokasi proses ke memori. Alokasi harus mencari sekumpulan
blok memori yang ukurannya mencukupi untuk memuat proses yaitu lubang kosong yang
sama atau lebih besar disbanding ukuran memori yang diperlukan proses.
Beragam algoritma itu Antara lain :
a. First-fit Algorithm
Manajer memori menelusuri peta biat atau senarai berkait sampai menemukan lubang
besar yang memadai untuk ditempati proses. Lubang dibagi dua, untuk proses dan lubang
yang tidak digunakan kecuali ketika besar lubang itu tepat sama dengan ukuran yang
diperlukan proses.
Keunggulan : Menemukan lubang memori paling cepat dibandingkan algoritma lain.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 63 dari 66
b. Next-fit Algirithm
Mekanismenya sama dengan algoritma first-fit, hanya penelusuran tidak dimulai dari awal
tapi dimulai dari posisi terakhir kali menemukan segmen untuk proses.
c. Best-fit Algorithm
Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat memuat proses.
Algoritma ini mencoba mencari lubang yang mendekati ukuran yang diperlukan.
Kelemahan : sangat lamban dibandingkan first-fit dan menghasilkan mamori yang
diboroskan lebih banyak disbanding dua algoritma sebelumnya.
d. Worst-fit Algorithm
Selalu mencari lubang besar yang tersedia sehingga lubang dapat dipecah menjadi cukup
besara agar berguna untuk proses-proses berikutnya.
e. Quick-fit Algorithm
Keempat algoritma di atas dapat dipercepat dengan mengelola dua senarai yaitu senarai
untuk proses dan senarai untuk lubang memori. Dengan berbagai senarai maka alokasi
memori dapat dilakukan dengan cepat yaitu tinggal mencari senarai terkecil yang dapat
menampung proses.
Keunggulan : sangat cepat dalam alokasi proses.
Kelemahan : dealokasi sulit dilakukan.
Sistem Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan
penggunaan bilangan biner untuk pengalamatan memori. Karakteristik bilangan biner
digunakan untuk mempercepat penggabungan lubang-lubang berdekatan ketika proses
berakhir atau dikeluarkan.
Keunggulan : Sistem buddy memiliki keunggulan dibandingkan dengan algoritma-algoritma
yang mengiritkan blok-blok berdasarkan ukuran. Ketika blok berukuran 2¬k dibebaskan,
maka manajer memori hanya mencari pada senarai lubang 2¬k untuk memeriksa apakah
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 64 dari 66
dapat dilakukan penggabungan. Pada algoritma-algoritma lain yang memungkinkan blok-
blok memori dipecah dalam sembarang ukuran, seluruh senarai harus dicari. Alokasi dan
dealokasi pada sistem buddy dapat dilakukan dengan cepat.
Kelemahan : Utilitas memori sangat tidak efisien.
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 65 dari 66
Daftar Pustaka
https://www.gurupendidikan.co.id/definisi-dan-jenis-sistem-operasi-terlengkap/
http://www.sumberpengertian.co/pengertian-sistem-operasi
https://www.nesabamedia.com/pengertian-dan-fungsi-sistem-operasi/
http://blog.ugm.ac.id/2010/09/21/sejarah-dan-perkembangan-os/
https://www.it-jurnal.com/struktur-sistem-operasi/
http://ilmukomputer.org/2013/06/17/definisi-sistem-operasi-2/
https://arieya.wordpress.com/penciptaan-proses/
https://rizkyindrawan.wordpress.com/tag/kedudukan-sistem-operasi/
http://tersrahmu1.blogspot.com/2015/01/diagram-state-proses.html
https://fairuzelsaid.wordpress.com/2011/03/15/sistem-operasi-proses/
https://aristysaputri3.wordpress.com/sistem-operasi/penjadwalan-proses/
https://dhewielrachman.blogspot.com/2016/10/algoritma-penjadwalan-dalam-sistem.html
http://manajement-info.blogspot.com/2011/12/bab-v-sistem-operasi-penjadwalan-
proses.html
http://anindahmn.blogspot.com/2018/05/manajemen-proses-sistem-operasi.html
http://blog.ub.ac.id/faizalabdi/2012/03/12/process-switching-atau-pengalihan-proses/
https://rempeyekgaring.wordpress.com/materi-kuliyah/oop-2-2/multi-thread/
http://tugasqte.blogspot.com/2012/06/thread.html
https://hudda7x.wordpress.com/2014/10/25/proses-dan-sistem-operasi-pada-sistem-
terdistribusi/
https://ruangchupa.wordpress.com/2010/11/09/apa-itu-microkernel/
Universitas Amikom Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Jaringan Komputer : DAFTAR GAMBAR Hal. 66 dari 66
http://eltineregiena.blogspot.com/2014/01/deadlock.html
http://cheesterzone.blogspot.com/2011/04/pengertian-deadlock.html
http://blog.ugm.ac.id/2010/05/08/deadlock-dan-penanganannya/
http://megamutiara14.blogspot.com/
http://openstorage.gunadarma.ac.id/linux/docs/v06/Kuliah/SistemOperasi/BUKU/SistemOp
erasi-4.X-2/ch14s07.html
https://imambakti18.wordpress.com/file-sharing/
http://eltineregiena.blogspot.com/2014/01/manajemen-memori-pemartisian-statis.html
http://eltineregiena.blogspot.com/2014/01/manajemen-memori-pemartisian-dinamis.html