Senin, 23 Mei 2016

Manajemen File

Pengertian manajemen file  File system atau disebut juga dengan manajemen file adalah suatu metode dan struktur data yang dipakai oleh sistem operasi untuk mengatur serta menorganisir file yang terdapat pada disk atau partisi disk. Manajemen file(File system) ini dapat diartikan sebagai disk atau partisi yang dipakai untuk menyimpan file-file dalam cara tertentu.
Manfaat manajemen file 
Adapun manfaat dari manajemen file diantaranya yaitu, dapat mengurangi resiko kehilangan file misalnya seperti terhapusnya file secara tidak sengaja, file tersimpan dimana saja dan tidak teraturnya letak file serta dapat memudahkan kita dalam pencarian file, dapat menghemat kapasitas penyimpanan dengan cara melakukan penghapusan file yang tidak terpakai. Untuk mendapatkan manfaat dari manajemen file kamu harus dapat melakukan manajemen file dengan baik dan benar.
Sasaran sistem file
  • Untuk memenuhi kebutuhan dari manajemen data bagi pemakai atau user.
  • Untuk menjamin data yang terdapat pada file adalah valid.
  • Untuk optimasi kinerja.
  • Untuk menyediakan dukungan masukan (input) dan keluaran (output) bagi beragam tipe perangkat penyimpanan.
  • Untuk meminimalkan atau mengeliminasi potensi kehilangan data.
  • Untuk menyediakan sekumpulan rutin interface masukan (input) dan keluaran (output).
  • Dan untuk menyediakan dukungan masukan (input) dan keluaran (output) bagi banyak pemakai (user) di sistem multiuser.


Beberapa fungsi yang diharapkan dari pengelolaan file
  • Mekanisme pemakaian file secara bersama.
  • Penciptaan, modifikasi dan penghapusan file.
  • Kemampuan men-beckup dan recovery untuk dapat mencegah kehilangan file dikarenakan kecelakaan atau adanya upaya penghancuran file.
  • Pemakai bisa mengacu file dengan nama simbolik (Symbolic name) bukan menggunakan penamaan yang mengacu perangkat fisik.
  • Supaya pada lingkungan sensitive, informasi dapat tersimpan dengan aman dan rahasia.
  • Sistem file harus menyediakan interface user-friendly.
Arsitektur Pengelolaan File
Pengelolaan file, biasanya terdiri seperti di bawah ini:
  • Yang pertama adalah sistem akses, yaitu berhubungan dengan bagaimana cara data yang disimpan pada file akses.
  • Yang kedua adalah manajemen file, yaitu berhubungan denga penyediaan mekanisme operasi pada file, misalnya seperti: penyimpanan, pengacuan, pemakaian bersama, dan juga pengamanan.
  • Yang ketiga adalah, manajemen ruang penyimpanan yaitu berhubungan dengan alokasi ruang untuk file diperangkat penyimpan.
  • Dan yang keempat adalah mekanisme Integritas file, yaitu berhubungan dengan jaminan informasi pada file yang tidak terkorupsi.
3 tipe file yang terdapat pada sistem operasi
Terdapat tiga tipe file pada sistem operasi, diantaranya seperti di bawah ini:
  • File regular yang berisi informasi, yang terdiri dari file teks dan biner. File teks ini berisi baris-baris teks (txt). Lalu file biner eksekusi (exe), dan juga biner hasil dari program aplikasi. Struktur internal file biner eksekusi hanya diketahui oleh sistem operasi, sedangkan struktur internal dari file biner hasil program aplikasi hanya diketahui oleh program aplikasi saja yang menggunakan file tersebut.
  • File folder yaitu file yang dimiliki oleh sistem operasi, biasanya berisi informasi-informasi mengenai daftar file yang termasuk didalam folder tersebut.
  • Dan file khusus merupakan nama logic dari perangkat input dan perangkat output.

Rabu, 18 Mei 2016

Manajemen Proses

