Senin, 25 April 2016

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. Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu. 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.
Berikut  kami sajikan bahasan-bahasan yang terkait dengan memori :

MANAJEMEN MEMORI
1.      Definisi Manajemen Memori
Manjemen memori (Memory Manager) adalah salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian. Manajemen memori DOS merupakan mekanisme pengaturan memori pada sistem operasi DOS. Sistem operasi berjalan dalam modus real dengan arsitektur berbasis prosesor intel x86. Dalam modus real, hanya 20-bit pertama dari bus alamat yang akan digunakan oleh sistem operasi untuk mengakses memori, sehingga menjadikan jumlah memori yang dapat diakses hanya mencapai 220=1048576 bytes (1 MB) saja, dari yang seharusnya 32-bit/40-bit pada prosesor-prosesor modern. Ada beberapa macam jenis memori diantaranya :

- Memori Kerja
• ROM/PROM/EPROM/EEPROM
• RAM
• Cache memory
- Memori Dukung
· Floppy, harddisk, CD, dll.

2 .      Manajemen Memori
Terdapat 2 (dua) manajemen memori yaitu :
a. Manajeman memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran proses dimemori tidak beragam sepanjang waktu secara tetap.
b. Manajemen memori dinamis
Dengan pemartisian dinamis , jumlah, lokasi dan ukuran proses dimemori dapat beragam sepanjang waktu secara dinamis.

Manajemen Memori Berdasarkan Alokasi memori Terdapat 2 (dua) cara menempatkan informasi ke dalam memori kerja, yaitu:
a. Alokasi Memori Berurutan (Contiguous Allocation)
Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan.
Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat.
Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi
b. Alokasi Memori Tak Berurutan (Non Contiguous Allocation)
Program/proses ditempatkan pada beberapa segmen berserakan, tidak perlu saling berdekatan atau berurutan. Biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page.
Kelebihan : sistem dapat memanfaatkan _ memori utama secara lebih efesien, dan sistem opersi masih dapat menyisip proses bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak yang berserakan tidak terpakai.
c. Penggunaan memori
Pencocokan ukuran informasi ke penggalan memori kerja disebut sebagai fit. Bagian dari memori kerja yang tidak terpakai dan letaknya tersebar di banyak wilayah memori kerja disebut sebagai fragmen. Peristiwa terjadinya fragmen disebut fragmentasi
d. Pencocokan (fit) dan fragmentasi
Beberapa jenis strategi pencocokan antara lain:
1. Cocok pertama (first fit)
Pencocokan terjadi menurut antrian informasi
2. Cocok pertama berdaur (cyclical first fit)
Pencocokan tidak harus dimulai dari urutan penggalan memori yang pertama, tetapi dapat dilakukan setelah terjadi pencocokan sebelumnya.
3. Cocok terbaik (best fit)
Pencocokan dilakukan sesuai dengan penggalan memori yang ukurannya pas.
4. Cocok terburuk (Worst fit)
Informasi akan menempati penggalan yang ukurannya terbesar.
e. Fragmentasi
Menurut prosesnya terdapat dua macam fragmentasi :
a. Fragmentasi internal
Kelebihan memori pada penggalan memori ketika penggalan memori itu menerima penggalan informasi yang berukuran kurang dari ukuran penggalan memori.
b. Fragmentasi Ekternal
Penggalan memori bebas yang ukurannya terlalu kecil untuk dapat menampung penggalan informasi yang akan dimuat ke penggalan memori itu.
Contoh : Proses

3. Fungsi manajemen memori :
Manajemen memori sangat penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.  Berikut ini kami sebutkan fungsi manajemen memori diantaranya :
1.Mengelola informasi memori yang dipakai dan tidak dipakai.
2.Mengalokasikan memori ke proses yang memerlukan.
3.Mendealokasikan memori dari proses yang telah selesai.
4.Mengelola swapping antara memori utama dan disk.


