Pages

Kamis, 18 Desember 2014

Paging & Segmentasi

Penggunaan partisi entah secara fixed-size ataupun variable-size sebenarnya tidak efisien dalam penggunaan memory;

Seandainya memori di partisi menjadi beberapa bagian dg ukuran yg sama besar, kemudian tiap proses dibagi ke dalam ukuran yg sama dg ukuran memori yg dibagi tadi. Proses yg dibagi itu, disebut pages, bisa ditempatkan di bagian memori yg terbagi tadi, yg disebut frames, atau page frames




Dalam me-maintain memory, Sistem Operasi memilike page table utk setiap cache. Page table menyediakan informasi tentang lokasi frame utk tiap page-nya proses.

Segmentasi
Segmentasi merupakan skema manajemen memori yang mendukung cara pandang seorang programmer terhadap memori. Ruang alamat logika merupakan sekumpulan dari segmen-segmen.Masing-masing segment mempunyai panjang dan nama. Alamat diartikan sebagai nama segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin menunjuk sebuah alamat dapat dilakukan dengan menunjuk nama segmen dan offsetnya. Untuk lebih menyederhanakan
implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti nama segment.
Sehingga, alamat logika terdiri dari dua tupple: [segment-number, offset]. 

Memory Virtual

Beberapa sistem operasi memerlukan yang namanya virtual memory. Layaknya Linux yang membutuhkan swap, microsoft windows vista ataupun XP pun membutuhkan yang namanya virtual memory. Pengertian dari Virtual memory itu sendiri yakni memori sementara yang digunakan komputer untuk menjalankan berbagai program aplikasi ataupun menyimpan data yang membutuhkan memory yang lebih besar dari memory yang telah tersedia ( Memory fisik seperti RAM, baca disini untuk lebih lengkap ). Program ataupun data yang tidak muat dimasukan pada memory asli ( RAM ), akan disimpan ke dalam sebuah Pagging File. Pengertian Pagging fileialah data yang hanya disimpan sementara atau bisa disebut swap. Pada sistem operasi linux kita diharuskan untuk membuat dua partisi utama yaitu untuk system dan untuk swap. Virtual Memory ini Berbeda halnya dengan Memory fisik seperti RAM, karena ram merupakan komponen yang termasuk kedalam golongan hardware. Walapun dalam kenyatannya Virtual Memory ini disimpan di harddisk, tetapi kerjannya itu tidak tampak, artinya berjalan secara software namun disimpan dihardware. Data yang disimpan ini tidak dapat bertahan lama, dalam artian hanya saat di gunakan saja. Dan bila komputer dimatikan, data data yang tadinya ada di virtual memory akan hilang. Jadi Fungsi Virtual Memory ialah untuk mengoptimalkan kinerja dari komputer, dengan tambahan memory, maka kemungkinan terjadi crash sangat kecil sekali. Ukuran dari paging file biasanya berbeda - beda, kalau ukuran paging file linuxialah 2 kali lipat dari memory aslinya. Misalkan kita memakai memory berkapasitas 512 MB, maka ukuran paging filenya yaitu 1 GB. Walaupun tidak harus 2 GB, tapi untuk memaksimalkan kinerja maka sebaiknya 2 kali lipatnya. Dan untuk Ukuran Paging file Di windows XP dan Vista Yaitu 1,5 kali dari kapasitas aslinya. Misalkan kita menggunakan memory sebesar 1 GB, maka paging filenya sebesar 1,5 GB. Dalam Xp maupun Vista paging file ini dinamai dengan pagefile.sys bila anda ingin mencarinya, pasti tidak akan ketemu, karena file ini disembunyikan atau hidden files.

Kamis, 11 Desember 2014

Manajemen memori

Sebelum kita bicara tentang memori ada baiknya kita flashback sebentar. masih ingat dengan uniprogramming dan multiprogramming? apa perbedaannya?

Pada Uniprogramming hanya satu job yang diproses pada satu waktu dan semua resource sistem tersedia secara eksklusif sampai job terselesaikan, ini berarti memori dibagi jadi 2, untuk Kernel/OS dan program yang sedang dieksekusi. Untuk lebih jelasnya perhatikan ilustrasi berikut






Sedangkan di multiprogramming dimana beberapa job disimpan dalam memori dalam satu waktu; maka memori harus dibagi untuk setiap program yang ingin berjalan. Untuk lebih jelasnya perhatikan 





ada 5 hal yang harus diperhatikan dalam manajemen memori, yaitu:


1. Relokasi.
Adalah masalah penempatan proses sesuai alamat fisik sehubungan alamat partisi memori dimana proses ditempatkan. Proses dapat ditempatkan pada  partisi-partisi berbeda menurut keadaan sistem saat itu. Pengalamatan  fisik secara absolut untuk proses tidak dapat dilakukan.


2. Proteksi
OS yang bagus harus bisa memproteksi memori agar tidak sembarang program bisa mengakses alamat memori yang mungkin sedang digunakan oleh program lain. Hal ini bertujuan untuk menghindari race condition


3. Sharing
Meskipun memori untuk proses yang berbeda biasanya dilindungi dari satu sama lain, kadang-kadang perlu proses yang berbeda untuk dapat berbagi informasi dan akses yang sama karena itu bagian dari memori. Shared memory adalah salah satu teknik tercepat untuk Inter-proses komunikasi.

4. Logical Organization
Program sering diatur dalam modul. Beberapa modul ini dapat dibagi antara program yang berbeda, ada yang hanya membaca dan beberapa berisi data yang dapat diubah. Manajemen memori bertanggung jawab untuk menangani pengaturan alamat logika yang berbeda dari fisik ruang alamat linier. Salah satu cara untuk mengatur organisasi ini adalah segmentasi.

5. Physical Organization
 Memori biasanya dibagi menjadi cepat dan lambat penyimpanan utama penyimpanan sekunder. Memori manajemen pada sistem operasi bergerak menangani informasi antara kedua tingkat memori.


Memory Partion
Prinsip utama pada memory partition adalah membawa proses sebanyak2nya ke main memory agar dapat dieksekusi oleh prosesor

ada dua jenis partition, Fixed dan Dynamic

Fixed Partitioning

memori dibagi dalam sejumlahpartisi tetap dan setiap partisi berisi tepat satu proses. Jumlahpartisi terbatas pada tingkat multiprogramming. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT)

Dynamic Partitioning

MFT yang digeneralisasiyang disebut Multiprogramming with a Variable number of Tasks (MVT). Skema ini digunakan terutama pada lingkungan batch.


Rabu, 03 Desember 2014

FUSE?

FUSE merupakan singkatan dari Filesystem in Userspace. merupakan  mekanisme sistem operasi berbasis Unix yg mengijinkan non-privileged user membuat filesystem mereka sendiri tanpa perlu merubah kode kernel.  Hal ini bisa didapatkan dengan menjalankan kode filesystem pada userspace dimana FUSE hanya menyediakan "jembatan" ke interface kernel yg sebenarnya

Kegunaan FUSE:
1.  Dalam sebuah system file modern haruslah mampu mengimplementasikan berbagai berkas system yang berbeda dalam waktu yang bersamaan. Salah satu teknik untuk mengantisipasi hal tersebut adalah dengan menggunakan Virtual File System.
2.  VFS (Virtual File System) juga dapat mengenali data yang menggunakan File Sistem lain.
3.  Supaya berbagai system berkas yang berbeda bisa di akses oleh aplikasi computer dengan cara yang seragam.
gambaran FUSE



cara instalasi FUSE:





cara koding FUSE: