Mahasiswa STTI NIIT I-TECH peserta matakuliah Komputer dan Masyarakat, Semester Ekstensif Tahun Akademik 2008/2009, harus membuat blog dengan ketentuan sebagai berikut:
Membuat sebuah blog yang dilengkapi : shoutbox, visitor counters, link ke site I-Tech (http://www.i-tech.ac.id) dan link ke blog IT-Society (http://it-society.blogspot.com).
Tugas-tugas matakuliah ditulis di blog tersebut.
Informasikan url dan nama blog anda ke : shoutbox di blog ini
Blog agar dipublikasikan agar mendapatkan banyak pengunjung
Penilaian meliputi : bobot isi tulisan (originalitas, kesesuaian, keluasan dan kedalaman), tingkat kunjungan pada blog dan respons/coments visitors terhadap tulisan.
Link terhadap blog anda akan ditambahkan dalam daftar mahasiswa ITech.
Daftar Tugas Tulisan
Tugas I : sebanyak 6 topik, dan harus sudah dipublikasi sebelum 5 Oktober 2009
Kemana setelah menjadi sarjana IT? (harapan/cita-cita/rencana)
Membuat paparan tentang perkiraan perkembangan IT dimasa depan (dari sudut pandang mahasiswa IT/komputer)
Pendapat/paparan/penilaian tentang profesional IT
Penilaian kritis anda sebagai mahasiswa IT tentang keberadaan LSP Telematika
Fraud (kecurangan) dalam dunia IT
Pilihlah 5 istilah populer dalam IT dan berikan paparan
Tugas II : 4 topik dan harus dipublikasi sebelum 30 Oktober 2009
Kasus IT yang menarik seperti : ( IT Pemilu, masalah Hak Cipta dan Pembajakan, keberadaan software free ware, keberadaan google apps atau sejenisnya, outsourcing pengolahan data, dan sebagainya)
Ulasan/pendapat tentang Sistem Informasi Nasional
Andaikan oleh Presiden terpilih 2009 anda diberi tanggung jawab untuk membenahi Sistem Informasi Nasional, dan negara menyediakan anggaran awal 1 triliyun : apa yang akan anda lakukan
BELUM ADA BLOG ATAU BELUM LAPOR : 1. Djka Aditya 2. Adi Bramanto 3. M. Stern Hecransa 4.Hasnatun Fauziah 5.Akbar Fauzian 6.Fika Purnamasari 7.Woro Chandra Novita 8.-------------- 9.Nico Fernando 10.Sapto Hadie N 11.Pande Putu I.P.
Agar segera melaporkan url blognya melalui shoutbox blog ini
Dalam ruang lingkup ini, masalah yang akan diangkat adalah bagaimana meminimalisasi rentang waktu atau respon pada interprocess yang terjadi di dalam internal kernel OS. Maka dari itu dalam hal ini para peneliti menggunakan suatu teknologi sistem operasi yang disebut RTOS (Real-Time Operating System). Modifikasi RTOS Atalanta di atas menjadi 3 wujud yaitu:
a.Software RTOS Atalanta, yaitu sistem operasi berupa software murni RTOS, seperti pada software sistem operasi pada umumnya, yang berupa sekumpulan instruksi-instruksi yang berada di dalam kernelnya.
b.Hardware RTU RTOS Atalanta, yaitu sistem operasi berupa chip RTU (Real-Time Unit), dengan cara mengubah sekumpulan modul-modul dalam sistem operasi menjadi Logic Gates dalam chip RTU. Beberapa modul-modul dalam sistem operasi yang diubah menjadi unit fungsional dalam chip RTU seperti Scheduler unit, MsgQLib (Message Queue Library), RTC (Real-Time Control), IRQ (Intellegent Interrupt Handler) dan Accelerator Interface. Kemudian interface dalam internal chip RTU yaitu GBI (Generic Bus Interface) dan interface yang menghubungkan chip RTU dengan Eksternal Bus.
c.Hardware/software SoCLC (System-on-a-chip Lock Cache) Atalanta, yaitu sistem operasi yang sebagian modul-modul dari kernel diubah menjadi chip dan sebagian lagi berupa software. Modul-modul yang diubah menjadi hardware adalah modul-modul yang menangani rutin-rutin instruksi permanen yang tidak perlu adanya perubahan terhadap modul itu, seperti instruksi-instruksi dalam penanganan Mutex (Mutual Exclusion) yaitu semaphore. Selebihnya yaitu sebagian modul-modul yang kemungkinan masih mengalami perubahan-perubahan untuk pemutakhiran sistem operasi. Sebagian berupa hardware (Lock Unit, yang terdiri dari beberapa processor dan Lock Variable), kemudian bagian yang berupa software yaitu Decoder dan Control Logic.
Dalam software RTOS murni seperti halnya sistem operasi pada umumnya, terdapat tiga lapisan yang saling terintegrasi, yaitu lapisan paling atas (application layer) yaitu untuk menangani layanan-layanan proses aplikasi end user, kemudian lapisan kedua adalah internal dari sistem operasi itu sendiri atau disebut kernel (kernel layer), yang merupakan rutin-rutin dasar dari sebuah sistem operasi untuk menangani penjadwalan seperti semaphore, dan lapisan yang ketiga untuk menangani komunikasi sistem operasi terhadap hardware (hardware layer).
Skema di atas adalah struktur dari sebuah software sistem operasi murni, terlihat dalam menangani sebuah request dari aplikasi user, sistem operasi harus melalui 3 tahapan seperti di atas, sehingga membutuhkan waktu tanggap yang cukup besar.
Berbeda dengan sistem SoCLC yang sebagian modul-modul dari sistem operasi ada yang diubah menjadi hardware (chip) dan yang sebagian lagi menjadi software.
Dapat terlihat pada skema di atas, bahwa sistem SoCLC membagi dua internal kernel sistem operasinya, sebagian tetap berupa software, sebagian lagi diubah menjadi hardware yang diinterasikan pada chip. Hal ini dilakukan untuk memperingan tugas sistem operasi dalam melayani request-request dari aplikasi dengan membagi dua job-job yang diterima. Sedangkan untuk sistem hardware RTU, yaitu dengan merubah instruksi-instruksi dalam sistem operasi menjadi logic-logic dalam sebuah chip.
Seperti gambar di atas, dengan struktur sistem operasi seperti itu maka dapat memperkecil waktu tanggap karena sistem operasi dapat memperkecil angka siklus dalam melayani permintaan dari aplikasi, karena kernel sistem operasi itu sendiri langsung diintegrasikan ke dalam hardware.
Kesimpulan :
a.Sistem RTU memang dapat menghasilkan performa yang cukup baik, namun apabila dibutuhkan suatu perubahan terhadap instruksi-instruksi atau variabel-variabel dala sistem operasi maka, pengguna harus membongkar chip RTU untuk merubah logic-logic dalam chip dan membuat sistem yang baru, dengan kata lain dalam hal konfigurasi ulang sangatlah sulit dan untuk sistem RTU dinilai kurang efisien.
b.Sistem software RTOS murni, di sisi lain memang sangat mudah untuk mengkonfigurasi ulang sistem, namun dapat dibuktikan juga mengenai performance sistem yang buruk.
c.Sistem SoCLC, memang apabila dibandingkan dengan performa sistem RTU tidaklah lebih baik, namun dilihat dari kekurangan RTU itu sendiri, SoCLC diciptakan untuk mengatasi masalah itu. Dengan membuat modul-modul sistem operasi menjadi software, yaitu modul-modul sewaktu-waktu membutuhkan konfigurasi ulang, selebihnya adalah modul-modul yang mengandung rutin-rutin penjadwalan seperti semaphore, di mana modul-modul seperti itu sangat jarang sekali mengalami suatu perubahan, maka diubahlah menjadi suatu logic pada unit hardware.
Sebuah perangkat lunak yang menggantikan fungsi dari Memory Management Unit (MMU) yang ditanamkan di OS (embedded system). Perangkat lunak ini disebut Virtual Memory Management (VMM) atau dikenal dengan nama “VM Assembler”. Tugas dari VM Assembler adalah mengkonversi kode assembly menjadi binary dan memetakannya pada VM library, kemudian menterjemahkan alamat – alamat yang di panggil untuk di proses di memori fisik.
Aplikasi VMM ini mendukung : • Transparan untuk semua programmer • Dapat dijalankan pada aplikasi khusus • Menyempurnakan konstruksi • Serba otomatis
Selain bisa memberikan tampilan ukuran memori yang besar kepada programmer, VMM juga mnyediakan skema keamanan, multitasking, dan pembagian alokasi memori yang adil. Percobaan sudah dilakukan dan berjalan dengan baik pada prosessor MIPS dengan compiler MIPS GCC yang dijalankan oleh VM Assembler.
Secara umum proses yang terjadi pada percobaan di mesin MIPS adalah sbb :
Dari Library alamat yang sudah diterjemahkan termasuk header file, bersama dengan parameter ukuran page dan ram, dan aplikasi, dimasukkan dalam compiler MIPS GCC
Setelah di compile di MIPS GCC hasilnya diterjemahkan di VM Assembler yang kemudian menghasilkan binary
Binary inilah yang kemudian akan di baca dan di proses di mesin prossesor MIPS dan memori fisik
Ada 3 pendekatan yang bisa dilakukan dalam menggantikan fungsi MMU oleh software VMM, yaitu : 1. Pure Virtual Memory Pada pendekatan ini semua alamat yang dibutuhkan oleh proses akan di kirim dari Virtual Memori ke Memori fisik. Pada kasus ini jika halaman/page di memori fisik penuh, sedangkan ada alamat yang akan masuk yang dibutuhkan oleh proses, maka VM Assembler akan mencarikan page yang berisi alamat yang menunggu untuk di proses tetapi masih menunggu alamat yang lainnya, alamat ini akan dipindahkan sementara ke secondary storage, dan page yang kosong tersebut di isi oleh alamat yang dibutuhkan oleh proses, jika proses kemudian membutuhkan alamat yang tadi dipindahkan ke secondary storage, maka VM Assembler akan memanggil kembali alamat tersebut dan mencarikan kembali page yang kosong. 2. Fixed Address Virtual Memory Pada pendekatan yang kedua ini, alamat-alamat yang berada pada virtual memori dibagi-bagi berdasarkan region, misalnya VM dibagi menjadi 3 region, maka memori fisik juga di bagi menjadi 3 region. Pengiriman dan pemanggilan alamat disesuaikan dengan sesama nomor region, misalnya region 1 di VM hanya bisa mengakses page pada region 1 di memori fisik. Dengan adanya pembagian perkelompok/region ini maka tugas VM Assembler menjadi lebih ringan dalam menterjemahkan alamat yang dibutuhkan oleh proses di memori fisik. 3. Selective Virtual Memory Pada pendekatan ini secara prinsip hampir sama dengan Fixed Address tVirtual Memory, yaitu pembagian wilayah/region, tetapi di sini lebih di permudah dengan mengalokasikan page pada memori fisik untuk alamat-alamat yang sering di minta oleh proses. Page yang berisi alamat – alamat yang sering di akses ini di buat tetap dan tidak untuk di swap out. Jadi dengan penetapan page untuk alamat – alamat khusus ini maka proses terjemahan yang dilakukan oleh VM Assembler dari Virtual Memory ke Memori fisik menjadi lebih sedikit, sehingga hal ini akan mengoptimalkan proses karena menurunnya proses terjemahan oleh VM Assembler.
KESIMPULAN
Virtual Memory Management (VMM) yang disampaikan di sini menggunakan VM Assembler dan VM Library. Pada presentasi di atas pendekatannya adalah dengan memberikan tampilan memori yang besar kepada Programmer, bisa dijalankan pada aplikasi khusus, sangat kuat, otomatis, dan berjalan dengan menyesuaikan 2 parameter konfigurasi yaitu RAM size dan Page size. Tetapi pada waktu eksperimen VMM, digunakan konfigurasi yang berbeda pada mesin powerstone dengan aplikasi drawn, hasilnya adalah sebuah konfigurasi yang ideal untuk sebuah system Memori Virtual yang bergantung pada aplikasi. Eksperimen ini terbukti bisa dijalankan oleh system VMM. Recana kerja kedepan adalah memfokuskan pada optimalisasi terjemahan dari Virtual Memori ke Memori Fisik yang dapat mengutamakan pada penurunan perputaran waktu eksekusi. Rencana kedepannya juga akan fokus pada teknik penambahan cache seperti skema asosiatif.
Isi dari jurnal : sebuah software virtual memory management yang akan menggantikan memory management unit (MMU/berupa hardware), pada MMU-less embedded system.
1. Embedded Systems adalah suatu sistem khusus yang dirancang untuk melakukan satu atau beberapa fungsi khusus, dan biasanya sudah menjadi satu bagian dari perangkat yang lengkap, termasuk perangkat keras dan bagian mekanis. Karena embedded system didedikasikan untuk tugas-tugas tertentu maka dapat memberi keuntungan dari segi produksi seperti optimalisasi desain, mengurangi ukuran dan biaya produk, atau meningkatkan kinerja dan kehandalan. Salah satu contoh dari embedded system adalah seperti jam digital, MP3 player, kamera digital, dan lain sebagainya.
2. MMU biasanya membagi Virtual Address Space (rentang alamat yang digunakan oleh prosesor) ke beberapa pages (halaman), yang masing-masing memiliki ukuran beberapa kilobyte. Penerjemahan alamat tersebut biasanya melalui cache yang disebut Translation Lookaside Buffer (TLB). TLB juga mencakup informasi tentang apakah pages telah ditulisi, kapan terakhir pages digunakan, dan proses seperti apakah yang menulisi dan membaca pages (user mode atau supervisor mode). Terkadang TLB melarang akses ke virtual pages, mungkin dikarenakan tidak ada memori fisik yang dialokasikan ke virtual pages. Jika tidak ada memori fisik yang kosong maka akan dilakukan algoritma penggantian, dan disimpan ke disk (secondary storage). Algoritma penggantian tersebut disebut paging. Dalam beberapa desain awal microprocessor, management memory dilakukan oleh sebuah Integrated Circuit (IC) yang terpisah. Tetapi pada zaman Intel 80286 sudah menjadi satu.
3. Software Virtual Memory Management adalah sebuah perangkat lunak komputer yang bertanggung jawab untuk menangani akses ke memori yang diminta oleh Central Processing Unit (CPU). Pada Software Virtual Memory Management ini terdapat 3 (tiga) pendekatan yang ditawarkan untuk menangani akses ke memori yang diminta oleh CPU.
Pure Virtual Memory Cara kerjanya sama dengan cara kerja sistem memori management yang berupa perangkat keras (hardware), yaitu MMU. Jadi setiap akses memori yang diterjemahkan dari alamat virtual memori ke alamat fisik memori dilakukan selama runtime.
Fixed Virtual Memory Sebagian wilayah memori ditandai dulu sebagai virtual memori. Setiap ada akses ke wilayah memori yang ditandai akan langsung diterjemahkan. Tetapi untuk menerapkan fixed virtual memory ini diperlukan vm-assembler yang akan memberi tahu kalau wilayah memori yang akan diakses adalah virtual memori.
Selective Virtual Memory Cara kerja mirip dengan fixed virtual memory yang akan melakukan pemeriksaan apakah alamat memori yang dituju adalah virtual memori atau bukan dengan bantuan vm-assembler. Pada selective virtual memory, pemeriksaan melalu vm-assembler akan dihindari. Dimana untuk itu setiap ada akses ke memori akan dijelaskan melalui deklarasi variable apakah virtual memori atau bukan.
Setelah dilakukan perbandingan antara pure VM, fixed VM, dan selective VM. Didapatkan data perbandingan yang menyatakan bahwa, perbedaan siklus proses yang dilakukan dengan menggunakan pure VM dan Fixed VM hampir tidak jauh berbeda. Tetapi dengan selective VM, akan didapatkan perbedaan siklus proses. Dimana siklus proses yang mengunakan selective VM lebih kecil dibandingkan menggunakan pure VM dan fixed VM.
Tiga pendekatan virtual memori pada system yang tidak menggunkan MMU ( Memory Management Unit ) :
Virtual Memory Murni Pada pendekatan ini data yang belum memiliki virtual address dapat memperolehnya dengan cara jika ada proses yang sudah memiliki virtual address tetapi belum mendapatkan physical address dapat dipindahkan ter;ebih dahulu ke extended area. Sehingga data yang tadinya tidak memiliki virtual address sudah dapat menempati tempat tersebut. Karena letak alamat yang tidak beraturan maka akan lebih banyak dilakukan pengecekan data agar dapat diketahui mana saja virtual address dan physical address yang sudah terisi. VM yang telah ditentukkan Pada pendekatan ini data yang akan masuk ke virtual address sudah di tentukan sehingga tempat di physical address juga sudah ditentuka. Misalnya, virtual address yang sudah disiapkan untuk data adalah 1 s/d 5, yang artinya data boleh dimasukan ke alamat antara 1 sampai dengan 5 yang nantinya akan menempati physical address 1.
VM Selektif Pendekatan ini lebih mirip dengan pendekatan sebelumnya. Letak perbedaannya pada letak data pada virtual address dan physical address yang sudah teratur. Misalnya, jika data sudah memiliki virtual address 1 maka letak physical addressnya pun sudah pasti 1. Perbedaan lainnya adalah adanya pengecekkan routine tambahan dimana hanya struktur data yang berukuran besar saja yang di cek routine-nya sedangkan untuk struktur data yang berukuran kecil akan langsung masuk ke physical address
Pada perancangan sistem embedded, microcontroller telah berperanan penting dalam meningkatkan kecepatan dan penerapan aplikasi data. Dari sisi memory, terdapat kebutuhan yang sama untuk melakukan proses running yang lebih besar. Hal ini biasanya dilakukan oleh MMU (Memory Management Unit) dimana MMU merupakan perangkat keras berupa chip khusus yang berfungsi untuk memetakan dari alamat virtual ke alamat fisik.
Memory Virtual merupakan sebuah skema yang menyediakan untuk layer software berupa sebuah ilusi tentang ruang alamat memory yang sangat besar. Ide dasar dibalik skema memori virtual adalah bahwa compiler bisa menghasilkan kode dengan operasi memori (Write/Save) untuk sebuah ruang alamat virtual. Sebuah alamat virtual, menghasilkan kode keluaran dari prosesor pada waktu runtime kemudian diterjemahkan menjadi alamat fisik yang valid. Disini akan dibahas mengenai perangkat lunak tentang menejemen memori virtual untuk system embedded tanpa MMU (MMU-less). Tujuan pendekatannya adalah untuk menjelaskan kepada programmer dengan sebuah abstraksi memory virtual dengan sedikit modifikasi yang dibutuhkan untuk memogramnya. Perangkat lunak yang digunakan disini adalah vm-assembler dan library vitual memory.
Dalam table berikut adalah pendekatan yang dapakai untuk menyediakan memory virtual:
Dari ketiga pendekatan tersebut, kita bisa bandingkan bahwa pendekatan Memory Virtual Selektif adalah yang paling efektif untuk dilakukan. Dari semua itu bisa kita tarik kesimpulan bahwa memory virtual bisa diterapkan untuk Sistem Embedded tanpa MMU (MMU-less).