Rabu, 30 September 2015

MANAJEMEN I/O



MANAJEMEN I/O

a.      Pengertian
Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup).

b.      Fungsi
1.      Mengirim perintah ke perangkat I/O agar menyediakan layanan.
2.      Menangani interupsi perangkat I/O.
3.      Menangani kesalahan perangkat I/O.
4.      Menyediakan interface ke pemakai.

c.       Teknik I/O
1.   I/O Terprogram
Pada  I/O  terprogram,  data  saling  dipertukarkan  antara  CPU  dan  modul I/O.  CPU mengeksekusi  program  yang  memberikan  operasi  I/O  kepada  CPU  secara  langsung,  seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat.
Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan. Untuk  melaksanakan  perintah    perintah  I/O,  CPU  akan  mengeluarkan  sebuah  alamat bagi  modul  I/O  dan  perangkat  peripheralnya  sehingga  terspesifikasi secara  khusus  dan  sebuah perintah I/O yang akan dilakukan.




2.   I/O Interrupt Driven
Teknik  interrupt    driven  I/O  memungkinkan  proses  tidak  membuang    buang waktu. Prosesnya  adalah  CPU  mengeluarkan  perintah  I/O  pada  modul  I/O,  bersamaan  perintah  I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah –  perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah  dari  memori  maupun  pelaksanaan  isi  perintah  tersebut.  Terdapat selangkah  kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU.

3.   I/O DMA ( Direct Memory Access )
Teknik  yang  dijelaskan  sebelumnya  yaitu  I/O  terprogram  dan  Interrupt Driven  I/O memiliki  kelemahan,  yaitu  proses  yang  terjadi  pada  modul  I/O  masih  melibatkan  CPU  secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transferdata bervolume besar
dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA).
Prinsip  kerja  DMA  adalah  CPU  akan  mendelegasikan  kerja  I/O  kepada  DMA,  CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses  saja.  Dengan  demikian  CPU  dapat  menjalankan  proses  lainnya  tanpa  banyak  terganggu dengan interupsi.



d.  Komponen I/O
1.  Buffer I/O
Buffer adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi dan kinerja sistem operasi.Terdapat beragam cara buffering, antar lain :
a.  Single Buffer
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.

b.   Double Buffer
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.

c.   Circular Buffer
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 circular buffer. Tiap buffer individu adalah satu unit di circular buffer.



2.  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.

e.       Perangkat I/O
1.      Perangkat Keras
-          Piranti I/O
Piranti I/O adalah piranti(perangkat) yang memiliki tugas meminta input(masukan) dan menghasilkan data (output). Jenis – jenis piranti I/O :
·        piranti penyimpanan, contoh : disk, tape
·        piranti transmisi, contoh : network, modem 
·        piranti antarmuka, contoh : screen, keyboard, mouse

-    Device Control
Merupakan device yang digunakan untuk mengendalikan peralatan tambahan di suatu sistem komputer.

-    Bus I/O
Bus adalah lintasan komunikasi yang menghubungkan dua atau lebuh perangkat komputer. Karakter bus adalah media tranmisi yang dapat digunakan bersama. Sedangkan  sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU ,memori,input/output) disebut sistem bus. Sebuah bus sistem terdiri dari 50 hingga 100 saluran terpisah.



2.  Perangkat Lunak
-    Interrupt Handler
Interupsi adalah suatu permintaan khusus kepada mikroposesor untuk melakukan sesuatu. Program yang melayani suatu interupsi dinamakan Interrupt Handler.

-    Device Driver
Device driver merupakan perangkat lunak yang terintegrasi pada linux kernel untuk mengontrol perangkat keras. Jika device driver telah terimplementasi dengan baik, perangkat yang bersangkutan tidak dapat disalahgunakan oleh user. Hal ini merupakan fungsi protective dari device driver.

-    Subsistem I/O
Menyediakan antarmuka ( interface ) atau fungsi I/O bagi SO atau aplikasi.

-    Pustaka I/O Aplikasi
Mengimplementasikan pustaka pengaksesan I/O atau API (Application Programming Interface) bagi aplikasi untuk melakukan operasi I/O

sumber : http://sisop-kamis.blogspot.co.id 

MANAJEMEN MEMORI



MANAJEMEN MEMORI SISTEM OPERASI
MANAJEMEN MEMORI (NIM. 10 311 177)
A.    Berdasarkan keberadaan swapping :
1.    Manajemen tanpa swapping.
Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.
2.    Manajemen dengan swapping.
Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama 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.

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 di memori agar memperoleh kinerja yang baik.
·      Efisiensi penggunaan sumber daya
Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang 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

sumber : http://wulantampongangoy.blogspot.co.id

Menggunakan INNER JOIN, RIGHT JOIN DAN LEFT JOIN

Apa sih perintah JOIN itu? Perintah JOIN dalam SQL digunakan untuk menampilkan data pada table yang saling berhubungan atau berelasi....