4.  Manajemen memori berdasarkan keberadaan swapping atau paging
Terbagi dua yaitu :
1.      Manajemen tanpa swapping atau paging
Yaitu manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama eksekusi. Yang terdiri dari :
Ø  Monoprogramming, ciri-cirinya:
- Hanya satu proses pada satu saat
- Hanya satu proses menggunakan semua memori
- Pemakai memuatkan program ke seluruh memori dari disk atau tape
- Program mengambil kendali seluruh mesin
Ø  Multiprogramming Dengan Pemartisian Statis
Terbagi dua :
- Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
- Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda
   Strategi Penempatan Program Ke Partisi
·      Satu Antrian Tunggal Untuk Semua Partisi
Keuntungan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.
·      Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi) . Keuntungan : Meminimalkan pemborosan memori
Kelemahan : Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi - partisi lain kosong
2.      Manajemen dengan swapping atau paging
Swapping : pemindahan proses dari memori utama ke disk dan kembali lagi.
1. Multiprogramming dengan Pemartisisan Dinamis
Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan:
- Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
- Merumitkan alokasi dan dealokasi memori
2. Pencatatan Pemakaian memori
- Pencatatan memakai peta bit (Bit Map)
- Pencatatan memakai linked list


5. Sistem Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan biner dalam pengalamatan memori. Karakteristik bilangan biner digunakan untuk mempercepat Penggabungan lubang-lubang berdekatan ketika proses Terakhir atau dikeluarkan. Mekanisme pengelolaan sistem buddy tersebut memiliki keunggulan dan kelemahan.
Keunggulan Sistem Buddy
1. Sistem buddy mempunyai keunggulan dibanding algoritma-algoritma yang mengurutkan blok-blok berdasarkan ukuran. Ketika blok berukuran 2k dibebaskan, maka manajer memori hanya mencari pada senarai lubang 2k untuk memeriksa apakah dapat dilakukan  penggabungan. Pada algoritma algoritma lain yang memungkinkan blok-blok memori dipecah dalam sembarang ukuran, seluruh senarai harus dicari.
2. Dealokasi pada sistem buddy dapat dilakukan dengan cepat.
Kelemahan Sistem Buddy
1. Utilisasi memori pada sistem buddy sangat tidak efisien.
2. Masalah ini muncul dari dari kenyataan bahwa semua permintaan dibulatkan ke 2k terdekat yang dapat memuat. Proses berukuran 35 kb harus dialokasikan di 64 kb, terdapat 29 kb yang disiakan. Overhead ini disebut fragmentasi internal karena memori yang disiakan adalah internal terhadap segmen-segmen yang dialokasikan

Fitur-Fitur Sistem Operasi



FITUR-FITUR SISTEM OPERASI
  1. Eksekusi Program
Sistem operasi berfungsi sebagai interface antara aplikasi dan hardware. User berinteraksi dengan hardware melalui “sisi lain”. Sistem operasi berfungsi untuk menyederhanakan pengembangan aplikasi. Eksekusi program melibatkan proses yang diciptakan sistem operasi. Kernel menciptakan proses dengan menugaskan memori dan sumber daya yang lain, menentukan prioritas dari suatu proses (dalam sistem multitasking), memuat program dalam memori dan mengeksekusi program. Program tersebut kemudian berinteraksi dengan user dan atau divais dan melakukan fungsi yang diinginkan.

  1. Interupsi
interupsi adalah pusat sistem operasi, yang menyediakan cara efisien bagi sistem operasi untuk berinteraksi dan bereaksi terhadap lingkungannya. Pemrograman berbasis interupsi secara langsung didukung hampir seluruh CPU modern. interupsi menyediakan cara otomatis menyimpan isi register local dan menjalankan kode khusus sebagai respon terhadap sebuah kejadian. Bahkan komputer yang paling dasar sekalipun mendukung interupsi hardware dan membolehkan pemrogram untuk menentukan kode yang akan di jalankan ketika terjadi sebuah kejadian. Ketika sebuah interupsi diterima, hardware komputer secara otomatis menunda program apapun yang sedang dijalankan, menyimpan statusnya dan menjalankan kode komputer yang berhubungan dengan interrupsi yang terjadi sebelumnya. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi. Interupsi bisa datang dari hardware komputer atau program yang sedang jalan.

  1. Mode terproteksi dan supervisor
