• Twitter
  • Facebook
  • Google+
  • RSS Feed

Saturday, May 22, 2010




Manajemen Memori
1. PENDAHULUAN
Memori adalah pusat dari operasi pada sistem komputer modern. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu.

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 system 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. Pada beberapa kasus, program user akan melalui beberapa langkah sebelum dieksekusi.

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.

C. Dinamic Linking

Sebagian besar sistem operasi hanya men-support static linking, dimana system library language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader ke dalam binary program image. Konsep dynamic linking sama dengan dynamic loading. Pada saat loading, linking ditunda sampai waktu eksekusi. Terdapat kode kecil yang disebut stub digunakan untuk meletakkan rutin library di memori dengan tepat. Stub diisi dengan alamat rutin dan mengeksekusi rutin. Sistem operasi perlu memeriksa apakah rutin berada di alamat memori.

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 peruntukkan. Ide dari overlay adalah menyimpan di memori hanya instruksi dan data yang diperlukan pada satu waktu. Jika intruksi lain diperlukan, maka instruksi tersebut diletakkan di ruang memori menggantikan instruksi yang tidak digunakan lagi.

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

Register basis disebut register relokasi. Nilai dari register relokasi ditambahkan kesetiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori. Sebagai contoh, apabila basis 14000, maka user mencoba menempatkan ke alamat lokasi 0 dan secara dinamis direlokasi ke lokasi 14000. Pengaksesan ke lokasi logika 346, maka akan dipetakan ke lokasi 14346. Sistem operasi MS-DOS yang masih keluarga intel 80X86 menggunakan empat register relokasi ketika proses loading dan running
3. SWAPPING
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. Contohnya, sebuah lingkungan multiprogramming dengan penjadwalan CPU menggunakan algoritma round-robin. Pada saat waktu kuantum berakhir, manajer memori akan memulai untuk menukar proses yang baru selesai keluar dan menukar proses lain ke dalam memori yang dibebaskan (Gambar 7-4). Pada waktu berjalan, penjadwal CPU (CPU scheduler) akan mengalokasikan sejumlah waktu untuk proses yang lain di memori. Ketika masing-masing proses menyelesaikan waktu kuantum-nya, akan ditukar dengan proses yang lain.

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

5. 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. Memori logika juga dibagi ke dalam blok-blok dg ukuran yang sama yang disebut page. Semua daftar frame yang bebas disimpan. Untuk menjalankan program dengan ukuran n page, perlu menemukan n frame bebas dan meletakkan program pada frame tersebut. Tabel page (pageable) digunakan untuk menterjemahkan alamat logika ke alamat fisik.

Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2 bagian yaitu :
• Page number (p) digunakan sebagai indeks ke dalam table page (page table). Page table berisi alamat basis dari setiap page pada memori fisik
• Page offset (d) mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori.

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

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.

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.

7. SEGMENTASI DENGAN PAGING

Pada skema ini, skema paging dan segmentasi dikombinasikan. Kombinasi diilustrasikan menggunakan 2 arsitektur berbeda : MULTICS dan Intel 386 (OS/2).

A. MULTICS
Pada sistem MULTICS, alamat logika dibentuk dari nomor segmen 18 bit dan offset 16 bit. Dengan ukuran segmen 64K word, setiap segmen terdiri dari 36 bit, rata-rata ukuran segmen dapat lebih besar dan fragmentasi eksternal menjadi permasalahan karena membutuhkan banyak ruang memori. Tetapi jika fragmentasi eksternal tidak menjadi permasalahan, waktu pencarian untuk mengalokasikan segmen dapat membutuhkan waktu yang lama.

Solusi yang diadopsi pada MULTICS adalah dengan melakukan paging pada segmen (page the segment). Paging menghilangkan fragmentasi eksternal dimana frame kosong dapat digunakan untuk page yang tepat. Setiap page terdiri dari 1K word. Segment offset (16 bit) dibagi ke dalam nomor page 6 bit dan page offset 10 bit. Nomor page mengindeks ke tabel page untuk memberikan nomor framer. Nomor frame dikombinasikan dengan page offset menunjuk ke alamat fisik. Skema translasi alamat logika ke alamat fisik pada MULTICS dapat dilihat pada Gambar 7-24.

B. INTEL 30386
IBM OS/2 versi 32 bit adalah sistem operasi yang menggunakan arsitektur 30386 (dan 30486). Intel 30386 menggunakan segmentasi dengan paging untuk manajemen memori. Maksimum jumlah segment per proses adalah 16K. Setiap segmen maksimal berukuran 4 gigabytes. Ukuran page adalah 4K byte.
Ruang alamat logika dari suatu proses dibagi ke dalam 2 partisi :
• Partisi 1 terdiri dari 8K segmen yang pribadi (private) untuk proses tersebut.
• Partisi 2 terdiri dari 8K segmen yang digunakan bersama untuk semua proses
Karena setiap segmen adalah page dengan ukuran 4KB per page, sebuah page table terdiri dari 1 juta entri. Dan karena setiap entri terdiri dari 4 byte, setiap proses memerlukan 4MB ruang alamat fisik untuk table page saja. Solusi yang digunakan menggunakan skema two-level paging. Alamat linier dibagi ke dalam nomor page 20 bit, dan sebuah page offset 12 bit. Nomor page dibagi ke dalam 10 bit page directorpointer dan 10 bit page table pointer. Translasi alamat logika ke alamat fisik pada Intel 30386 lebih jelasnya dapat dilihat pada Gambar 7-25.

