STRUKTUR SISTEM OPERASI WINDOWS
STRUKTUR SISTEM DI
WINDOWS,MANAJEMEN MEMORI DAN MANEJEMEN I/O
A.
Struktur Sistem Di Windows
Windows merupakan sistem operasi yang
paling banyak di gunakan oleh pengguna komputer di seluruh dunia. Mengapa?
tentu saja tampilannya yang user friendly sangat mudah di gunakan oleh user.
Selain itu Windows juga membuat struktur direktori yang mudah di gunakan.
Ada 3 Sistem File yang terdapat di
dalam sistem operasi ini:
1. FAT 16: Sistem file
ini di perkenalkan pada tahun 1981 melalui MS-DOS. Pada saat mendesainnya
sistem ini hanya di peruntukan untuk mengatur file pada floopy drive saja,
namun semakin di kembangkan sehingga dapat juga untuk mengatur file pada
harddisk. Sistem file ini juga compatible untuk semua OS yang ada pada saat
itu, seperti Windows 95/98/me, OS/2, bahkan juga Unix. Namun kekurangan dari
sistem file ini, tidak adanya dukungan untuk kompresi, enkripsi dan kontrol
akses dalam partisi.
2. FAT 32: merupakan
pengembangan dari FAT 16 sehingga kemampuan harddisk menjadi lebih baik lagi.
Seperti kebalikannya dari FAT 16, FAT 32 tidak dapat di gunankan oleh sembarang
sistem operasi dengan kata lain tidak semua OS dapat menggunakan sistem file
ini.
3. NTFS: merupakan
terobosan baru yang benar-benar berbeda dari teknologi sebelumnya, seperti
sebuah gebrakan sistem file ini sudah mendukung untuk kompresi file, enkripsi
data dan cluster serta peningkatan security yang jauh lebih baik. New
Technologi File System merupakan kepanjangan dari NTFS, yang dapat di gunakan
hanya pada Windows NT dan semua keluarganya.
Untuk Struktur File Windows ini dapat di lihat
dari gambar berikut:
Dari gambar di atas sudah cukup jelas
menjelaskan pembagian direktori file pada sistem operasi windows. Sedangkan My
Computer sendiri adalah sebagai root nya, yang terdiri dari C:, D:, dan E: yang
penggunaannya dapat di sesuaikan oleh user. kecuali untuk C: yang otomatis
untuk tempat menyimpan file Sistem operasi nya itu sendiri.
Penjelasan berikut, merupakan
direktori yang secara otomatis akan terbentuk saat instalasi Windows:
· Direktori
C:\Windows : pada direktori ini terdapat semua sistem dari Windows. Seperti
Device Driver, Registry dan program-program lain yang di gunakan oleh windows
untuk dapat bekerja dengan baik.
· Direktori
C:\Program Files : direktori ini menyimpan program-program yang di telah di
install pada sistem operasi Windows.
· Direktori C:\My
Document : direktori ini berisi semua data maupun dokumen yang di miliki oleh
user.
B. MANAJEMEN
MEMORI SISTEM OPERASI
MANAJEMEN
MEMORI
Wulandari
Tampongangoy (NIM. 10 311 177)
A. Berdasarkan keberadaan swapping :
1. Manajemen
tanpa swapping.
Manajemen memori tanpa
pemindahan citra proses antara memori utama dan diskselama ekseskusi.
2. Manajemen
dengan swapping.
Manajemen memori dengan
pemindahan citra proses antara memori utama dan diskselama ekseskusi.
B. Manajemen Memori Berdasarkan Alokasi Memori
Terdapat
dua cara menempatkan informasi ke dalam memori kerja
1. Alokasi
Memori Berurutan (contigouos Allocation)
- Pada
alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi
memori yang berurutan.
- Kelebihan
: sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat
dieksekusi secara cepat.
- Kekurangan
: memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang
mencukupi.
2. Alokasi
Memori Tak Berurutan (Non Contiguous Allocation)
- Program
/ proses ditempatkan pada beberapa sagmen berserakan, tidak perlu saling
berdekatan atau berurutan. biasanya digunakan untuk lokasi memori maya sebagai
lokasi page-page.
- Kelebihan
: sistem dapat memanfaatkan memori utama secara lebih efisien, dan system
operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup
untuk memuat proses yang akan dieksekusi.
- Kekurangan
: memerlukan pengendalian yang lebih rumit dan memori jadi
banyak berserakan tidak terpakai.
Terdapat
2 manajemen memori:
a) Manajemen Memori Statis
Dengan pemartisian
statis, jumlah, lokasi, dan ukuran prosesdi memori tidak beragam sepanjang
waktu secara tetap.
b) Manajemen Memori Dinamis
Dengan pemartisian
dinamis, jumlah, lokasi, dan ukuran proses di memori dapat berseragam sepanjang
waktu secara dinamis.
Wulandari
Tampongangoy (NIM. 10 311 177)
MANAJEMEN
MEMORI PEMARTISIAN STATIS
Kondisi
tanpa swapping :
a. Monoprogramming
Monoprogramming merupakan manajemen memori
paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai
berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang
sedang berjalan.
Dalam
monoprogramming :
1. Hanya
terdapat satu proses pada satu saat, sehingga proses baru akan menimpa proses
lama yang sudah selesai eksekusi.
2. Hanya
satu proses mengunakan semua memori.
3. Pemakai
memusatkan program keseluruh memori dari disk atau tape.
4. Program
mengambil kendali seluruh mesin.
Monoprogramming masih
dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang
menempel atau terdapat di sistem lain. Sistem-sistem tempelan menggunakan
mikroprosesor kecil, seperti Intel 8051, dan sebagainya. Sistem ini biasanya
untuk mengendalikan satu alat sehingga menjadi bersifat intelejen (intelegent
devices) dalam menyediakan satu fungsi spesifik. Karena hanya satu fungsi
spesifik, dapat diprogram di mikroprosesor dengan memori kecil (1-64 Kb).
Masalah Proteksi Di Monoprogramming
Merupakan cara memproteksi rutin
sistem operasi dari penghancuran program pemakai. Program pemakai dapat
tersesat sehingga memanipulasi atau menempati ruang memori rutin sistem
operasi. Aktivitas program pemakai ini dapat merusak sistem operasi. Untuk mengatasinya Sistem operasi harus diproteksi
dari modifikasi program pemakai.
Proteksi
ini diimplementasikan menggunakan satu register batas (boundary register) di pemroses. Setiap
kali program pemakai mengacu alamat memori dibandingkan register
batas untuk memastikan proses pemakai tidak merusak sistem operasi, yaitu
tidak melewati nilai register batas.
b. Multiprogramming dengan pemartisian statis
Multiprogramming
dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa
sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses
ditempatkan.
Manajemen Memori Multiprogramming
Melibatkan
banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu
proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang mampu
mendukung dua kebutuhan tersebut.
Melakukan
dua aktivitas :
1. Proteksi
memori dengan isolasi ruang-ruang alamat secara disjoint (terpisah).
2. Pemakaian
bersama memori.
Memungkinkan
proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep
multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.
Multiprogramming Pemartisian Statis,
Terdapat beberapa alasan :
· Mempermudah pemogram
Pemrogram
dapat memecah program menjadi dua proses atau lebih.
· Agar dapat memberi layanan interaktif ke beberapa orang
secara simultan
Untuk
itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik.
· Efisiensi penggunaan sumber daya
Bila
pada multiprogramming maka proses tersebut diblocked (hanya DMAyang bekerja) dan proses lain mendapat jatah
waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem.
· Eksekusi lebih murah jika proses besar dipecah menjadi
beberapa proses kecil
· Dapat mengerjakan sejumlah job secara simultan
PEMARTISIAN STATIS BERDASARKAN UKURAN
Partisi-partisinya terbagi dua :
1. Pemartisian menjadi partisi
berukuran sama (ukuran semua partisi memori sama), yaitu:
Beberapa
proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke
sembarang partisi yang tersedia.
Kelemahan
:
- Bila program berukuran lebih besar dibanding partisi yang
tersedia, maka tidak dapat dimuatkan, tidak dapat
dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian
program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan
saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung
swapping.
- Untuk program yang sangat kecil dibanding ukuran partisi
yang ditetapkan, maka banyak ruang yang tak dipakai
yang diboroskan, disebut fragmentasi internal. Kelemahan ini
dapat dikurangi dengan partisi-partisi tetap berukuran berbeda.
2. Pemartisian menjadi
partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah
berbeda
Strategi
penempatan program ke partisi
DESKRIPSI
:
a) Strategi penempatan pada pemartisian menjadi
partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara
mudah karena dapat dipilih sembarang partisi yang kosong.
b) Strategi penempatan pada pemartisian menjadi
partisi-partisi berukuran berbeda.
Satu antrian untuk tiap partisi (banyak antrian
untuk seluruh partisi).
Proses
ditempatkan ke partisi paling kecil yang dapat memuatnya.
Keuntungan :
- teknik ini adalah meminimalkan pemborosan memori.
Kelemahan :
- dapat terjadi antrian panjang disuatu partisi sementara
antrian partisi-partisi lain kosong.
Satu antrian untuk seluruh partisi.
Proses-proses diantrikan
di satu antrian tunggal untuk semua partisi. Proses segera ditempatkan di
partisi bebas paling kecil yang dapat memuat.
Keunggulan
:
- Lebih
fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola
satu antrian.
Kelemahan
:
- Proses
dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil
ditempatkan di partisi sangat besar.
FRAGMENTASI
PADA PEMARTISIAN STATIS
Fragmentasi yaitu Penyiaan/pemborosan memori akan terjadi pada setiap organisasi
penyimpanan. Fragmentasi pada pemartisian tetap terdiri dari:
a. Fragmentasi
internal.
Proses tidak mengisi
penuh partisi yang telah ditetapkan untuk proses.
b. Fragmentasi
ekstenal.
Partisi dapat tidak
digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang
menunggu di antrian, sehingga tidak digunakan
FUNGSI
MANAJEMEN MEMORI
1. Mengelola
informasi memori yang dipakai dan tidak dipakai.
2. Mengalokasikan
memori ke proses yang memerlukan.
3. Mendealokasikan
memori dari proses yang telah selesai.
4. Mengelola
swapping antara memori utama dan disk.
DESKRIPSI HIRARKI
MEMORI
1. Pemakaian memori dua tingkat, menggunakan cache memory
yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik.
2. Chace memory merupakan penyimpan berkecepatan tinggi
lebih cepat dibanding memori utama.
3. Chace memory lebih mahal dibanding memori utama, sehingga
kapasitas cache relatif kecil.
ADDRESS
BINDING
- Sebelum
eksekusi, program/proses berada di dalam disk, dan pada saat dieksekusi ia
perlu berada pada suatu lokasi dalam memori fisik.
- Address
binding adalah menempatkan address relatif program/proses ke dalam address
fisik meori (real memory address). Dapat berlangsung dalam salah satu tahapan:
kompilasi, load atau eksekusi
TAHAPAN
RUNNING PROGRAM
1. Tahapan
Kompilasi : source program (source code) dikompilasi menjadi
object module (object code).
2. Tahapan
link & load : object module di-link dengan object module lain menjadi load
module (execution code) kemudian di-load ke memori untuk
dieksekusi.
3. Tahapan
eksekusi : mungkin juga dilakukan dynamic linking dengan resident
library.
ADDRESS
BINDING SAAT KOMPILASI
1. Jika
lokasi dari proses sudah diketahui sebelumnya maka saat kompilasi
address-address instruksi dan data ditentukan dengan alamat fisik.
2. Jika
terjadi perubahan pada lokasi tersebut maka harus di rekompilasi.
ADDRESS
BINDING SAAT LOAD
1. Code
hasil kompilasi masih menunjuk address-address secara relatif, saat di-load
address-address disubstitusi dengan alamat fisik berdasar relokasi proses
yang diterima.
2. Jika
terjadi perubahan relokasi maka code di-load ulang.
ADDRESS
BINDING SAAT EKSEKUSI
1. Binding
(ikatan) bisa dilakukan ulang selama proses
- Hal ini
untuk memungkinkan pemindahan proses dari satu lokasi ke lokasi lain selama
run.
2. Perlu
adanya dukungan hardware untuk pemetaan address
- Contoh
: base register dan limit register
C. Manajemen I/O
Sering disebut device manager. Menyediakan “device driver” yang
umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup).
Contoh: pengguna menggunakan operasi yang sama untuk membaca file pada
hard-disk, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O :
Buffer : menampung sementara data dari/ke perangkat I/O.
- Spooling :
melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian
dsb.).
- Menyediakan
“driver” untuk dapat melakukan operasi “rinci” untuk perangkat keras I/O
tertentu.
- Manajemen
perangkat masukan/keluaran merupakan aspek perancangan sistem
operasi terluas dan kompleks karena sangat beragamnya perangkat dan
aplikasinya.
Beberapa fungsi manajemen input/ouput (I/O) :
-
- Mengirim
perintah ke perangkat I/O agar menyediakan layanan.
- Menangani
interupsi perangkat I/O.
- Menangani
kesalahan perangkat I/O.
- Menyediakan
interface ke pemakai.
Klasifikasi perangkat I/O
Perangkat I/O dapat dikelompokkan berdasarkan :
a. Sifat aliran
datanya, yang terbagi atas :
1 Perangkat
berorientasi blok.
Yaitu menyimpan, menerima, dan mengirim informasi sebagai
blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki
alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-blok secara
independen, yaitu dapat membaca atau menulis sembarang blok tanpa harus
melewati blok-blok lain. Contoh : disk,tape,CD ROM, optical disk.
2 Perangkat
berorientasi aliran karakter.
Yaitu perangkat yang menerima, dan mengirimkan aliran karakter
tanpa membentuk suatu struktur blok. Contoh : terminal, line printer, pita
kertas, kartu-kartu berlubang, interface jaringan, mouse.
b. Sasaran
komunikasi, yang terbagi atas :
1 Perangkat yang
terbaca oleh manusia.
Perangkat yang digunakan untuk berkomunikasi dengan manusia.Contoh
: VDT (video display terminal) : monitor, keyboard, mouse.
2 Perangkat yang
terbaca oleh mesin.
Perangkat yang digunakan untuk berkomunikasi dengan perangkat
elektronik.Contoh : Disk dan tape, sensor, controller.
3 Perangkat
komunikasi.
Perangkat yang digunakan untuk komunikasi dengan perangkat jarak
jauh.Contoh : Modem.
Faktor-faktor yang membedakan antar perangkat :
o Kecepatan transmisi data (data rate).
o Jenis aplikasi yang digunakan.
o Tingkat kerumitan dalam pengendalian.
o Besarnya unit yang ditransfer.
o Representasi atau perwujudan data.
o Kondisi-kondisi kesalahan.Teknik pemograman perangkat I/O
- c. Terdapat
3 teknik pemrograman, yaitu :
- I/O terprogram
atau polling system.
Ketika perangkat I/O menangani permintaan, perangkat men-set bit
status di register status perangkat. Perangkat tidak memberitahu ke pemroses
saat tugas telah selesai dilakukan sehingga pemroses harus selalu memeriksa
register tersebut secara periodik dan melakukan tindakan berdasar status yang
dibaca. Software pengendali perangkat (driver) dipemroses harus mentransfer
data ke/dari pengendali. Driver mengeksekusi perintah yang berkomunikasi dengan
pengendali (adapter) di perangkat dan menunggui sampai operasi yang dilakukan
perangkat selesai.Driver berisi kumpulan instruksi :
×Powered By LaSuperba
1 Pengendalian.
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang
perlu dilakukan. Contoh : unit tape magnetik diinstruksikan untuk kembali ke
posisi awal, bergerak ke record berikut, dan sebagainya.
2 Pengujian.
Berfungsi memeriksa status perangkat keras berkaitan dengan
perangkat I/O.
3 Pembacaan/penulisan
Berfungsi membaca/menulis untuk transfer data antara register
pemroses dan perangkat eksternal.Masalah utama I/O terprogram adalah pemroses
diboroskan untuk menunggu dan menjagai operasi I/O. Diperlukan teknik lain
untuk meningkatkan efisiensi pemroses.
b. I/O dikendalikan
interupsi.
Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai
berikut :
o Pemroses memberi instruksi ke perangkat I/O kemudian
melanjutkan melakukan pekerjaan lainnya.
o Perangkat I/O akan menginterupsi meminta layanan saat perangkat
telah siap bertukar data dengan pemroses.
o Saat menerima interupsi perangkat keras (yang memberitahukan
bahwa perangkat siap melakukan transfer), pemroses segera
mengeksekusi transfer data.
Keunggulan :
o Pemroses tidak disibukkan menunggui dan menjaga perangkat I/O
untuk memeriksa status perangkat.
Kelemahan :
o Rate transfer I/O dibatasi kecepatan menguji dan melayani
operasi perangkat.
o Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah
intruksi harus dieksekusi untuk tiap transfer I/O.
c. Dengan DMA (direct
memory access).
DMA berfungsi membebaskan pemroses menunggui transfer data yang
dilakukan perangkat I/O. Saat pemroses ingin membaca atau menulis data,
pemroses memerintahkan DMA controller dengan mengirim informasi berikut :
o Perintah penulisan/pembacaan.
o Alamat perangkat I/O.
o Awal lokasi memori yang ditulis/dibaca.
o Jumlah word (byte) yang ditulis/dibaca.
Setelah mengirim informasi-informasi itu ke DMA controller,
pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke
DMA. DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung
tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim sinyal
interupsi ke pemroses. Sehingga pemroses hanya dilibatkan pada awal dan akhir
transfer data. Operasi transfer antara perangkat dan memori utama dilakukan
sepenuhnya oleh DMA lepas dari pemroses dan hanya melakukan interupsi bila
operasi telah selesai.
Keunggulan :
o Penghematan waktu pemroses.
×Powered By LaSuperba
o Peningkatan kinerja I/O.
Evolusi fungsi perangkat I/O
Sistem komputer mengalami peningkatan kompleksitas dan kecanggihan
komponen-komponennya, yang sangat tampak pada fungsi-fungsi I/O sebagai berikut
:
a. Pemroses
mengendalikan perangkat I/O secara langsung.
Masih digunakan sampai saat ini untuk perangkat sederhana yang
dikendalikan mikroprosessor sehingga menjadi perangkat berintelijen (inteligent
device).
b. Pemroses
dilengkapi pengendali I/O (I/O controller).
Pemroses menggunakan I/O terpogram tanpa interupsi, sehingga tak
perlu memperhatikan rincian-rincian spesifik antarmuka perangkat.
c. Perangkat dilengkapi
fasilitas interupsi.
Pemroses tidak perlu menghabiskan waktu menunggu selesainya
operasi I/O, sehingga meningkatkan efisiensi pemroses.
d. I/O controller
mengendalikan memori secara langsung lewat DMA.
Pengendali dapat memindahkan blok data ke/dari memori tanpa
melibatkan pemroses kecuali diawal dan akhir transfer.
e. Pengendali I/O
menjadi pemroses terpisah.
Pemroses pusat mengendalikan.memerintahkan pemroses khusus I/O
untuk mengeksekusi program I/O di memori utama. Pemroses I/O mengambil dan
mengeksekusi intruksi-intruksi ini tanpa intervensi pemroses pusat.
Dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya
diinterupsi ketika seluruh barisan intruksi diselesaikan.
f. Pengendali I/O
mempunyai memori lokal sendiri.
Perangkat I/O dapat dikendalikan dengan keterlibatan pemroses
pusat yang minimum.
Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal
interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan
pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga pemroses
tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja sistem.
Prinsip manajemen perangkat I/O
Terdapat dua sasaran perancangan I/O, yaitu :
a. Efisiensi.
Aspek penting karena operasi I/O sering menimbulkan bottleneck.
b. Generalitas (device
independence).
Manajemen perangkat I/O selain berkaitan dengan simplisitas dan
bebas kesalahan, juga menangani perangkat secara seragam baik dari cara proses
memandang maupun cara sistem operasi mengelola perangkat dan operasi I/O.
Software diorganisasikan berlapis. Lapisan bawah berurusan
menyembunyikan kerumitanperangkat keras untuk lapisan-lapisan lebih atas.
Lapisan lebih atas berurusanmemberi antar muka yang bagus, bersih, nyaman dan
seragam ke pemakai. Masalah-masalah manajemen I/O adalah :
a. Penamaan yang
seragam (uniform naming).
Nama berkas atau perangkat adalah string atau integer, tidak
bergantung pada perangkat sama sekali.
b. Penanganan kesalahan
(error handling).
Umumnya penanganan kesalahan ditangani sedekat mungkin dengan
perangkat keras.
c. Transfer sinkron vs asinkron.
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan
mengabaikan untuk melakukan kerja lain sampai interupsi tiba. Program pemakai
sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah
read, program kemudian ditunda secara otomatis sampai data tersedia di buffer.
d. Sharable vs
dedicated.
Beberapa perangk dapat dipakai bersama seperti disk, tapi ada juga
perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat.
Contoh : printer.
Hirarki manajemen perangkat I/O
Hirarki manajemen perangkat I/O :
a. Interrupt handler.
Interupsi harus disembunyikan agar tidak terlihat rutin
berikutnya. Device driver di blocked saat perintah I/O diberikan dan menunggu
interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar
device driver keluar dari state blocked.
b. Device drivers.
Semua kode bergantung perangkat ditempatkan di device driver. Tiap
device driver menangani satu tipe (kelas) perangkat dan bertugas menerima
permintaan abstrak perangkat lunak device independent diatasnya dan melakukan
layanan permintaan.
Mekanisme kerja device driver :
o Menerjemahkan
perintah abstrak menjadi perintah konkret.
o Setelah
ditentukan perintah yang harus diberikan ke pengendali, device driver
mulai menulis ke register-register pengendali perangkat.
o Setelah operasi
selesai dilakukan perangkat, device driver memeriksa status kesalahan yang
terjadi.
o Jika berjalan
baik, device driver melewatkan data ke perangkat lunak device independent.
o Kemudian device
driver melaporkan status operasinya ke pemanggil.
c. Perangkat lunak
device independent.
Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua
perangkat dan memberi antarmuka seragam ke perangkat lunak tingkat
pemakai. Fungsi-fungsi lain yang dilakukan :
o Sebagai
interface seragam untuk seluruh device driver.
o Penamaan
perangkat.
o Proteksi
perangkat.
o Memberi ukuran
blok perangkat agar bersifat device independent.
o Melakukan
buffering.
o Alokasi penyimpanan
pada block devices.
o Alokasi dan
pelepasan dedicated devices.
o Pelaporan
kesalahan.
d. Perangkat lunak
level pemakai.
Kebanyakan perangkat lunak I/O terdapat di sistem operasi. Satu
bagian kecil berisi pustaka-pustaka yang dikaitkan pada program pemakai dan
berjalan diluar kernel. System calls I/O umumnya dibuat sebagai
prosedur-prosedur pustaka. Kumpulan prosedur pustaka I/O merupakan bagian
sistem I/O. Tidak semua perangkat lunak I/O level pemakai berupa prosedur-
prosedur pustaka. Kategori penting adalah sistem spooling. Spooling adalah cara
khusus berurusan dengan perangkat I/O yang harus didedikasikan pada sistem
multiprogramming.
Buffering I/O
Buffering adalah melembutkan lonjakan-lonjakan kebutuhan
pengaksesan I/O, sehingga meningkatkan efisiensi dan kinerja sistem
operasi.Terdapat beragam cara buffering, antar lain :
a. Single buffering.
Merupakan teknik paling sederhana. Ketika proses memberi perintah
untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem
untuk operasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke
buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang
pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau
anticipated input. Teknik ini dilakukan dengan harapan blok akan segera
diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir
pemrosesan maka blok yang dibaca tidak diperlukan.
Keunggulan :
Pendekatan in umumnya meningkatkan kecepatan dibanding tanpa
buffering. Proses pemakai dapat memproses blok data sementara blok berikutnya
sedang dibaca. Sistem operasi dapat menswap keluar proses karena operasi
masukan berada di memori sistem bukan memori proses pemakai.
Kelemahan :
o Merumitkan
sistem operasi karena harus mencatat pemberian buffer-buffer sistem ke proses
pemakai.
o Logika
swapping juga dipengaruhi. Jika operasi I/O melibatkan disk
untuk swapping, maka membuat antrian penulisan ke disk yang sama yang digunakan
untuk swap out proses. Untuk menswap proses dan melepas memori utama tidak
dapat dimulai sampai operasi I/O selesai, dimana waktu swapping ke disk tidak
bagus untuk dilaksanaka Buffering keluaran serupa buffering masukan. Ketika
data transmisi, data lebih dulu dikopi dari ruang pemakai ke buffer sistem.
Proses pengirim menjadi bebas untuk melanjutkan eksekusi berikutnya atau di
swap ke disk jika perlu.Untuk perangkat berorientasi aliran karakter.
Single buffering dapat diterapkan dengan dua mode, yaitu :
o Mode line at a
time.
Cocok untuk terminal mode gulung (scroll terminal atau dumb
terminal). Masukan pemakai adalah satu baris per waktu dengan enter menandai
akhir baris. Keluaran terminal juga serupa, yaitu satu baris per waktu.
Contoh mode ini adalah printer.Buffer digunakan untuk menyimpan
satu baris tunggal. Proses pemakai ditunda selama masukan, menunggu
kedatangan satu baris seluruhnya. Untuk keluaran, proses pemakai
menempatkan satu baris keluaran pada buffer dan melanjutkan pemrosesan. Proses
tidak perlu suspend kecuali bila baris kedua dikirim sebelum buffer
dikosongkan.
o Mode byte at a time.
Operasi ini cocok untuk terminal mode form, dimana tiap ketikan
adalah penting dan untuk peripheral lain seperti sensor dan pengendali.
b. Double buffering.
Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat
ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau
mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping.
Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan ini
harus dibayar dengan peningkatan kompleksitas. Untuk berorientasi aliran
karakter, double buffering mempunyai 2 mode alternatif, yaitu :
o Mode line at a time.
Proses pemakai tidak perlu ditunda untuk I/O kecuali proses
secepatnya mengosongkan buffer ganda.
o Mode byte at a
time.
Buffer ganda tidak memberi keunggulan berarti atas buffer
tunggal. Double buffering mengikuti model producer-consumer.
- Circular
buffering.
Seharusnya melembutkan aliran data antara perangkat I/O dan
proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar
operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses
melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat
dihindari dengan menggunakan lebih dari dua buffer. Ketika lebih dari dua
buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circulat
buffer. Tiap bufferindividu adalah satu unit di circular buffer.
sumber:
Komponen Sistem Operasi untuk sistem I/O :
operasi terluas dan kompleks karena sangat beragamnya perangkat dan
aplikasinya.
Beberapa fungsi manajemen input/ouput (I/O) :
- Mengirim
perintah ke perangkat I/O agar menyediakan layanan.
- Menangani
interupsi perangkat I/O.
- Menangani
kesalahan perangkat I/O.
- Menyediakan
interface ke pemakai.
o Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi harus dieksekusi untuk tiap transfer I/O.
Keunggulan :
o Penghematan waktu pemroses.
Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga pemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja sistem.
Prinsip manajemen perangkat I/O
Terdapat dua sasaran perancangan I/O, yaitu :
c. Transfer sinkron vs asinkron.
Hirarki manajemen perangkat I/O :
a. Single buffering.
untuk swapping, maka membuat antrian penulisan ke disk yang sama yang digunakan untuk swap out proses. Untuk menswap proses dan melepas memori utama tidak dapat dimulai sampai operasi I/O selesai, dimana waktu swapping ke disk tidak bagus untuk dilaksanaka Buffering keluaran serupa buffering masukan. Ketika data transmisi, data lebih dulu dikopi dari ruang pemakai ke buffer sistem. Proses pengirim menjadi bebas untuk melanjutkan eksekusi berikutnya atau di swap ke disk jika perlu.Untuk perangkat berorientasi aliran karakter.
o Mode byte at a time.
o Mode line at a time.
Komentar
Posting Komentar