Dalam kegiatannya sehari-hari, sistem operasi memiliki sebuah mekanisme proteksi untuk memastikan dirinya, semua program yang berjalan, dan data-data penggunanya berjalan dengan baik. Untuk melakukan hal tersebut, sistem operasi memiliki dua jenis ( mode) operasi yang saling terpisah. Dua operasi tersebut, yaitu user mode, eksekusi program dikendalikan oleh pengguna, dan kernel mode, eksekusi program dikendaikan oleh sistem operasi, dinamakan dual-mode operation.
Dual-mode operation diimplementasikan pada arsitektur perangkat keras. Sebuah bit yang disebut mode bitditambahkan ke perangkat keras untuk menunjukkan mode operasi saat itu: 0 untuk kernel modedan 1 untuk user mode.
Dengan adanya dual-mode operation, eksekusi sebuah program/proses bisa dibedakan sumbernya, apakah dieksekusi oleh sistem operasi atau dieksekusi oleh pengguna. Hal ini akan sangat berguna dalam berjalannya sistem operasi.
Selain itu, sistem operasi memiliki sebuah mekanisme untuk melindungi prosesor dari berbagai macam program yang berjalan. Bayangkan jika ada sebuah proses mengalami infinite loop. Tentu saja prosesor akan terus menerus melayani program itu dan menghambat proses lainnya yang akan dieksekusi prosesor, dan hal ini bisa dipastikanakan mengurangi kinerja dari komputer.
Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.

Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
  • Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.
  • Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.
  • Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
  • Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.
  • Menyediakan mekanisme untuk penanganan deadlockDeadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.
Manajemen Memori Utama
Sistem operasi memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program yang akan berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari manajemen memori utama adalah agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori.
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi/data yang akses datanya digunakan oleh CPU dan perangkat M/K. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile(tidak permanen), yaitu data akan hilang kalau komputer dimatikan.
Sistem komputer modern memiliki sistem hirarki memori, artinya memori yang ada di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang memiliki kecepatan sama dengan kecepatan prosesor memiliki kapasitas yang kecil, berkisar hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan memori utama yang kecepatannya jauh di bawah kecepatan prosesor memiliki kapasitas yang lebih besar, berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori ini memiliki tujuan agar kinerja komputer yang maksimal bisa didapat dengan harga yang terjangkau.

Manajemen Sistem Berkas

File atau berkas adalah representasi program dan data yang berupa kumpulan informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem berkas ini sangatlah penting, karena informasi atau data yang disimpan dalam berkas adalah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan operasi-operasi pada berkas, seperti membuka, membaca, menulis, dan menyimpan berkas tersebut pada sarana penyimpanan sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi berkas dengan baik.
Sistem operasi melakukan manajemen sistem berkas dalam beberapa hal:
  • Pembuatan berkas atau direktori. Berkas yang dibuat nantinya akan diletakkan pada direktori-direktori yang diinginkan pada sistem berkas. Sistem operasi akan menunjukkan tempat dimana lokasi berkas atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan membuat entri yang berisi nama berkas dan lokasinya pada sistem berkas.
  • Penghapusan berkas atau direktori. Sistem operasi akan mencari letak berkas atau direktori yang hendak dihapus dari sistem berkas, lalu menghapus seluruh entri berkas tersebut, agar tempat dari berkas tersebut dapat digunakan oleh berkas lainnya.
  • Pembacaan dan menulis berkas. Proses pembacaan dan penulisan berkas melibatkan pointer yang menunjukkan posisi dimana sebuah informasi akan dituliskan di dalam sebuah berkas.
  • Meletakkan berkas pada sistem penyimpanan sekunder. Sistem operasi mengatur lokasi fisik tempat penyimpanan berkas pada sarana penyimpanan sekunder

Manajemen Sistem M/K ( I/O)

Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device).
Fungsi-fungsi sistem operasi untuk sistem M/K:
  • Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat M/K
  • Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K sistem supaya lebih efisien.
  • Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.
  • Menyediakan driver perangkat yang umumDriver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.
  • · Menyediakan driver perangkat yang khusus. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan motherboard

