Anda di halaman 1dari 13

BAB I

PENDAHULUAN

A. Latar Belakang
Biasanya, istilah Sistem Operasi sering ditujukan kepada semua perangkat lunak
yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi
perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas
untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar
sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program
pengolah kata dan peramban web.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang
ditempatkan pada memori komputer pada saat komputer dinyalakan booting. Sedangkan
software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem
Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut
seperti akses ke disk, manajemen memori, penjadwalan tugas schedule task, dan antar-
muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan
tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem
Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan
dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi
adalah penghubung antara lapisan hardware dengan lapisan software. Sistem Operasi
melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi
yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin
aplikasi lainnya dapat menggunakan memori, melakukan input dan output terhadap
peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi
berjalan secara bersamaan, maka Sistem Operasi mengatur schedule yang tepat, sehingga
sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk
menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-
fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam
setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.

1
B. Pokok Masalah
1. Apakah pengertian memori?
2. Bagaimanakah manajemen memori?

C. Tujuan
1. Untuk mengetahui pengertian memori
2. Untuk mengetahui manajemen memori

2
BAB II
PEMBAHASAN

A. Pengertian 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.

B. Manajemen Memori
1. Konsep Dasar Memori
Memori sebagai tempat penyimpanan instruksi/ data dari program. Memori
adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan
dijalankan, harus melalui memori terlebih dahulu. Supaya untuk dapat dieksekusi,
program harus dibawa ke memori dan menjadi suatu proses.
2. Jenis-jenis Memori:
a. Memori Kerja
- ROM/PROM/EPROM/EEPROM
- RAM
- Cache memory
b. Memori Dukung
- Floppy
- Harddisk
- CD, dll
3. Konsep Binding
Sebelum eksekusi, program berada di dalam disk, dan saat dieksekusi
program tersebut perlu berada pada suatu lokasi dalam memori fisik. Address
Binding adalah cara instruksi dan data (yang berada di disk sebagai file executable)
dipetakan ke alamat memori. Alamat (address) pada source program umumnya

3
merupakan alamat simbolik. Sebuah compiler biasanya membutuhkan “mengikat”
(bind) alamat simbolik ke alamat relokasi.
Address Binding dapat berlangsung dalam 3 tahap yang berbeda, yaitu:
a. kompilasi,
b. load, atau
c. eksekusi dari suatu program
Cara Sistem Operasi menempatkan program di dalam memori:
a. Kompilasi dan Linking menerjemahkan semua simbol data berdasarkan alamat
acuan absolut
b. Proses relokasi (proses mapping program dari lokasi memori) terjadi apabila:
- Jika program berada di memori, maka semua alamat lojik dalam program
harus dikonversi ke alamat fisik.
- Statis: relokasi alamat dilakukan sebelum program dijalankan
- Dinamis: relokasi alamat dilakukan pada saat referensi setiap instruksi atau
data
4. Dynamic Loading
Dengan dynamic loading merupakan suatu routine tidak diload sampai
dipanggil. Semua routine disimpan pada disk sebagai format relocatable load.
Mekanisme dasar:
Program utama diload dahulu dan dieksekusi
 Bila suatu routine perlu memanggil routine yang lain, routine yang dipanggil
lebih dahulu diperiksa apakah routine yang dipanggil sudah diload. Jika tidak,
relocatable linking loader dipanggil untuk meload routine yang diminta ke
memori dan mengupdate tabel alamat dari program yang mencerminkan
perubahan ini.
Keuntungan dari dynamic loading adalah:
 Rutin yang tidak digunakan tidak pernah di-load
 Cocok untuk kode dalam jumlah besar
 Digunakan untuk menangani kasus-kasus yang jarang terjadi seperti error
routine
 Tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya
perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic
loading.

4
5. Dynamic Linking
Konsep dynamic linking sama dengan dynamic loading. Karena pada saat loading,
linking ditunda hingga waktu eksekusi.
Program-program user tidak perlu menduplikasi system library karena:
 System library dipakai bersama
 Mengurangi pemakaian space: satu rutin library di memori digunakan secara
bersama oleh sekumpulan proses
Contoh: DLL Win32
Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana
meload library jika routine tidak tersedia saat itu):
 Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah berada di dalam
memori (diakses oleh proses lain yang run), kalau belum ada maka rutin
tersebut diload
 Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut
