Uas So
Uas So
Pertemuan 10
KONSEP INTERAKSI
• Definisi, Implementasi, Contoh kasus
• Interaksi dalam konteks sistem operasi mengacu pada proses komunikasi dan
pertukaran informasi antara komponen sistem operasi, baik itu proses (program
yang sedang berjalan), pengguna, atau perangkat keras yang terhubung dengan
sistem operasi. Interaksi ini penting dalam memastikan kerja yang efisien,
koordinasi, dan komunikasi yang tepat antara berbagai elemen sistem operasi.
Dalam konteks sistem operasi, interaksi dapat terjadi dalam beberapa bentuk:
1. Interaksi Antar proses: Ini merujuk pada komunikasi dan pertukaran
data antara proses yang berjalan dalam sistem operasi. Proses dapat berbagi data melalui
variabel bersama (shared variables), menggunakan pipes untuk mengirim data secara
sekuensial, atau menggunakan mekanisme message passing untuk mengirim pesan antar
proses.
2. Interaksi Pengguna dengan Sistem Operasi: Ini melibatkan komunikasi antara
pengguna dan sistem operasi. Pengguna dapat berinteraksi dengan sistem operasi
melalui antarmuka pengguna seperti antarmuka baris perintah (command-line
interface) atau antarmuka pengguna grafis (graphical user interface). Pengguna
dapat memasukkan perintah, mengakses file, mengelola proses, atau melakukan
tindakan lainnya menggunakan interaksi ini.
3. Interaksi Antar perangkat Keras dengan Sistem Operasi: Ini mencakup
komunikasi antara perangkat keras yang terhubung dengan sistem operasi, seperti
printer, keyboard, mouse, monitor, dan lain-lain. Sistem operasi harus dapat
mengenali perangkat keras yang terhubung, menggunakan driver perangkat keras
yang sesuai, dan menyediakan antarmuka aplikasi perangkat keras (hardware
application interface) agar perangkat keras dapat berinteraksi dengan sistem
operasi dan aplikasi yang berjalan di atasnya.
Interaksi dalam system operasi sangat penting untuk mengkoordinasikan operasi dan
memastikan kosistensi keamanan, dan efisiensi dalam penggunaan sumber daya sistem.
Melalui interaksi ini, sistem operasi dapat mengelola proses, mengoordinasikan akses ke
perangkat keras, dan menyediakan lingkungan yang interaktif bagi pengguna untuk
berinteraksi dengan sistem.
Tujuan interaksi dalam sistem operasi
Tujuan interaksi dalam sistem operasi adalah untuk memungkinkan komunikasi
yang efektif dan koordinasi yang baik antara komponen-komponen yang terlibat
dalam sistem operasi. Berikut adalah beberapa tujuan kunci dari interaksi dalam
sistem operasi:
Berikut adalah beberapa tujuan kunci dari interaksi dalam sistem operasi:
1. Efisiensi: Interaksi dalam sistem operasi bertujuan untuk mencapai efisiensi dalam
penggunaan sumber daya. Sistem operasi harus dapat mengelola alokasi sumber
daya seperti CPU, memori, dan perangkat keras dengan efisien. Melalui interaksi
yang baik antarproses dan antara perangkat keras dengan sistem operasi,
penggunaan sumber daya dapat dioptimalkan untuk meningkatkan kinerja sistem
secara keseluruhan.
2. Koordinasi: Interaksi dalam sistem operasi diperlukan untuk mencapai koordinasi
yang baik antara proses-proses yang berjalan. Sistem operasi harus dapat mengatur
dan mengendalikan akses bersama terhadap sumber daya yang dibutuhkan oleh
proses-proses tersebut. Selain itu, interaksi juga memungkinkan proses-proses
untuk berkomunikasi dan berbagi informasi, sehingga koordinasi tugas-tugas
dapat dilakukan dengan efektif.
3. Komunikasi: Salah satu tujuan utama interaksi dalam sistem operasi adalah
memungkinkan komunikasi yang efektif antara pengguna dengan sistem operasi
dan antara proses-proses yang berjalan. Pengguna dapat memberikan perintah
dan menerima tanggapan dari sistem operasi melalui antarmuka pengguna. Selain
itu, proses-proses dalam sistem operasi juga dapat berkomunikasi satu sama lain
melalui mekanisme interaksi yang disediakan oleh sistem operasi, seperti shared
memory, message passing, atau pipes.
4. Keamanan: Tujuan interaksi dalam sistem operasi juga mencakup keamanan.
Sistem operasi harus dapat menjaga keamanan informasi dan sumber daya dengan
memastikan bahwa hanya entitas yang berwenang yang dapat mengakses dan
menggunakan sumber daya tersebut. Interaksi dalam sistem operasi melibatkan
mekanisme autentikasi, otorisasi, dan pengelolaan hak akses untuk melindungi
sistem dari ancaman keamanan.
5. Ketergantungan: Interaksi dalam sistem operasi juga bertujuan untuk mengelola
ketergantungan antara komponen-komponen sistem. Misalnya, sistem operasi
harus dapat mengelola ketergantungan antara proses-proses yang saling
membutuhkan, antara aplikasi dengan perangkat keras, dan antara perangkat
keras dengan driver yang sesuai. Dengan mengelola ketergantungan ini, sistem
operasi dapat menjaga integritas dan konsistensi sistem secara keseluruhan
Dalam sistem operasi, terdapat beberapa jenis interaksi yang terjadi antara komponen-
komponen yang terlibat. Berikut adalah beberapa jenis interaksi utama dalam sistem
operasi:
1. Interaksi Antarproses: Ini melibatkan komunikasi dan pertukaran data antara
proses- proses yang berjalan dalam sistem operasi. Interaksi antarproses
memungkinkan proses-proses untuk berbagi informasi, berkoordinasi, dan saling
berkomunikasi. Beberapa mekanisme interaksi antarproses yang umum digunakan
adalah shared memory (memori bersama), message passing (pengiriman pesan),
dan pipes (saluran komunikasi).
2. Interaksi Pengguna dengan Sistem Operasi: Ini mencakup interaksi antara
pengguna dan sistem operasi melalui antarmuka pengguna. Pengguna dapat
memberikan perintah, mengakses file dan direktori, menjalankan program, atau
melakukan tindakan lainnya menggunakan antarmuka pengguna. Antarmuka
pengguna dapat berupa command-line interface (CLI) yang menggunakan
perintah teks atau graphical user interface (GUI) yang menggunakan elemen visual
seperti ikon, menu, dan jendela.
3. Interaksi Antarperangkat Keras dengan Sistem Operasi: Ini melibatkan
komunikasi antara perangkat keras yang terhubung dengan sistem operasi.
Sistem operasi harus dapat mendeteksi perangkat keras yang terhubung, mengatur
penggunaan sumber daya perangkat keras, dan menyediakan antarmuka yang
sesuai untuk berinteraksi dengan perangkat keras. Contoh interaksi ini adalah
penggunaan driver perangkat keras untuk mengontrol dan mengelola perangkat
keras seperti keyboard, mouse, printer, monitor, dan jaringan.
4. Interaksi Jaringan: Ini melibatkan komunikasi antara sistem operasi dengan
jaringan komputer. Sistem operasi harus dapat mengelola protokol jaringan,
mengirim dan menerima data melalui jaringan, dan menyediakan layanan jaringan
seperti akses internet, transfer file, atau komunikasi jarak jauh. Interaksi jaringan
melibatkan protokol seperti TCP/IP, UDP, HTTP, FTP, dan lainnya.
5. Interaksi File dan Sistem Penyimpanan: Ini melibatkan interaksi antara sistem
operasi dengan sistem penyimpanan, termasuk file dan direktori. Sistem operasi
harus dapat membuat, membaca, menulis, dan menghapus file, serta mengatur hak
akses, struktur direktori, dan sistem berkas. Interaksi ini melibatkan sistem
pengelolaan file dan sistem berkas yang ada dalam sistem operasi.
6. Interaksi dengan Layanan dan Perangkat Tambahan: Sistem operasi dapat
berinteraksi dengan layanan dan perangkat tambahan seperti sistem keamanan,
antarmuka pengguna khusus, server basis data, perangkat lunak aplikasi, atau
perangkat keras khusus. Interaksi ini memungkinkan sistem operasi untuk
berintegrasi dengan berbagai layanan dan perangkat tambahan untuk memenuhi
kebutuhan spesifik.
Implementasi konsep interaksi
Implementasi konsep interaksi dalam system operasi melibatkan penggunaan berbagai
mekanisme dan teknik yang mendukung komunikasi dan interaksi antara komponen-
komponen dalam sistem operasi. Berikut adalah beberapa contoh implementasi dari
konsep interaksi dalam sistem operasi:
1. Interaksi Antarproses:
Sinyal dan Sistem Interrupsi: Sistem operasi menggunakan sinyal dan
mekanisme interupsi untuk mengirim sinyal ke proses lain atau
menginterupsi proses yang sedang berjalan.
Variabel Bersama (Shared Variables): Proses dapat berinteraksi melalui
penggunaan variabel bersama yang diakses dan dimodifikasi oleh beberapa
proses secara bersamaan.
Mekanisme Sinkronisasi: Sistem operasi menyediakan mekanisme seperti
semafor, mutex, monitor, dan lainnya untuk mengatur sinkronisasi antara
proses-proses yang berinteraksi, sehingga menghindari kondisi deadlock
atau starvation.
2. Interaksi Pengguna dengan Sistem Operasi:
Antarmuka Pengguna: Sistem operasi menyediakan antarmuka pengguna,
baik berupa baris perintah (command line interface) maupun antarmuka
grafis (graphical user interface), yang memungkinkan pengguna
berinteraksi dengan sistem operasi melalui perintah atau interaksi visual.
Perintah Sistem Operasi: Pengguna dapat berinteraksi dengan sistem
operasi melalui penggunaan perintah-perintah sistem operasi yang
disediakan, seperti perintah untuk menjalankan program, mengelola file,
mengatur pengaturan sistem, dan sebagainya.
Pemrosesan Data: Sistem operasi menyediakan mekanisme untuk
pengolahan data yang melibatkan interaksi pengguna, seperti pemilihan
data melalui input pengguna, pemrosesan data, dan output hasilnya kepada
pengguna.
Pertemuan 11
Manajemen Memori
Pertemuan 12
VIRTUAL MEMORY & PAGE REPLACEMENT
VIRTUAL MEMORI
Virtual Memory : suatu teknik yang memisahkan antara memori logis dan memori
fisik dalam eksekusi suatu proses
Prinsip Virtual Memory : “Kecepatan maksimum eksekusi proses di memori virtual
dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama
di sistem tanpa menggunakan memori virtual.”
Dengan kata lain virtual memory digunakan untuk menampung program dan data
yang tidak cukup di memory fisik
Keuntungan Virtual Memory :
Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang
digunakan.
Lebih responsif dan bertambahnya jumlah user program yang dapat
dilayani.
Virtual Memory dapat melebihi daya tampung dari memori utama yang
tersedia.
Implementasi Virtual Memory dapat dilakukan dengan dua cara :
Demand Paging
Demand Segmentation
DEMAND PAGING
Demand Paging è permintaan pemberian halaman (page)
Dalam Demand Paging digunakan metode lazy swapper
Lazy swapper è tidak pernah menukar sebuah halaman ke dalam memori
utama kecuali halaman tersebut diperlukan.
Sistem Demand Paging sama halnya dengan sistem paging dengan swapping
Dalam melakukan pengecekan pada halaman yang dibutuhkan oleh suatu proses,
terdapat tiga kemungkinan kasus yang dapat terjadi, yaitu:
Halaman ada dan sudah langsung berada di memori utama à statusnya
adalah valid ("v" atau "1")
Halaman ada tetapi belum berada di memori utama atau dengan kata lain
halaman masih berada di disk sekunder à statusnya adalah tidak
valid/invalid ("i" atau "0")
Halaman benar - benar tidak ada, baik di memori utama maupun di disk
sekunder (invalid reference) à statusnya adalah tidak valid/invalid ("i" atau
"0")
DEMAND PAGING : Skema Bit Valid – Tdk Valid
Skema bit valid - tidak valid à menentukan halaman mana yang ada dan halaman
mana yang tidak ada di dalam memori utama.
Pengaturan bit dilakukan sebagai berikut:
Bit = 1 berarti halaman berada di memori utama
Bit = 0 berarti halaman tidak berada di memori utama
“Apabila ternyata hasil dari mengartikan alamat melalui page table menghasilkan
bit halaman yang bernilai 0, maka akan menyebabkan terjadinya PAGE FAULT .”
Page fault adalah interupsi yang terjadi ketika halaman yang diminta/dibutuhkan
oleh suatu proses tidak berada di memori utama.
Proses yang sedangberjalan akan mengakses page table (table
halaman) untuk mendapatkan referensi halaman yang diinginkan.
Page fault dapat diketahui/dideteksi dari penggunaan skema bit valid-tidak valid
ini.
Bagian inilah yang menandakan terjadinya suatu permintaan pemberian halaman .
“Jika suatu proses mencoba untuk mengakses suatu halaman dengan bit yang di-set tidak
valid maka PAGE FAULT akan terjadi. “ dan “Proses akan dihentikan sementara
halaman yang diminta/dibutuhkan dicari didalam disk.”
Algoritma LRU
Merupakan perpaduan dari FIFO dan Optimal
Page yang diganti adalah page yang telah lama tidak digunakan.
Pertemuan 13
Manajemen Input/Output
• Merupakan tugas SO
• Mengambil data masukan pirantiinput untuk diproses lebih lanjut
oleh prosessor
• Memeriksa status piranti I/O. misal:printer
• Mengelolaperangkat keras dan perangkat lunak dari sistem I/O
• Umumnya perlu operasi I/O bila suatu aplikasi dijalankan.
Dapat ditinjau dari segi:
• Organisasi fisik / perangkat keras
• Organisasi perangkat lunak
Organisasi Fisik atau Perangkat Keras
• Piranti I/O (device)
• Dapat berupa komponen elektrik maupun mekanik
• Contoh: monitor, keyboard, mouse, printer, dll
• Device controller (adapter)
• Merupakan sirkuit digital yang berfungsi mengontrol kerja komponen
mekanik ataupun elektrik lainnya dari piranti I/O
• Agar piranti I/O dapat dikontrol atau berkomunikasi dengan sistem komputer
• Bus I/O
• Terdiri atas bus data, alamat dan kontrol
Organisasi Perangkat Keras Piranti I/O
Karakteristik Pembeda
• Modus Transfer Data
• Metode Akses
• Jadwal Transfer
• Sharing
• Kecepatan Akses
• Modus Operasi
Organisasi Perangkat Keras * Piranti I/O*
Berdasarkan fungsionalistas:
• Piranti antarmuka pengguna interaksi langsung dengan pengguna. misal:
keyboard,mouse, monitor, printer
• Piranti transmisi mentransmisikan data ke perangkat komunikasi lainnya. misal:
NIC dan modem
• Piranti penyimpanan data untuk penyimpanan data misal: hardisk, CD-ROM,
flashdisk
Organisasi Perangkat Keras
Device Controller
• Sebagai pengendali digital atas piranti I/O
• Bertanggung jawab atas komunikasi data antara piranti I/O dengan sistem internal
komputer
• Dapat berupa kartu rangkaian digital atau chipset yang biasanya terletak di
mainboard
• Graphics controller, SCSI controll Device Controller er, serial & paralel port
controller, dll
Bus I/O
• Terdiri atas bus data, alamat dan kontrol
• Berfungsi menghubungkan device controller dengan elemen internal
komputer seperti memori dan prosesor.
• Terdapat juga bus I/O lanjutan atau ekspansi yang bersifat mudah
dipindah- pindah (movable) dan umumnya terletak diluar kotak komputer.
• misal: bus parallel, serial, PS2
Metode Transfer Data
1. Programmed I/O atau pooling
Prosessor bertanggung jawab atas pemeriksaan selesainya operasi transfer data
yang dilakukan oleh device controller
Jika data telah siap, maka prosessor juga bertanggung jawab atas pemindahan
data dari atau ke memori utama, karena device controller tidak punya hak akses
ke memori utama.
2. Interrupt-driven I/O
• Prosessor hanya bertanggung jawab atas pemindahan data ke atau dari memori
utama (hanya memberikan instruksi transfer data)
• Device controller yang akan memberikan sinyal interupsi jika data sudah tersedia
untuk disalinkan ke memori utama.
3. DMA (Direct Memory Access)
• Prosessor dibebaskan dari pengontrolan transfer data I/O
• Sebagai gantinya, diperlukan tambahan perangkat keras DMA controller yang
memiliki kendali atas bus internal dan jalur ke memori utama.
Organisasi Perangkat Lunak Sistem I/O
Bagaimana perangkat I/O berkomunikasi ?
Organisasi perangkat lunak sistem I/O
umumnya terdiri atas lapisan:
• Lapisan Interrupt Handler
Menangani terjadinya interupsi à dialihkan ke interupt handler
• Lapisan device driver
Mengimplementasikan operasi dari masing-masing device controller
• Lapisan subsistem I/O atau kernel I/O
Menyediakan antarmuka atau fungsi I/O bagi SO atau aplikasi
• Lapisan pustaka I/O aplikasi
Mengimplementasikan pustaka pengaksesan I/O atau API (Application
Programming Interface) bagi aplikasi untuk melakukan operasi I/O
Lapisan Interrupt Handler
• Menangani terjadinya interupsi dan pengalihan eksekusi ke interrupt handler.
• Bertujuan untuk mencapai operasi yang asinkron
Dengan adanya fasilitas interupsi, prosessor tidak pernah idle -> proses akan berstatus
blocked dan prosessor dapat dialokasikan ke proses lain.
Lapisan Device Driver
• Membantu mencapai ketidaktergantungan dengan keragaman piranti I/O
• Mengimplementasi secara khusus rincian operasi dari masing-masing device
controller. Jadi setiap device controller akan ditangani oleh device driver.
• Misal: 2 graphics card dari vendor yang berbeda, akan memiliki device driver yang
menyediakan fungsi minimal untuk pengaksesan graphic card.