Manajemen Penyimpanan Sekunder

Sarana penyimpanan sekunder memiliki ciri-ciri umum sebagai berikut:
  1. Non volatile(tahan lama). Walaupun komputer dimatikan, data-data yang disimpan di sarana penyimpanan sekunder tidak hilang. Data disimpan dalam piringan-piringan magnetik.
  2. Tidak berhubungan langsung dengan bus CPU. Dalam struktur organisasi komputer modern, sarana penyimpanan sekunder terhubung dengan northbridgeNorthbridge yang menghubungkan sarana penyimpanan sekunder pada M/K dengan bus CPU.
  3. Lambat. Data yang berada di sarana penyimpanan sekunder memiliki waktu yang lebih lama untuk diakses ( read/write) dibandingkan dengan mengakses di memori utama. Selain disebabkan olehbandwidth bus yang lebih rendah, hal ini juga dikarenakan adanya mekanisme perputaran head dan piringan magnetik yang memakan waktu.
  4. Harganya murahPerbandingan harga yang dibayar oleh pengguna per byte data jauh lebih murah dibandingkan dengan harga memori utama.
Sarana penyimpanan sekunder memiliki fungsi-fungsi sebagai berikut:
  1. Menyimpan berkas secara permanenData atau berkas diletakkan secara fisik pada piringan magnet dari disk, yang tidak hilang walaupun komputer dimatikan ( non volatile)
  2. Menyimpan program yang belum dieksekusi prosesor. Jika sebuah program ingin dieksekusi oleh prosesor, program tersebut dibaca dari disk, lalu diletakkan di memori utama komputer untuk selanjutnya dieksekusi oleh prosesor menjadi proses.
  3. Memori virtual. Adalah mekanisme sistem operasi untuk menjadikan beberapa ruang kosong dari disk menjadi alamat-alamat memori virtual, sehingga prosesor bisa menggunakan memorivirtual ini seolah-olah sebagai memori utama. Akan tetapi, karena letaknya di penyimpanan sekunder, akses prosesor ke memori virtual menjadi jauh lebih lambat dan menghambat kinerja komputer.
Sistem operasi memiliki peran penting dalam manajemen penyimpanan sekunder. Tujuan penting dari manajemen ini adalah untuk keamanan, efisiensi, dan optimalisasi penggunaan sarana penyimpanan sekunder.
Tahap-tahap penciptaan proses
Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :
1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian perproses.
2. Alokasikan ruang untuk proses.
3. PCB harus diinisialisasi.
4. Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
5. Bila diperlukan struktur data lain maka segera dibuat struktur data itu.
Status Proses
Saat proses dieksekusi maka setiap proses akan mengalami perubahan status / kondisi. Jika dikelompokkan, maka perubahan status proses ada lima tahapan yaitu :
  1. New yaitu proses yang sedang dibuat.
  2. Running yaitu proses yang dapat dieksekusi karena CPU tidak ada tugas atautugas selesai.
  3. Ready yaitu proses menuggu jatah waktu dari processor.
  4. Waiting yaitu proses sedang menunggu beberapa event.
  5. Terminated yaitu proses yang sudah selesai dieksekusi.

Penjadwalan Proses