Dynamic Linking membutuhkan beberapa dukungan dari OS, misal:
 Bila proses-proses di memori utama saling diproteksi, maka SO melakukan
pengecekan apakah rutin yang diminta berada diluar alamat.
 Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama.
File dynamic linking berekstensi: dll .sys .drv
6. Overlay
Hanya instruksi dan data yang diperlukan pada suatu waktu yang disimpan di
memori. Overlay diperlukan jika ukuran proses lebih besar dari memori yang
dialokasikan untuknya.
Overlay tidak membutuhkan dukungan khusus dari SO antara lain:
 User dapat mengimplementasikan secara lengkap menggunakan struktur file
sederhana
 OS memberitahu hanya jika terdapat I/O yang melebihi biasanya

C. Strategi Manajemen Memori


Strategi yang dikenal untuk mengatasi hal tersebut adalah memori maya. Memori
maya menyebabkan sistem seolah-olah memiliki banyak memori dibandingkan dengan
keadaan memori fisik yang sebenarnya. Memori maya tidak saja memberikan
peningkatan komputasi, akan tetapi memori maya juga memiliki bberapa keuntungan
seperti:

5
1. Large Address Space
Membuat sistem operasi seakan-akan memiliki jumlah memori melebihi
kapasitas memori fisik yang ada. Dalam hal ini memori maya memiliki ukuran yang
lebih besar daripada ukuran memori fisik.
2. Proteksi
Setiap proses di dalam sistem memiliki virtual address space. Virtual address
space tiap proses berbeda dengan proses yang lainnya lagi, sehingga apapun yang
terjadi pada sebuah proses tidak akan berpengaruh secara langsung pada proses
lainnya
3. Memory Mapping
Memory mapping digunakan untuk melakukan pemetaan image dan file-file
data ke dalam alamat proses. Pada pemetaan memori, isi dari file akan di link secara
langsung ke dalam virtual address space dari proses.
4. Fair Physical Memory Allocation
Digunakan oleh Manajemen Memori untuk membagi penggunaan memori
fisik secara “adil” ke setiap proses yang berjalan pada sistem.
5. Shared Virtual Memory
Meskipun tiap proses menggunakan address space yang berbeda dari memori
maya, ada kalanya sebuah proses dihadapkan untuk saling berbagi penggunaan
memor.

D. Ruang Alamat Logika dan Fisik


Alamat Logika adalah alamat yang digenerate oleh CPU, disebut juga Alamat
Virtual. Alamat Fisik adalah alamat yang terdapat di memori. Perlu ada penerjemah
(translasi) untuk menerjemahkan bahasa dari alamat logika ke alamat fisik. MMU
(Memory Management Unit) adalah perangkat keras yang memetakan alamat logika ke
alamat fisik. Dalam Skema MMU:
1. Menyediakan perangkat register yang dapat diset oleh CPU: setiap proses
mempunyai data set register tersebut (disimpan di PCB)
2. Harga dalam register base/relokasi ditambahkan ke setiap alamat proses user pada
saat run dimemori
3. Program-program user hanya berurusan dengan alamat logika saja

6
E. Swapping
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di memori
sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori
untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain
yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat
penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang
dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses
langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan
dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari
tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja
yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready queue
berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori
yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia
lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih berada
dalam penyimpanan sementara. Jika proses tersebut belum berada di memori maka
proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai
berikut: Algoritma Round-Robin yang digunakan pada multiprogramming environment
menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-
prosesnya. Ketika waktu kuantum berakhir, memory manager akan mengeluarkan (swap
out) proses yang telah selesai menjalani waktu kuantumnya pada suatu saat serta
memasukkan (swap in) proses lain ke dalam memori yang telah bebas tersebut. Pada saat
yang bersamaan penjadwal CPU akan mengalokasikan waktu untuk proses lain dalam
memori. Hal yang menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga
waktu penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses penukaran
yang terjadi antara memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis prioritas
dimana ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan
mengeluarkan proses dengan prioritas yang lebih rendah serta me-load proses dengan
prioritas yang lebih tinggi tersebut. Saat proses dengan prioritas yang lebih tinggi telah
selesai dieksekusi maka proses yang memiliki prioritas lebih rendah dapat dimasukkan
kembali ke dalam memori dan kembali dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat
ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat

7
penyimpanan sementara yang berupa harddisk memiliki kecepatan transfer data sebesar
20 MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar 5
MB tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps = 250
ms.
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan
waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena
terdapat dua kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi
adalah proses pemasukan proses ke dalam memori, maka total waktu swap menjadi 252
+ 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap
hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu
swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang terjadi
pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan
fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta
memori dan kapan membebaskan ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita
harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K
tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk).
Contohnya seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak
memasukkan proses P2, maka operasi M/K yang juga berada di antrian akan mengambil
jatah ruang memori yang dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak
melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi
M/K hendaknya dilakukan pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang
digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya tidak diaktifkan,
namun akan dimulai jika banyak proses yang membutuhkan alokasi memori yang
banyak. Swapping akan dinonaktifkan kembali jika jumlah proses yang dimasukkan
berkurang. Pada sistem operasi Microsoft Windows 3.1, jika sebuah proses baru
dimasukkan dan ternyata tidak ada cukup ruang di memori untuk menampungnya, proses
yang lebih dulu ada di memori akan dipindahkan ke disk. Sistem operasi ini pada
dasarnya tidak menerapkan teknik swapping secara penuh, hal ini disebabkan pengguna
lebih berperan dalam menentukan proses mana yang akan ditukar daripada penjadwal
CPU. Dengan ketentuan seperti ini proses-proses yang telah dikeluarkan tidak akan
kembali lagi ke memori hingga pengguna memilih proses tersebut untuk dijalankan.

8
F. Pencatatan Pemakain Memori
Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian
memori. Terdapat dua cara utama pencatatan pemakaian memori, yaitu:
1. Peta Bit.
Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit
alokasi adalah satu bit pada bit map.
a. Nilai 0 pada peta bit berarti unit itu masih bebas.
b. Nilai 1 berarti unit digunakan.
Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi
memori, yaitu:
a. Unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
b. Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori banyak
disiakan pada unit terakhir jika ukuran proses bukan kelipatan unit alokasi.
Keunggulan: Dealokasi dapat dilakukan secara mudah, hanya tinggal menset
bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan: Harus dilakukan penghitungan blok lubang memori saat unit
memori bebas. Memerlukan ukutan bit map besar untuk memori yang besar.
2. Linked List.
Sistem operasi mengelola senarai berkait (linked list) untuk segmen-segmen
memori yang telah dialokasikan dan bebas. Segmen memori menyatakan memori
untuk proses atau memori yang bebas (lubang). Senarai segmen diurutkan sesuai
alamat blok.
Keunggulan: Tidak harus dilakukan perhitungan blok lubang memori karena
sudah tercatat di node. Memori yang diperlukan relatif lebih kecil.
Kelemahan: Dealokasi sulit dilakukan karena terjadi berbagai operasi
penggabungan

G. Monoprogramming
Monoprogramming sderhana tanpa swapping merupakan manajemen memori
sederhana. Sistem computer hanya mengijinkan satu program pemakai berjalan pada satu
waktu. Semua sumber daya sepenuhnya dikuasai proses yang sedang berjalan.
Ciri-ciri:
1. Hanya satu proses pada satu saat
2. Hanya satu proses menggunakan semua memori

9
3. Pemakai memuatkan program ke seluruh memori dari disk/tape
4. Program mengambil alih kendali seluruh mesin
Karena hanya terdapat satu proses dan menguasai seluruh sistem maka alokasi
memori dilakukan secara berturutan

Embedded system
Teknik monoprogramming masih dipakai untuk sistem kecil yaitu system
tempelan (Embedded sitem) yang terdapat pada system lain. Sistem tempelan
menggunakan mikroprosessor kecil. Sistem ini biasanya mengendalikn suatu alat
sehingga bersifat intelejen(intelejentdevice) dalam menyediakan satu fungsi spesifik.
Proteksi pada monoprogramming sederhana
Pada monoprogramming pemakai memiliki kendali penuh terhadapmemori
utama. Memori terbagi menjadi 3 bagian, yaitu
1. Bagian rutin system operasi
2. Bagian program pemakai
3. Bagian yang tidak digunakan
Masalah proteksi di monoprogramming adalah cara untuk melindungi rutin
system operasi dari penghancuran program pemakai. Program pemakai dapat tersesat
sehingga memanipulasi atau menempati ruang memori rutin system operasi. Aktivitas ini
dapat merusak system operasi.
Proteksi diimplementasikan dengan menggunakan satu register batas di
processor. Setiap kali program pemakai mengacu alamat memori dibandingkan dengan
register batas untuk memastikan proses tidak pemakai tidak merusak system operasi,
yaitu tidak melewati nilai register batas.
Register batas berisi alamat memori tertinggi yang dipakai system operasi. Jika
program pemakai mencoba memasuki system operasi, instruksi diintersepsi dan job
diakhiri dan diberi pesan kesalahan.

