• SAMBA SERVER

    0
    KEUNGGULAN SAMBA
    a.  Gratis atau free
    b.  Tersedia untuk berbagai macam platform
    c.  Mudah dikonfigurasi oleh administrator

    d.  Sudah terhubung langsung dengan jaringan
    e.  Mudah dikonfigurasi sesuai dengan kebutuhan administrator
    f.  Mempunyai performa yang maksimal.
    g. dan jarang ditemui masalah dalam penggunaannya di  jaringan
    h. Dapat diandalkan karena jarang terjadi kesalahan.
     
     
    Berikut langkahnya:
    Install samba dengan perintah #apt-get install samba
      2. Masuk ke file /etc/samba/smb.conf dengan cara #nano /etc/samba/smb.conf  
     3. Edit file seperti gambar berikut.
     4. Setelah tersimpan silahkan anda masukan user untuk penguna samba jika anda mengunakan user dengan perintah #smbpasswd -a aku
     5. Restart samba, dengan perintah #service samba restart
     6. Setelah itu coba pada client windows dengan menekan windows+r muncul kotak dialog masukan \\ipserver atau \\192.168.137.2 , seperti gambar dibawah ini.
      7. Sehingga akan muncul sepertu ini.

     8. Setelah diklik maka akan muncul kotak dialog untuk memasukan username dan password yang sudah di konfigurasikan tadi silahkan log in seperti gambar dibawah.
      9. Maka akan muncul tampilan seperti ini.
     
  • OSPF DAN EIGRP

    0


    Sebelum kita membahas tentang OSPF dan EIGRP kita akan membahas tentang SPF dan link-state terlebih dahuluAlgoritma dasar kedua yang digunakan dalam proses routing adalah algoritma link-state . Algoritma routing link-state-based dikenal juga sebagai shortest path first (SPF). Algoritma ini mengelola suatu database kompleks dari informasi topologi. Jika algoritma distance vector tidak memiliki informasi spesifik mengenai jaringan-jaringan jauh dan tidak mengetahui router-router jauh, maka algoritma routing link-state mengelola secara penuh pengetahuan mengenai jarak router dan bagaimana mereka terhubung.



    Routing link-state menggunakan link-state paket (LSP), suatu database topologi, algoritma SPF, yang menghasilkan SPF tree , dan pada akhirnya akan dihasilkan routing table dari jalur dan port untuk setiap jaringan.



    Routing link-state memiliki keunggulan pada jaringan besar karena beberapa alasan berikut:

    1. Protokol link-state hanya mengirim update dari topologi yang berubah saja.

    2. Periode update lebih jarang dibanding protokol distance vector .

    3. Routing link-state dapat disegmentasi ke dalam hirarki-hirarki area yang dapat membatasi jangkauan

        perubahan-perubahan rute.

    4. Mendukung classless addressing .

    5. Routing link-state mengirim subnet mask bersama dengan update routing .



    Protokol routing link-state mengurangi trafik broadcast karena protokol ini tidak secara periodik melakukan broadcast ataupun mengirimkan seluruh isi tabel routing-nya ketika melakukan broadcast . Protokol routing link-state melakukan pertukaran salinan lengkap tabel rutenya ketika inisialisasi berlangsung. Selajutnya pertukaran update rutenya dilakukan secara multicast dan hanya pada saat terjadi perubahan (dibangkitkan oleh perubahan topologi). Dengan demikian kondisi ini memungkinkan hanya perubahan saja yang dikirim ke router-router lain, bukan seluruh route table -nya. 

    Berbeda dengan protokol distance vector , protokol link-state harus menghitung informasi metrik rute yang diterimanya. Router akan menghitung seluruh cost yang berhubungan dengan link pada setiap rute untuk mendapatkan metrik rute-rute yang terhubung. Hal ini mengakibatkan router-router yang menggunakan protokol link-state bekerja lebih berat dan memerlukan lebih banyak memory serta siklus pemrosessan.

    Perbandingan Protokol Link-State dan Distance Vector.





    Fitur 
    Link-State 
    Distance Vector 
    Convergence Time 
    Fast 
    Slow, mainly because of loop-avoidance features 
    Loop Avoidance 
    Built into the protocol 
    Requires extra features such as split horizon 
    Memory and CPU Requirements 
    Can be large; good design can minimize 
    Low 


  • PENGERTIAN BRIKER

    1

     PENGERTIAN BRIKER



    PENGERTIAN BRIKER



    Adalah salah satu distro linux yang khusus untuk server VoIP buatan indonesia. Briker yaitu perangkat lunak untuk menjadikan komputer sebagai sentral telepon. aplikasi ini memudahkan komunikasi yang dibangun dengan basis open source. Briker dapat membuat server VoIP sendiri agar tercipta komunikasi dengan biaya hemat, selain itu Briker juga mendukung penuh terhadap voice dan video conference, sehingga kita bisa melakukan conference dengan membuat room sendiri untuk conference, salah satu yang menarik lagi dari Briker adalah dapat menciptakan LCR (Least Cost Routing).

     Salah satu contoh dari server VoIP adalah Briker, yaitu satu Operating system untuk aplikasi IPPBX seperti, Trixbox, Elastix dan asterisknow. Briker merupakan distro linux, buatan local (Indonesia asli), semoga dengan adanya Briker masyarakat Indonesia dapat membuat server VoIP sendiri agar tercipta komunikasi dengan biaya hemat. Briker mendukung penuh terhadap voice dan video conference, sehingga kita bisa melakukan conference dengan membuat room sendiri untuk conference, salah satu yang menarik lagi dari Briker adalah dapat menciptakan LCR (Least Cost Routing) dimana Briker dengan pintar mencari jalur terhemat untuk telephone dengan interkoneksi ke PSTN, GSM dan CDMA atau provider VoIP lainnya.
     Fungsi utama Briker IPPBX adalah menyediakan voip server yang instan. Jika dipasang pada PC yang sudah ready dengan telephony card khusus maka PC itu bisa difungsikan layaknya PBX dengan segudang fitur yang umumnya ditemui pada produk2 komersial.
  • PENGERTIAN BRIKER

    0
    Adalah salah satu distro linux yang khusus untuk server VoIP buatan indonesia. Briker yaitu perangkat lunak untuk menjadikan komputer sebagai sentral telepon. aplikasi ini memudahkan komunikasi yang dibangun dengan basis open source. Briker dapat membuat server VoIP sendiri agar tercipta komunikasi dengan biaya hemat, selain itu Briker juga mendukung penuh terhadap voice dan video conference, sehingga kita bisa melakukan conference dengan membuat room sendiri untuk conference, salah satu yang menarik lagi dari Briker adalah dapat menciptakan LCR (Least Cost Routing). Salah satu contoh dari server VoIP adalah Briker, yaitu satu Operating system untuk aplikasi IPPBX seperti, Trixbox, Elastix dan asterisknow. Briker merupakan distro linux, buatan local (Indonesia asli), semoga dengan adanya Briker masyarakat Indonesia dapat membuat server VoIP sendiri agar tercipta komunikasi dengan biaya hemat. Briker mendukung penuh terhadap voice dan video conference, sehingga kita bisa melakukan conference dengan membuat room sendiri untuk conference, salah satu yang menarik lagi dari Briker adalah dapat menciptakan LCR (Least Cost Routing) dimana Briker dengan pintar mencari jalur terhemat untuk telephone dengan interkoneksi ke PSTN, GSM dan CDMA atau provider VoIP lainnya. Fungsi utama Briker IPPBX adalah menyediakan voip server yang instan. Jika dipasang pada PC yang sudah ready dengan telephony card khusus maka PC itu bisa difungsikan layaknya PBX dengan segudang fitur yang umumnya ditemui pada produk2 komersial.
  • How Do Windows 10 Maintenance Tools Work?

    0
    Windows 10 berisi membunuh alat untuk menjaga Windows berjalan lancar. Beberapa berjalan secara otomatis, membatasi pekerjaan Anda untuk memeriksa mereka Pada switch. Lainnya membantu Anda mempersiapkan diri untuk bencana datang dengan back up file PC Anda. Untuk memeriksa alat bertahan hidup komputer Anda, klik kanan tombol Start, pilih Control Panel, dan pilih kategori Sistem Control Panel dan Keamanan. Alat tips Control Panel muncul, yang ditampilkan di sini.
    Anda perlu alat ini paling sering: File History: Diperkenalkan pada Windows 8, jenis baru ini program backup tirai jaring pengaman lebih setiap file dalam folder utama Anda, membiarkan Anda mengambil salinan cadangan harus sesuatu yang salah. Program gratis Sejarah Berkas membuat Anda tidak ada alasan untuk tidak mengaktifkannya. Semua hard drive akhirnya mati, dan Anda telah disimpan banyak kenangan pada Anda. (A cadangan Sejarah Berkas juga disederhanakan bergerak dari PC lama ke PC baru.) Sistem: dukungan orang Teknis berkembang dalam crawlspace ini. Daerah Sistem berisi versi Windows Anda, kecepatan PC Anda prosesor dan status jaringan, dan jumlahnya memori. Windows Update: Alat ini memungkinkan Microsoft secara otomatis menyedot perbaikan keamanan ke PC Anda melalui Internet, yang biasanya hal yang baik. Pada Windows 10 edisi Home, bagaimanapun, Windows Update berjalan terus-menerus - Anda tidak bisa mematikannya. Itu sebabnya Windows 10 Pemilik rumah tidak akan menemukannya tercantum di sini di biasa tempat Control Panel-nya. Power Options: Tidak yakin apakah PC Anda tidur, hibernate, atau sekadar dimatikan? Bagian ini memungkinkan Anda menentukan gelar PC Anda dari kelesuan ketika Anda menekan tombol Off-nya. (Atau jika Anda seorang pemilik laptop, bila Anda menutup tutupnya.) Administrative Tools: Satu permata tinggal di ini menjambret tas rumit alat teknologi: Program Disk Cleanup menghapus sampah PC Anda untuk memberikan Anda ruang penyimpanan yang lebih. Sumber : http://www.dummies.com/how-to/content/how-do-windows-10-maintenance-tools-work.html
  • Tutorial Merakit PC

    0


    Nama Kelompok : VGA
    -         Gusti Ayu Widiasari
    -         Devina Damayanti
    -         Siti Rahmah Silviana
    -         Lili Amelia

    Persiapan Sebelum Memulai Cara Merakit Komputer (PC)


    Ada beberapa komponen/perlengkapan yang harus anda siapkan sebelum memulai cara merakit komputer (PC) diantaranya :

    Untuk Alat Kerja


    1. Obeng
    2. Skrup
    3. Baud

    Untuk Komponen Komputer (PC)


    Sebelum mempersiapkan komponen-komponen komputer (PC) sebaiknya anda memperhatikan kompabilitas/kesesuaian setiap komponen degan motherboardnya karena tidak semua jenis komponen cocok dengan motherboarnya.

    Berikut beberapa komponen yang harus dipersiapkan:

    1. Motherboard
    2. Processor
    3. Heatsink & Kipas
    4. RAM
    5. VGA CARD (kalau perlu)
    6. Casing
    7. Power Supply
    8. Hardisk
    9. DVD/CDROM
    10. Keyboard & mouse
    11. Monitor
    12. Speaker

    Untuk Software


    1. CD Sistem Operasi seperti windows 7, windows 8 atau lainnya.
    2. CD driver motherboard (VGA, Sound card, LAN,dll).
    3. Program aplikasi.



    Langkah-langkah Cara Merakit Komputer (PC)


    1. Cara Memasang Processor ke Motherboard


    • Pertama buka atau tarik ke atas tuas pengunci socket prosesor pada motherboard.
    • Sebelum meletakkan procesor ke socket, lihat tanda titik/segitiga di sudut prosesor lalu cocokan tanda yang sama di socket motherboard, jika sudah terpasang dengan baik kunci kembali soket procesor tersebut.
    • Lapisi atau oleskan pasta di bagias atas prosesor yang akan di pasang heatsink. Pasta berfungsi sebagai penyalur panas dari processor ke heatsink.
    • Selanjutnya pasang Heatsink di atas prosesor,kunci Heatsink sehingga tidak goyang atau tampak mau lepas.
    • Terakhir colokokan konektor power kipas Heatsink ke motherboard. Dan pastikan kembali bahwa Heatsink & Procesor sudah terpasang baik.

    Perhatikan gambar dibawah ini


    memasang processor


    memeasang heatsink


    2. Cara Memasang RAM / Memori ke Motherboard


    • Lihat dan buka tuas penguncinya.
    • Lalu sesuaikan posisi lekukan pada RAM dengan lekukan pada slot RAM pada motherboard.
    • Kalau sudah pas lalu tekan di setiap ujung RAM hingga tuas pengunci RAM / memori kembali mengunci biasanya di tandai dengan bunyi “klik”.
    • Pastikan Memory RAM sudah terpasang baik & benar.

    Perhatikan gambar dibawah ini

    memasang RAM


    3. Cara Memasang Power Supply Pada Casing


    Untuk power supply jika anda membeli casing biasanya sudah terpasang power supply, jika belum berikut cara pemasangnya :

    • Pasangkan Power Supply di atas pojok atau biasanya ada juga yang di taruh dibawah tergantung model dari casing sendiri.
    • Sesuaikan lubang sekrup pada PSU dengan lubang sekrup casing
    • Kunci Power Supply menggunakan sekrup yang ada menggunakan obeng (+).
    • Pastikan Power Supply sudah terpasang benar & tidak goyang.

    Perhatikan gambar dibawah ini


    memasang PSU


    4. Cara Memasang Harddisk Dan CD Atau DVD-ROM


    • Letakkan casing dalam keadaan berdiri, pasang Harddisk pada casing dan kunci dengan baut menggunakan obeng plus.
    • Pasang CD atau DVR-ROM di bagian atas dari depan casing dan kunci dngan sekrup agar tidak gerak.
    • Selanjutnya pasang masing-masing kabel pada Harddisk dan CD/DVD ROM.

    Perhatikan gambar dibawah ini


    memasang hardisk dan drive




    5. Cara Memasang Motherboard ke Casing


    • Lihat lubang sekrup yang ada pada casing dan lubang sekrup pada motherbord.
    • Letakan motherbord ke dalam casing dengan mencocokan lubang sekrup yang ada pada motherbord dan casing.
    • Kunci dengan sekrup yang ada menggunakan obeng (+).

    Perhatikan gambar dibawah ini

    memasang motherboard




    6. Cara Memasang Kabel-kabel Komputer


    Setelah semua komponen komponen terpasang, langkah selanjutnya adalah merakit kabel-kabel komputer, baik kabel I/O, kabel hardisk, kabel CD ROM, Kabel power CPU dll. Anda cukup memperhatikan gambar berikut ini untuk panduan Anda memasang kabel-kabel untuk merakit komputer anda.

    Sebaiknya Anda benar-benar memperhatikan langkah yang satu ini, karena ini merupakan salah satu yang paling central dalam merakit komputer, jika kabel yang Anda hubungkan ternyata salah maka akan berakibat fatal. Akan tetapi Anda tidak perlu khawatir berlebihan, setiap kabel sudah disetting sedemikian rupa agar berbeda dengan yang lain, jadi Anda tinggal mencocokkan saja dengan colokannya. Berikut adalah beberapa gambar untuk merakit kabel-kabel komputer.


    cara memasang kabel komputer



    7. Cara Memasang Vga Card


    Untuk langkah ini hanya optional saja, bila tidak memasang device ini juga tidak apa-apa karena dalam motherboard sendiri sudah memiliki vga internal. Berikut cara memasang vga motherborad:

    • Perhatikan slot untuk memasang vga lalu buka penguncinya.
    • Pasangkan vga dengan baik dan benar.
    • Setelah terpasang kuncikan vga dengan kunci yang ada di slot vga.

    Perhatikan gambar dibawah ini


    memasang VGA




    8. Tahap Terakhir Dalam Cara Merakit Komputer


    Kalau semua langkah-langkah merakit komputer sudah selesai, kini tutup dengan casing dan beri sekrup. Hubungkan kabel dari catu daya ke soket dinding dan juga hubungkan konektor monitor ke port video card, konektor kabel keyboard & konektor mouse ke port mouse.

    9. Pemeriksaan Hasil Dalam Merakitan Komputer (PC)


    Setelah merakit komputer selesai, kita lakukan pemeriksaan dan pengetesan hasilnya dengan program BIOS, caranya yaitu :

    • Nyalakan komputer dan monitor, lihat layar monitor dan juga dengarkan suara dari speaker.
    • Nah program Fost dari Bios ini akan otomatis mendeteksi hardware apa saja yg sudah dipasang pada komputr.
    • Lakukan setting untuk nilai dari kapasitas hardisk dan boot sequence.
    • Kalau sudah lalu simpan hasil settingan dan exit dari setup BIOS, maka komputer meload system operasi dngan urutan pencarian yg disesuaikan dengan settingan boot sequence pada Bios.



    10. Solusi Bila Terjadi Masalah Dari Hasil Merakit Komputer



    • Hidupkan komputer, apabila komputer dan monitor tidak hidup, periksa kabel daya pada colokan listrik sudah terhubung apa belum.
    • Apabila waktu dinyalakan, tampilan layar monitor ngeblank / berwarna hitam, pasti ada kesalahan dan apabila pada CPU terdengar bunyi beep, maka betulkan penempatan RAM / memori pada soket.
    • Apabila card adapter tidak terdeteksi, periksa penempatan card adapter sudah pas apa belum keslotnya.
    • Apabila LED dari harddisk atau CD menyala terus, periksa konektornya sudah terhubung apa belum.  
  • 0
    Penjadwalan Prosesor
    Penjadwalan Prosesor - Hallo sobat blogger hari ini saya akan share artikel yang berhubungan dengan sistem operasi windows, dalam artikel ini saya akan menjelaskan materi tentang Penjadwalan Prosesor dari Pengertian Penjadwalan, Strategi Penjadwalan, Aplikasi Task Schelduler untuk penjadwalan sampai Algoritma Penjadwalan. Ok langsung saja yuk kita simak artikel ini samai akhir :)
    Penjadwalan merupakan kumpulan kebijaksanaan 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 berjalan.
    Kriteria yang digunakan untuk mengukur kualitas penjadwalan proses :
    1. Fairness atau pelayanan yang adil untuk semua pekerjaan
    2. Throughput atau memaksimumkan throughput. Throughput adalah jumlah pekerjaan yang dapat diselesaikan dalam satu unit waktu.
    3. Efficiency atau memaksimumkan pemakaian prosesor.
    4. Respone time atau meminimalkan respone time
    5. Meminimalkan Turn arround time. Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke system sampai proses diselesaikan sistem.
    Jangka penjadwalan adalah merupakan interval atau range waktu dimana sistem operasi melalukan. Jangka penjadwalan proses dibedakan menjadi tiga:
    1. Penjadwalan jangka pendek atau short term scheduling / low level scheduling, yaitu mengurus masuknya antrian siap ke prosesor serta antrian siap ke alat peripheral I/O, yang mengurus prioritas dan preempsi.
    2. Penjadwalan jangka medium atau medium term scheduling / intermediate level scheduling, yaitu mengurus terhadap proses yang dikeluarkan dari prosesor yang belum rampung dikerjakan dan melanjutkan pekerjaan proses tersebut di prosesor.
    3. Penjadwalan jangka panjang atau long term scheduling / high level scheduling, yaitu mengurus masuknya pekerjaan baru berupa penentuan pekerjaan baru mana yang boleh diterima dan tugas disini diubah menjadi proses.
    MANAJEMEN MEMORI SISTEM OPERASI
    Manajemen Memori
    Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter.
    Sedangkan 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 masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.




    a. Jenis Memori
    • Memori Kerja
    - ROM/PROM/EPROM/EEPROM
    - RAM
    - Cache memory

    • Memori Dukung
    - Floppy
    - Harddisk
    - CD




    b. Fungsi manajemen memori :
    Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :
    1. Utilitas CPU meningkat.
    2. Data dan instruksi dapat diakses dengan cepat oleh CPU.
    3. Tercapai efisiensi dalam pemakaian memori yang terbatas.
    4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
    5. Mengelola informasi yang dipakai dan tidak dipakai.
    6. Mengalokasikan memori ke proses yang memerlukan.
    7. Mendealokasikan memori dari proses telah selesai.
    8. Mengelola swapping atau paging antara memori utama dan disk.


    1. Isi Memori
    Instruksi eksekusi yang umum, contohnya, pertama mengambil instruksi dari memori. Instruksi dikodekan dan mungkin mengambil operand dari memory. Setelah instruksi dieksekusi pada operand, hasilnya ada yang dikirim kembali ke memory. Sebagai catatan, unit memory hanya merupakan deretan alamat memory; tanpa tahu bagaimana membangkitkan (instruction counter, indexing, indirection, literal address dan lainnya) atau untuk apa (instruksi atau data). Oleh karena itu, kita dapat mengabaikan bagaimana alamat memori dibangkitkan oleh program, yang lebih menarik bagaimana deretan alamat memori dibangkitkan oleh program yang sedang berjalan.

    a. Pengikatan Alamat (Address Binding)
    Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai file yang dapat dieksekusi) dipetakan ke alamat memori. Sebagian besar sistem memperbolehkan sebuah proses user (user process) untuk meletakkan di sembarang tempat dari memori fisik. Sehingga, meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user tidak perlu harus dimulai 00000. Instruksi pengikatan instruksi dan data ke alamat memori dapat dilakukan pada saat :
    o Compile time
    Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan, apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang.
    o Load time
    Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.
    o Execution time
    Pengikatan ditunda sampai waktu eksekusi jika proses dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain.

    b. Dinamic Loading
    Untuk memperoleh utilitas ruang memori, dapat menggunakan dynamic loading. Dengan dynamic loading, sebuah rutin tidak disimpan di memori sampai dipanggil. Semua rutin disimpan pada disk dalam format relocatable load. Mekanisme dari dynamic loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk me-load rutin yg diminta ke memori dan meng-ubah tabel alamat.
    Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load. Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan khusus dari sistem operasi.
    c. Dinamic Linking
    Sebagian besar sistem operasi hanya men-support static linking, dimana sistem library language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader ke dalam binary program image. Dinamic linking biasanya digunakan dengan sistem library, seperti language subroutine library. Tanpa fasilitas ini, semua program pada sistem perlu mempunyai copy dari library language di dalam executable image. Bagaimanapun, tidak seperti dynamic loading, dynamic linking membutuhkan beberapa dukungan dari sistem operasi

    d. Overlay
    Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses, teknik overlay biasanya digunakan untuk kasus ini. Teknik Overlay biasanya digunakan untuk memungkinkan sebuah proses mempunyai jumlah yang lebih besar dari memori fisik daripada alokasi memori yang diperuntukkan. Overlay tidak membutuhkan dukungan khusus dari sistem operasi. User dapat mengimplementasikannya secara lengkap menggunakan struktur file sederhana, membaca dari file ke memori dan meloncat ke memori dan mengeksekusi instruksi read yang lebih baru.


    2. Ruang Alamat Logika Dan Ruang Alamat Fisik
    Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address) dimana alamat terlihat sebagai uni memory yang disebut alamat fisik (physical address). Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik. Hasil skema waktu kompilasi dan waktu pengikatan alamat pada alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi berbeda. dalam hal ini, alamat logika disebut dengan alamat maya (virtual address). Himpunan dari semua alamat logika yang dibangkitkan oleh program disebut dengan ruang alamat logika (logical address space); himpunan dari semua alamat fisik yang berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical address space). Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.

    3. Swapping

    Swapping merupakan pemindahan proses dari memori utama ke disk dan kembali lagi. Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut.

    4. Alokasi Berurutan
    Memori utama biasanya dibagi ke dalam dua partisi yaitu untuk
    o Sistem operasi biasanya diletakkan pada alamat memori rendah dengan vektor interupsi
    o Proses user yang diletakkan pada alamat memori tinggi.
    Alokasi proses user pada memori berupa single partition allocation atau multiple partition allocation.

    a. Single Partition Allocation

    Pada single partition allocation diasumsikan sistem operasi ditempatkan di memori rendah dan proses user dieksekusi di memori tinggi. Kode dan data sistem operasi harus diproteksi dari perubahan tak terduga oleh user proses.

    b. Multiple Partition Allocation

    Pada multiple partition allocation, mengijinkan memori user dialokasikan untuk proses yang berbeda yang berada di antrian input (input queue) yang menunggu dibawa ke memori. Terdapat dua skema yaitu partisi tetap (fixed partition) dimana memori dibagi dalam sejumlah partisi tetap dan setiap partisi berisi tepat satu proses. Jumlah partisi terbatas pada tingkat multiprogramming. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT). Skema yang kedua adalah partisi dinamis (variable partition) merupakan MFT yang digeneralisasi yang disebut Multiprogramming with a Variable number of Tasks (MVT).

    c. Fragmentasi
    Fragmentasi Eksternal terjadi pada situasi dimana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak berurutan. Fragmentasi eksternal dilakukan pada algoritma alokasi dinamis, terutama strategi first-fit dan best-fit. Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih besar dari pada memori yang diminta tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga tidak digunakan.

    5. Paging
    a. Konsep Dasar Paging
    Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame.

    b. Implementasi Sistem Paging
    Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa sistem operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :
    • Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register.
    Register berupa rangkaian logika berkecepatan sangat tinggi untuk efisiensi translasi alamat paging.
    • Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan tabel page akan memungkinkan tabel page sangat besar (sekitar 1 juta entry).
    • Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs). Merupakan solusi standar untuk permasalahan penggunaan memori untuk implementasi tabel page.

    c. Proteksi
    Pada model page, proteksi memori menggunakan bit proteksi yang diasosiasikan untuk setiap frame. Biasanya bit proteksi disimpan pada tabel page. Satu bit mendifinisikan satu page untuk “read and write” atau “read-only”. Setiap acuan ke memori melalui tabel page untuk menemukan nomor frame yang benar. Level proteksi yang lebih baik dapat dicapai dengan menambah jumlah bit yang digunakan.

    d. Multilevel Paging
    Model multilevel paging digunakan pada sistem yang mempunyai ruang alamat logika yang sangat besar yaitu antara 232 s/d 264. Pada sistem ini, tabel page akan menjadi sangat besar. Misalnya untuk sistem dengan ruang alamat logika 32 bit dan ukuran page 4K byte, maka tabel page berisi 1 juta entry (232 / 212). Solusinya yaitu dengan melakukan partisi tabel ke beberapa beberapa bagian yang lebih kecil.

    e. Shared Page
    Pada skema paging, dimungkinkan untuk sharing kode umum. Bentuk ini penting terutama pada lingkungan time sharing. Satu copy read-only dibagi ke beberapa proses (misalnya editor teks, compiler dan sistem window). Kode yang dibagi harus berada pada lokasi ruang alamat logika yang sama untuk semua proses.


    6. Segmentasi

    Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.

    a. Konsep Dasar Segmentasi

    Konsep segmentasi adalah user atau programmer tidak memikirkan sejumlah rutin program yang dipetakan ke main memori sebagai array linier dalam byte tetapi memori dilihat sebagai kumpulan segmen dengan ukuran berbeda-beda, tidak perlu berurutan diantara segment tersebut. Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika seperti program utama, prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan lain-lain
    .
    b. Arsitektur Segmentasi
    Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan .
    Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari :
    o Segmen basis (base) berisi alamat fisik awal
    o Segmen limit merupakan panjang segmen Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi.
    o Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.
    o Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program.
    o Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal (s < STLR), kemudian tambahkan segment number ke STBR, alamat hasil (STBR + s) ke memori dari segment table.

    c. Proteksi dan Sharing
    Proteksi bit dapat diletakkan pada tabel segmen. Segmen instruksi dapat diproteksi sebagai segmen read-only atau execute only, segmen data dapat diproteksi sebagai segmen read-write. Pemetaan pada perangkat keras memory akan memeriksa bit proteksi untuk mencegah akses yang illegal.
    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) :
    1.  
      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.
    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
    1. c. Terdapat 3 teknik pemrograman, yaitu :
    2. 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 :
    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.
    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.
    1. 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 : - http://mata-cyber.blogspot.co.id/2014/11/penjadwalan-prosesor-strategi-dan-algoritma-     penjadwalan.html
                   -  http://tugasso.blog.com/menejemen-memori/
                   -  http://tugasso.blog.com/manajemen-io/

    pengertian strategi algoritma penjadwalanPenjadwalan Prosesor
    Penjadwalan Prosesor - Hallo sobat blogger hari ini saya akan share artikel yang berhubungan dengan sistem operasi windows, dalam artikel ini saya akan menjelaskan materi tentang Penjadwalan Prosesor dari Pengertian Penjadwalan, Strategi Penjadwalan, Aplikasi Task Schelduler untuk penjadwalan sampai Algoritma Penjadwalan. Ok langsung saja yuk kita simak artikel ini samai akhir :)
    Penjadwalan merupakan kumpulan kebijaksanaan 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 berjalan.
    Kriteria yang digunakan untuk mengukur kualitas penjadwalan proses :
    1. Fairness atau pelayanan yang adil untuk semua pekerjaan
    2. Throughput atau memaksimumkan throughput. Throughput adalah jumlah pekerjaan yang dapat diselesaikan dalam satu unit waktu.
    3. Efficiency atau memaksimumkan pemakaian prosesor.
    4. Respone time atau meminimalkan respone time
    5. Meminimalkan Turn arround time. Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke system sampai proses diselesaikan sistem.
    Jangka penjadwalan adalah merupakan interval atau range waktu dimana sistem operasi melalukan. Jangka penjadwalan proses dibedakan menjadi tiga:
    1. Penjadwalan jangka pendek atau short term scheduling / low level scheduling, yaitu mengurus masuknya antrian siap ke prosesor serta antrian siap ke alat peripheral I/O, yang mengurus prioritas dan preempsi.
    2. Penjadwalan jangka medium atau medium term scheduling / intermediate level scheduling, yaitu mengurus terhadap proses yang dikeluarkan dari prosesor yang belum rampung dikerjakan dan melanjutkan pekerjaan proses tersebut di prosesor.
    3. Penjadwalan jangka panjang atau long term scheduling / high level scheduling, yaitu mengurus masuknya pekerjaan baru berupa penentuan pekerjaan baru mana yang boleh diterima dan tugas disini diubah menjadi proses.
    MANAJEMEN MEMORI SISTEM OPERASI
    Manajemen Memori
    Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter.
    Sedangkan 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 masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.




    a. Jenis Memori
    • Memori Kerja
    - ROM/PROM/EPROM/EEPROM
    - RAM
    - Cache memory

    • Memori Dukung
    - Floppy
    - Harddisk
    - CD




    b. Fungsi manajemen memori :
    Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :
    1. Utilitas CPU meningkat.
    2. Data dan instruksi dapat diakses dengan cepat oleh CPU.
    3. Tercapai efisiensi dalam pemakaian memori yang terbatas.
    4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
    5. Mengelola informasi yang dipakai dan tidak dipakai.
    6. Mengalokasikan memori ke proses yang memerlukan.
    7. Mendealokasikan memori dari proses telah selesai.
    8. Mengelola swapping atau paging antara memori utama dan disk.


    1. Isi Memori
    Instruksi eksekusi yang umum, contohnya, pertama mengambil instruksi dari memori. Instruksi dikodekan dan mungkin mengambil operand dari memory. Setelah instruksi dieksekusi pada operand, hasilnya ada yang dikirim kembali ke memory. Sebagai catatan, unit memory hanya merupakan deretan alamat memory; tanpa tahu bagaimana membangkitkan (instruction counter, indexing, indirection, literal address dan lainnya) atau untuk apa (instruksi atau data). Oleh karena itu, kita dapat mengabaikan bagaimana alamat memori dibangkitkan oleh program, yang lebih menarik bagaimana deretan alamat memori dibangkitkan oleh program yang sedang berjalan.

    a. Pengikatan Alamat (Address Binding)
    Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai file yang dapat dieksekusi) dipetakan ke alamat memori. Sebagian besar sistem memperbolehkan sebuah proses user (user process) untuk meletakkan di sembarang tempat dari memori fisik. Sehingga, meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user tidak perlu harus dimulai 00000. Instruksi pengikatan instruksi dan data ke alamat memori dapat dilakukan pada saat :
    o Compile time
    Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan, apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang.
    o Load time
    Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.
    o Execution time
    Pengikatan ditunda sampai waktu eksekusi jika proses dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain.

    b. Dinamic Loading
    Untuk memperoleh utilitas ruang memori, dapat menggunakan dynamic loading. Dengan dynamic loading, sebuah rutin tidak disimpan di memori sampai dipanggil. Semua rutin disimpan pada disk dalam format relocatable load. Mekanisme dari dynamic loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk me-load rutin yg diminta ke memori dan meng-ubah tabel alamat.
    Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load. Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan khusus dari sistem operasi.
    c. Dinamic Linking
    Sebagian besar sistem operasi hanya men-support static linking, dimana sistem library language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader ke dalam binary program image. Dinamic linking biasanya digunakan dengan sistem library, seperti language subroutine library. Tanpa fasilitas ini, semua program pada sistem perlu mempunyai copy dari library language di dalam executable image. Bagaimanapun, tidak seperti dynamic loading, dynamic linking membutuhkan beberapa dukungan dari sistem operasi

    d. Overlay
    Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses, teknik overlay biasanya digunakan untuk kasus ini. Teknik Overlay biasanya digunakan untuk memungkinkan sebuah proses mempunyai jumlah yang lebih besar dari memori fisik daripada alokasi memori yang diperuntukkan. Overlay tidak membutuhkan dukungan khusus dari sistem operasi. User dapat mengimplementasikannya secara lengkap menggunakan struktur file sederhana, membaca dari file ke memori dan meloncat ke memori dan mengeksekusi instruksi read yang lebih baru.


    2. Ruang Alamat Logika Dan Ruang Alamat Fisik
    Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address) dimana alamat terlihat sebagai uni memory yang disebut alamat fisik (physical address). Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik. Hasil skema waktu kompilasi dan waktu pengikatan alamat pada alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi berbeda. dalam hal ini, alamat logika disebut dengan alamat maya (virtual address). Himpunan dari semua alamat logika yang dibangkitkan oleh program disebut dengan ruang alamat logika (logical address space); himpunan dari semua alamat fisik yang berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical address space). Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.

    3. Swapping

    Swapping merupakan pemindahan proses dari memori utama ke disk dan kembali lagi. Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut.

    4. Alokasi Berurutan
    Memori utama biasanya dibagi ke dalam dua partisi yaitu untuk
    o Sistem operasi biasanya diletakkan pada alamat memori rendah dengan vektor interupsi
    o Proses user yang diletakkan pada alamat memori tinggi.
    Alokasi proses user pada memori berupa single partition allocation atau multiple partition allocation.

    a. Single Partition Allocation

    Pada single partition allocation diasumsikan sistem operasi ditempatkan di memori rendah dan proses user dieksekusi di memori tinggi. Kode dan data sistem operasi harus diproteksi dari perubahan tak terduga oleh user proses.

    b. Multiple Partition Allocation

    Pada multiple partition allocation, mengijinkan memori user dialokasikan untuk proses yang berbeda yang berada di antrian input (input queue) yang menunggu dibawa ke memori. Terdapat dua skema yaitu partisi tetap (fixed partition) dimana memori dibagi dalam sejumlah partisi tetap dan setiap partisi berisi tepat satu proses. Jumlah partisi terbatas pada tingkat multiprogramming. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT). Skema yang kedua adalah partisi dinamis (variable partition) merupakan MFT yang digeneralisasi yang disebut Multiprogramming with a Variable number of Tasks (MVT).

    c. Fragmentasi
    Fragmentasi Eksternal terjadi pada situasi dimana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak berurutan. Fragmentasi eksternal dilakukan pada algoritma alokasi dinamis, terutama strategi first-fit dan best-fit. Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih besar dari pada memori yang diminta tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga tidak digunakan.

    5. Paging
    a. Konsep Dasar Paging
    Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame.

    b. Implementasi Sistem Paging
    Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa sistem operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :
    • Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register.
    Register berupa rangkaian logika berkecepatan sangat tinggi untuk efisiensi translasi alamat paging.
    • Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan tabel page akan memungkinkan tabel page sangat besar (sekitar 1 juta entry).
    • Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs). Merupakan solusi standar untuk permasalahan penggunaan memori untuk implementasi tabel page.

    c. Proteksi
    Pada model page, proteksi memori menggunakan bit proteksi yang diasosiasikan untuk setiap frame. Biasanya bit proteksi disimpan pada tabel page. Satu bit mendifinisikan satu page untuk “read and write” atau “read-only”. Setiap acuan ke memori melalui tabel page untuk menemukan nomor frame yang benar. Level proteksi yang lebih baik dapat dicapai dengan menambah jumlah bit yang digunakan.

    d. Multilevel Paging
    Model multilevel paging digunakan pada sistem yang mempunyai ruang alamat logika yang sangat besar yaitu antara 232 s/d 264. Pada sistem ini, tabel page akan menjadi sangat besar. Misalnya untuk sistem dengan ruang alamat logika 32 bit dan ukuran page 4K byte, maka tabel page berisi 1 juta entry (232 / 212). Solusinya yaitu dengan melakukan partisi tabel ke beberapa beberapa bagian yang lebih kecil.

    e. Shared Page
    Pada skema paging, dimungkinkan untuk sharing kode umum. Bentuk ini penting terutama pada lingkungan time sharing. Satu copy read-only dibagi ke beberapa proses (misalnya editor teks, compiler dan sistem window). Kode yang dibagi harus berada pada lokasi ruang alamat logika yang sama untuk semua proses.


    6. Segmentasi

    Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.

    a. Konsep Dasar Segmentasi

    Konsep segmentasi adalah user atau programmer tidak memikirkan sejumlah rutin program yang dipetakan ke main memori sebagai array linier dalam byte tetapi memori dilihat sebagai kumpulan segmen dengan ukuran berbeda-beda, tidak perlu berurutan diantara segment tersebut. Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika seperti program utama, prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan lain-lain
    .
    b. Arsitektur Segmentasi
    Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan .
    Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari :
    o Segmen basis (base) berisi alamat fisik awal
    o Segmen limit merupakan panjang segmen Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi.
    o Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.
    o Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program.
    o Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal (s < STLR), kemudian tambahkan segment number ke STBR, alamat hasil (STBR + s) ke memori dari segment table.

    c. Proteksi dan Sharing
    Proteksi bit dapat diletakkan pada tabel segmen. Segmen instruksi dapat diproteksi sebagai segmen read-only atau execute only, segmen data dapat diproteksi sebagai segmen read-write. Pemetaan pada perangkat keras memory akan memeriksa bit proteksi untuk mencegah akses yang illegal.
    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) :
    1.  
      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.
    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
    1. c. Terdapat 3 teknik pemrograman, yaitu :
    2. 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 :
    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.
    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.
    1. 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 : sistemoperasiivan.blogspot.com

  • Copyright © - Siti rahmah silviana

    Siti rahmah silviana - Powered by Blogger - Designed by Johanes Djogan