Ada tujuh criteria penjadwalan proses pada system operasi, yaitu sebagai berikut :
  1. CPU Utilizatio, Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 sampai 100 persen. Di sistem yang sebenarnya ia mempunyai range dari 40 sampai 100 persen.
  2. Throughput, Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, throughput bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik.
  3. Turnaround Time, Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Memang, lama pengeksekusian sebuah proses sangat tergantung dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap ada dalam lama waktu yang dipakai untuk menyelesaikan sebuah proses. Misal kita memiliki sistem komputer yang identik dan proses-proses yang identik pula, namun kita memakai algoritma yang berbeda, algoritma yang mampu menyelesaikan proses yang sama dengan waktu yang lebih singkat mungkin lebih baik dari algoritma yang lain. Interval waktu yang diijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah proses disebut turnaround time. Turnaround time adalah jumlah periode untuk menunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi M/K.
  4.  Waiting Time, Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau M/K, itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah waktu yang dibutuhkan proses di antrian ready.
  5.  Response Time, Di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke pengguna. Ukuran lain adalah waktu dari pengiriman permintaan sampai respon yang pertama diberikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut.
  6.  Fairness, Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses (menghindari terjadinya starvation CPU time).
  7.  Efisiensi, Rendahnya overhead dalam context switching, penghitungan prioritas dan sebagainya menentukan apakah suatu algoritma efisien atau tidak.
Process Control Block (PCB)
Sistem operasi dalam melaksanakan tugas pengendalian dan pelayanan proses (sebagai manajer dan pelayan) terhadap kerja sistem komputer memerlukan sejumlah informasi yang akurat. Informasi yang diperlukan sistem operasi tersedia dalam bentuk Process Control Block (PCB). Informasi dalam PCB dikelompokkan dalam tiga macam :
  1. Informasi identifikasi proses yaitu identifikasi proses yang berkaitan dengan identitas proses yang unik. Identifikasi proses yang menciptakan identifikasi pemakai
  2. Informasi status pemroses yaitu informasi tentang isi register yang berisi data saat running. Register yang digunakan (AX,BX,CX,EAX,EBX). Register kendali dan status (program counter, PSW). Pointer stack
  3. Informasi kendali proses yaitu informasi yang diperluakan sistem operasi untuk manajemen proses. Informasi penjadwalan dan status [ prioritas dan kejadian ] manajemen memori.

Manajemen Memori

MANAJEMEN MEMORI

A.    Berdasarkan keberadaan swapping :
1.      Manajemen tanpa swapping.
Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.
2.      Manajemen dengan swapping.
Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.


B.     Manajemen Memori Berdasarkan Alokasi Memori
Terdapat dua cara menempatkan informasi ke dalam memori kerja
1.      Alokasi Memori Berurutan (contigouos 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.
2.      Alokasi Memori Tak Berurutan (Non Contiguous Allocation)
-    Program / proses ditempatkan pada beberapa sagmen 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 efisien, dan system operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
-    Kekurangan : memerlukan pengendalian  yang lebih rumit dan memori jadi banyak berserakan tidak terpakai.

Terdapat 2 manajemen memori:
a)      Manajemen Memori Statis
Dengan pemartisian statis, jumlah, lokasi, dan ukuran prosesdi memori tidak beragam sepanjang waktu secara tetap.
b)     Manajemen Memori Dinamis
Dengan pemartisian dinamis, jumlah, lokasi, dan ukuran proses di memori dapat berseragam sepanjang waktu secara dinamis.

MANAJEMEN MEMORI PEMARTISIAN STATIS
Kondisi tanpa swapping :
a.      Monoprogramming
Monoprogramming merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan.
Dalam monoprogramming :
1.      Hanya terdapat satu proses pada satu saat, sehingga proses baru akan menimpa proses lama yang sudah selesai eksekusi.
2.      Hanya satu proses mengunakan semua memori.
3.      Pemakai memusatkan program keseluruh memori dari disk atau tape.
4.      Program mengambil kendali seluruh mesin.

Monoprogramming masih dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang menempel atau terdapat di sistem lain. Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti Intel 8051, dan sebagainya. Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi spesifik. Karena hanya satu fungsi spesifik, dapat diprogram di mikroprosesor dengan memori kecil (1-64 Kb).

Masalah Proteksi Di Monoprogramming
Merupakan cara memproteksi rutin sistem operasi dari penghancuran program pemakai. Program pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin sistem operasi. Aktivitas program pemakai ini dapat merusak sistem operasi. Untuk mengatasinya Sistem operasi harus diproteksi dari modifikasi program pemakai.
Proteksi ini diimplementasikan menggunakan satu register batas (boundary register) di pemroses. Setiap kali program pemakai mengacu alamat memori dibandingkan register batas untuk memastikan proses pemakai tidak merusak sistem operasi, yaitu tidak melewati nilai register batas.

           
b.      Multiprogramming dengan pemartisian statis
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan.