H. Pengalokasian Berurutan (Contigous Allocation)


Alokasi memori secara berturutan adalah tiap proses menempati satu blok tunggal
memori yang berturutan
1. Multiprograming
Multiprogramming merupakan banyak proses pada memori utama pada saat
bersamaan. Alasan mengunakan multiprogramming:

10
 Mempermudah pemogram karena pemrogram dapat memecah program menjadi
dua proses atau lebih.
 Dapat memberi layanan interaktif ke beberapa orang secara simultan.
 Efisiensi penggunaan sumber daya.
 Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.
 Dapat mengerjakan sejumlah job secara simultan
2. 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
3. Multiprogramming dengan Permartisian Statis
Terbagi dua:
a. Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi
memori adalah sama
b. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua
partisi memori adalah berbeda.
System Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan
penggunaan bilangan biner dalam pegalamatan memori. Karakteristik bilangan biner
digunakan untuk mempercepat penggabungan lubang-lubang berdekatan ketika
proses terakhir atau dikeluarkan.

I. Pengalokasian 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.

11
Terdapat 2 (dua) macam pemilahan, yaitu
1. Berpilah Suku (paging)
Informasi atau pekerjaan di dalam memori dukung dipilah ke dalam sejumlah
suku (page), dan memori kerja dipilah ke dalam sejumlah rangka (frame)
2. Berpilah Segmen (segmentasi)
Pilahan yang ukuran segmen disesuaikan dengan isi segmen salah satu
macam pemilahan gabungan suku dan segmen adalah pemilahan suku bersegmen,
dimana suku dikelompokan ke dalam sejumlah segmen.
Chace memory memiliki kecepatan lebih tinggi sebagai memori antara yang
mempercepat proses pada memory kerja, juga sebagai transit lalulintas data selama
proses dengan sumberdaya lain pada memori utama.
Pemindahan proses dari memori utama ke disk dan sebaliknya disebut
swapping.

12
BAB II
PENUTUP

A. Kesimpulan
Dalam sistem operasi komputer mengenal suatu sistem manajemen file. Sistem
manajemen file ini perlu diimplementasikan untuk dapat digunakandalam sistem operasi
komputer. Dalam pengimplementasiannya, seringkalimenimbulkan beberapa masalah,
oleh karena itu masalah tersebut harus dapatdiselesaikan oleh sistem operasi komputer.
Penyelesaiannya memiliki beberapa cara yang masing-masing memiliki keunggulun dan
kelemahantersendiri. Kinerja dari sistem manajemen file pun memiliki beberapa
carayang dapat digunakan seperti yang telah kami paparkan dalam isi makalah ini. Kita
juga harus menguasai dalam pembuatan database dan memahamisistem berkas dalam
komputer, karena database dapat membantu kitamembuat suatu sistem yang praktis,
tanpa redundansi dan mudah untuk digunakan, walaupun dalam penggunaannya
memiliki beberapa kekurangan. Sedangkan sistem berkas, dapat membantu kita untuk
mengelola berkas dalam pengelolaan komputer.
File system atau manajemen file adalah metode dan struktur data yang digunakan
sistem operasi untuk mengatur dan mengorganisir file pada disk atau partisi. File system
juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file
dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan
cara melakukan Format.

B. Saran
Memahami bagaimana cara kerja sistem operasi beserta atribut-atributnya dapat
membuat kita mamahami dan mudah membuat program yang kita inginkan. Oleh karena
itu, menambah wawasan mengenai komputer dapat menjadi satu solusi agar kita bisa
lebih maju sebagai mahasiswa jurusan informatika dan sebagai manusia yang hidup
dalam era globalisasi seperti sekarang ini.

13

Anda mungkin juga menyukai