REFERENSI
• http://opensource.telkomspeedy.com/repo/abba/.../SistemOperasi/.../bahan-bab5.pdf/. Diakses jam 21.36 WIB tanggal 27 April 2010.
• http://lecturer.eepis-its.edu/~arna/Diktat_SO/7.Manajemen%20Memory.pdf/. Diakses jam 21.36 WIB tanggal 27 April 2010.
• http://ocw.gunadarma.ac.id/.../sistem-operasi/manajemen-memori/view/. Diakses jam 21.38 WIB tanggal 27 April 2010.

Manajemen File dalam Sistem Operasi

1. Pendahuluan

Dalam sistem operasi komputer kita mengenal sistem manajemen file. Sistem manajemen file ini perlu diterapkan agar dapat digunakan dalam sistem operasi komputer. Dalam penerapannya seringkali menimbulkan beberapa masalah, oleh karena itu masalah tersebut harus dapat diselesaikan oleh sistem operasi komputer. Penyelesaian tersebut memiliki beberapa cara yang masing-masing memiliki keunggulan dan kelemahan tersendiri.

Manajemen file dalam sistem operasi keluaran Microsoft Windows dapat dilakukan dengan memanfaatkan fungsi dan fasilitas yang ada pada program aplikasi file manager Windows Explorer. Aplikasi tersebut berfungsi untuk mengelola file dan folder, seperti menyalin file menjadi dua atau lebih salinan, menghapus atau memindahkan file atau folder ke tempat lain, seperti ke dalam disket atau folder lainnya.
Penggunaan menu dan operasi-operasi file pada Windows Explorer ini relatif mudah digunakan dan sederhana. Umumnya, Windows Explorer dieksekusi lewat: Start Menu | Program | Accessories | Windows Explorer. Atau cara cepatnya dengan klik kanan pada Start Menu, kemudian pilih Explorer.

Manajemen file saya adalah sebagai berikut:

Media penyimpanan : Hard disk 160GB HDD (5400rpm)

Banyaknya file : 744848 file

Partisi : 4 partisi (C,D,E,F)

Dari banyaknya file tersebut, saya mendapatkan adanya duplikasi file. File yang terduplikasi tersebut biasanya ada di drive C pada my document. Mungkin karena kebiasaan saya menyimpan file (save) di my document sebelum memindahkannya lagi ke tempat lain. Dalam melakukan backup data dan file, biasanya saya menggunakan DVD-R yang mempunyai kapasitas cukup besar buat backup. Dalam penamaan file, saya lebih sering menggunakan kata yang terdapat pada file tersebut semisal judul. Kadang jika ada file yang sama, saya menggunakan angka di belakang judul file tersebut untuk membedakan.

2. Pengertian File

File adalah sekumpulan data/informasi yang saling berhubungan sesuai dengan tujuan pembuatnya.

Data pada file bisa berupa numerik, alpha numerik binary atau text. Pada umunya, ada dua macam file yang berada pada struktur file, yaitu file direktori dan file biasa. File biasa menyimpan data, sedang file direktori meyimpan nama file yang terdapat pada direktori tersebut.

Sebagian besar file, hanya merupakan file biasa yang disebut file regular yang berisi data biasa sebagai contoh file text, file executable, atau program, input atau output dari program dan lainnya. Selain file biasa ada file-file khusus seperti berikut :

· Directories: file yang berisi daftar dari file lain.

· Special files: mekanisme yang digunakan untuk input dan output. Sebagian besar terdapat pada direktori /dev.

· Links: Sistem untuk membuat file atau direktori dapat terlihat di banayk bagian dari pohon file sistem.

· (Domain) sockets: Jenis file khusus, mirip dengan soket TCP/IP, yang menyediakan jaringan antar proses yang terproteksi oleh file system's access control.

· Named pipes: berfungsi kurang lebih seperti soket dan membentuk jalur untuk proses komunikasi.

3. Gambaran Umum File Sistem

Selain format fisik, hard diskjuga menyimpan struktur datanya dalam suatu format lojik. Format yang dipakai ini diberi nama File Sistem. Jadi, File Sistem adalah suatu struktur yang digunakan sistem operasi untuk menyimpan dan membaca data dari hard disk.

Adapun contoh-contoh format file system sebagai berikut : FAT (File Allocation Table), FAT32 (File Allocation Table 32), NTFS (New Technology File System) (Ketiga varian ini umum digunakan untuk platform Windows), Ext, Ext2, Ext3 (Ketiga varian ini umum digunakan untuk platform Linux), OS/2, HPFS, Reiser dll.

i. Pembagian File Sistem Secara Ortogonal

Shareable dan Unshareable

· Shareable

Isinya dapat di-share (digunakan bersama) dengan sistem lain, gunanya untuk menghemat tempat.

· Unshareable

Isinya tidak dapat di-share(digunakan bersama) dengan sistem lain, biasanya untuk alasan keamanan.

ii. Variabel dan Static

· Variabel

Isinya sering berubah-ubah.

· Static

Sekali dibuat, kecil kemungkinan isinya akan berubah. Bisa berubah jika ada campur tangan sistem admin.

iii. Langkah-langkah Optimasi File Sistem

· Kurangi jumlah I/O yang mengakses storage device sebanyak mungkin

· Kelompokkan I/O menjadi kelompok yang besar

· Optimasi pola pencarian blok untuk mengurangi seek time

· Gunakan cache semaksimal mungkin untuk mengurangi beban I/O device

4. Mengelola File

File adalah sebuah naskah yang telah tersimpan dalam disk. Naskah tersebut dapat berupa dokumen ketikan, gambar, kumpulan program dan lain-lain.

Di dalam mengelola file kita dapat melakukan kegiatan-kegiatan di bawah ini :

  • Mengganti nama file
  • Menghapus file
  • Menyalin (mengcopy) file
  • Memindahkan (cut) file

 
© 2012. Design by Main-Blogger - Blogger Template and Blogging Stuff