1.
fungsi dan manajemen unit
jawab
1 Meningkatkan kinerja atau Utilitas
CPU.
2 Meningkatkan kecepatan akses CPU terhadap data dan instruksi Data dan instruksi dapat diakses dengan cepat oleh CPU.
3 Meningkatkan efisensi pemakaian memori yang terbatas.
4 Meningkatkan efisiensi transfer atau perpindahan data dari atau ke memori utama dan dari atau ke CPU.
5 Mengelola informasi yang dipakai dan tidak dipakai.
6 Mengalokasikan memori ke proses yang memerlukan.
7 Mendealokasikan memori dari proses telah selesai.
8 Mengelola swapping atau paging antara memori utama dan disk
2 Meningkatkan kecepatan akses CPU terhadap data dan instruksi Data dan instruksi dapat diakses dengan cepat oleh CPU.
3 Meningkatkan efisensi pemakaian memori yang terbatas.
4 Meningkatkan efisiensi transfer atau perpindahan data dari atau ke memori utama dan dari atau ke CPU.
5 Mengelola informasi yang dipakai dan tidak dipakai.
6 Mengalokasikan memori ke proses yang memerlukan.
7 Mendealokasikan memori dari proses telah selesai.
8 Mengelola swapping atau paging antara memori utama dan disk
2. menejemen memori unit
berdasarkan alokasi memori.
jawab
a. berurutan ; 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. tak berurutan 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.
3. Jelaskan:
jawab
Swepping Pemindahan proses dari memori utama ke disk dan sebaliknya.
Pagging : 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).
Partisi Pembagian harddisk menjadi beberapa
bagian yang digunakan untuk mempermudah manajemen file.
Segmentasi 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.
Hubungan Chace Memory, Memori
Utama dan Memori Sekunder
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.
4. beberapa metode alokasi memori, salah satunya lengkapkan dengan
study kasus.
Jawab
Studi Kasus
Kita ingin
mengambil data pixel suatu gambar, kemudian kita menyimpannya ke buffer
(penampung sementara) untuk diolah. Bagaimana kita mendefinisikan ukuran array
bila ukuran gambar bermacam-macam?
Perlu diingat
jumlah array harus didefinisikan dahulu sebelum, dipakai !
Apabila ukuran array lebih kecil dari yang kita gunakan, maka akan menyebabkan segmentation fault (banjir).
Apabila ukuran array lebih kecil dari yang kita gunakan, maka akan menyebabkan segmentation fault (banjir).
Menggunakan Array
yang super besar? Bagaimana jika yang kita load ternyata ukurannya kecil? Tentu
memboroskan memori.
Mengatur ukuran gambar agar fix? Tentu program kita menjadi tidak portable! Serta perlu editor gambar.
Mengatur ukuran gambar agar fix? Tentu program kita menjadi tidak portable! Serta perlu editor gambar.
Solusi:
Kita gunakan
alokasi memori dinamis! Dinamis? Ya! Karena kita dapat mengalokasikan dimana
saja, berapa saja serta dapat didealokasikan kapan saja agar dapat dipakai
untuk yang lain.
Apa perbedaan memori
dinamis dan statis (Array)?
Memori dinamis telah djelaskan diatas, sedangkan array alokasi dan dealokasi dilakukan oleh kompiler, jumlah alokasi sudah tetap sebesar saat kita mendefinisikan Array di awal program.
Memori dinamis telah djelaskan diatas, sedangkan array alokasi dan dealokasi dilakukan oleh kompiler, jumlah alokasi sudah tetap sebesar saat kita mendefinisikan Array di awal program.
Algorithma pemecahan masalah diatas:
Inisialisasi
pointer
Load File Image
Dapatkan ukuran Image beserta pixelnya.
Load File Image
Dapatkan ukuran Image beserta pixelnya.
Alokasikan memori
sebesar ukuran pada step 3, tunjuk pointer ke alamat memori yang dialokasikan
ini.
Proses Image.
Apabila proses
telah selesai dan alamat memori diatas sudah tidak dipakai, maka de-alokasikan
alamat memori dari step 4. Agar bisa digunakan untuk yang lain.
Proses dealokasi
penting dilakukan untuk meningkatkan performa, serta menghindari “out of
memory”.
Cara mengalokasi
memori salah satunya adalah menggunakan fungsi malloc seperti yang
didefinisikan pada file stdlib.h:
(void
*)malloc(size_of_memory_yang_dialokasikan)
Contoh program
Pointer , Array dan alokasi memori dinamis.
#include
#include
int
main()
{
int
*X;
int
*posAwal;
int i;
X =
(int *)malloc(10*sizeof(int)); // alokasi memori sebesar 10 *4 byte.
//
Identik dengan X[10] pada Array
posAwal
= X; // simpan posisi awal X ke posAwal (agar tidak tersesat)
/*
Dengan Array */
for(i=0;i<10;i++)
X[i] =
i;
for(i=0;i<10;i++)
printf(“X[%d]
= %d”,i,X[i]);
/*
Dengan Pointer */
for(i=0;i<10;i++)
*X++ =
i *10;
X =
posAwal; // kembalikan posisi awal X
for(i=0;i<10;i++)
printf(“*X
= %d”,*X++);
free(X);
//bebaskan memori X
}
Pada program
diatas, saat menggunakan pointer sebaiknya kita menyimpan posisi awal dari
memori yang ditunjuk, agar tidak terjadi kasus seperti pada pembahasan POINTER
dan ARRAY.
No comments:
Post a Comment