CPU modern mendukung operasi dual mode, yaitu: mode terproteksi dan mode supervisor, yang memungkinkan fungsi-fungsi CPU dikendalikan dan dipengaruhi hanya oleh kernel sistem operasi. Ketika komputer pertama kali mulai, secara otomatis berjalan di atas mode supervisor. Ketika sistem operasi mengendalikan program lain, CPU ditempatkan pada mode terproteksi. Dalam mode terproteksi ini, program punya akses terbatas pada instruksi CPU. User bisa meninggalkan mode ini hanya dengan memicu interupsi, yang menyebabkan kendali kembali kepada kernel.

  1. Manajemen memori
Sebuah kernel sistem operasi multiprogramming bertanggung jawab untuk mengatur semua sistem memori yang sedang digunakan oleh program-program. Hal ini untuk memastikan bahwa program tidak mencampuri memori yang sedang digunakan oleh program lain. Ketika program melakukan pembagian waktu (time sharing), setiap program harus mempunyai akses independen terhadap memori.

  1. Memori virtual
Menggunakan pengalamatan memori virtual maksudnya adalah kernel bisa memilih memori program mana yang bisa digunakan selama waktu tertentu, yang membolehkan siste operasi untuk menggunakan lokasi memori yang sama untuk tugas yang banyak.

  1. Multitasking
Multitasking adalah sistem operasi menjalankan banyak program komputer yang independen pada komputer yang sama, seolah-olah terlihat menjalankan berbagai tugas dalam waktu yang sama. Hampir semua komputer dapat menjalankan satu atau dua hal pada waktu yang sama, ini secara umum dilakukan melalui time sharing, yaitu setiap program menggunakan pembagian waktu komputer untuk mengeksekusi program.

  1. Disk access dan sistem file
Mengakses data yang disimpan pada disk adalah fitur pusat dari semua sistem operasi. Computer menyimpan data pada disk menggunakan file-file, yang disusun dengan cara khusus supaya memungkinkan akses cepat, reliabilitas yang tinggi dan untuk menggunakan space drive yang tersedia secara lebih baik. Cara khusus yang digunakan untuk menyimpan file pada disk, membolehkan file untuk dinamai dan diberi atribut disebut sistem file.

  1. Driver-driver divais
Sebuah driver divais adalah tipe khusus software komputer yang dibuat agar sistem operasi bisa berinteraksi dengan divais-divais hardware.

  1. Networking
Sekarang sebagian besar sistem operasi mendukung berbagai macam protokol, hardware dan aplikasi networking. Hal ini bertujuan agar komputer yang menggunakan sistem operasi yang berbeda dapat berpartisipasi dalam jaringan umum untuk berbagi sumber daya seperti file, printer dan scanner menggunakan koneksi kabel atau wireless.

  1. Keamanan
Keamanan komputer bergantung pada sejumlah teknologi yang bekerja secara tepat. Sebuah sistem operasi modern menyediakan akses ke sejumlah sumberdaya, yang tersedia untuk software yang berjalan di atas sistem tersebut dan untuk divais luar seperti jaringan melalui kernel.

  1. Graphical user interfaces
Kebanyakan sistem komputer modern mendukung Graphical User Interface (GUI) atau antar muka grafis. Sistem operasi populer semacam Microsoft Windows dan Mac OS, mengyatukan GUI kedalam kernel, walaupun secara teknis GUI bukanlah layanan dari sistem operasi.
- See more at: http://makalahkuu.blogspot.co.id/2013/03/contoh-makalah-sistem-operasi.html#sthash.d8r8qntE.dpuf