Manajemen Memori Multiprogramming
Melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut.

Melakukan dua aktivitas :
1.      Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint (terpisah).
2.      Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.

Multiprogramming Pemartisian Statis,
Terdapat beberapa alasan :
·         Mempermudah pemogram
Pemrogram dapat memecah program menjadi dua proses atau lebih.
·         Agar dapat memberi layanan interaktif ke beberapa orang secara simultan
Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses di memoriagar memperoleh kinerja yang baik.
·         Efisiensi penggunaan sumber daya
Bila pada multiprogramming maka proses tersebut diblocked (hanya DMyang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem.
·         Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil
·         Dapat mengerjakan sejumlah job secara simultan


PEMARTISIAN STATIS BERDASARKAN UKURAN

Partisi-partisinya terbagi dua :
1.      Pemartisian menjadi partisi berukuran sama (ukuran semua partisi memori sama), yaitu:
Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.
Kelemahan :
-          Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan, tidak dapat dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
-          Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan,  disebut fragmentasi internal. Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda.

2.      Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda
Strategi penempatan program ke partisi
DESKRIPSI :
a)      Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong.
b)      Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda.

Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi).
Proses ditempatkan ke partisi paling kecil yang dapat memuatnya.
Keuntungan :
-          teknik ini adalah meminimalkan pemborosan memori.
Kelemahan :
-          dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong.

Satu antrian untuk seluruh partisi.
Proses-proses diantrikan di satu antrian tunggal untuk semua partisi. Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat.
Keunggulan :
-          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.


FRAGMENTASI PADA PEMARTISIAN STATIS
Fragmentasi yaitu Penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan. Fragmentasi pada pemartisian tetap terdiri dari:
a.      Fragmentasi internal.
Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.
b.      Fragmentasi ekstenal.
Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan

FUNGSI MANAJEMEN MEMORI
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.

DESKRIPSI HIRARKI MEMORI
1.      Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik.
2.      Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama.
3.      Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache relatif kecil. 

ADDRESS BINDING
-          Sebelum eksekusi, program/proses berada di dalam disk, dan pada saat dieksekusi ia perlu berada pada suatu lokasi dalam memori fisik.
-          Address binding adalah menempatkan address relatif program/proses ke dalam address fisik meori (real memory address). Dapat berlangsung dalam salah satu tahapan: kompilasi, load atau eksekusi

TAHAPAN RUNNING PROGRAM
1.      Tahapan Kompilasi : source program (source code) dikompilasi menjadi object module (object code).
2.      Tahapan link & load : object module di-link dengan object module lain menjadi load module (execution code) kemudian di-load ke memori untuk dieksekusi.
3.      Tahapan eksekusi : mungkin juga dilakukan dynamic linking dengan resident library.

ADDRESS BINDING SAAT KOMPILASI
1.      Jika lokasi dari proses sudah diketahui sebelumnya maka saat kompilasi address-address instruksi dan data ditentukan dengan alamat fisik.
2.      Jika terjadi perubahan pada lokasi tersebut maka harus di rekompilasi.

ADDRESS BINDING SAAT LOAD
1.      Code hasil kompilasi masih menunjuk address-address secara relatif, saat di-load address-address disubstitusi dengan alamat fisik berdasar relokasi proses yang diterima.
2.      Jika terjadi perubahan relokasi maka code di-load ulang.

ADDRESS BINDING SAAT EKSEKUSI
1.      Binding (ikatan) bisa dilakukan ulang selama proses
-    Hal ini untuk memungkinkan pemindahan proses dari satu lokasi ke lokasi lain selama run.
2.      Perlu adanya dukungan hardware untuk pemetaan address
-    Contoh : base register dan limit register