MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga...

20
MAKALAH SISTEM OPERASI Manajemen Memori (Dosen pengampu : Putri Taqwa Prasetyaningrum) Di SUSUN OLEH : RICKY ARIF SUKOCO 14121022 UNIVERSITAS MERCUBUANA YOGYAKARTA FAKULTAS TEKNOLOGI INFORMASI PRODI SISTEM INFORMASI 2016-2017

Transcript of MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga...

Page 1: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

MAKALAH SISTEM OPERASI

Manajemen Memori

(Dosen pengampu : Putri Taqwa Prasetyaningrum)

Di SUSUN OLEH :

RICKY ARIF SUKOCO

14121022

UNIVERSITAS MERCUBUANA YOGYAKARTA

FAKULTAS TEKNOLOGI INFORMASI

PRODI SISTEM INFORMASI

2016-2017

Page 2: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah SWT, karena atas nikmat dan karunianya

kami mampu menyelesaikan makalah dengan judul manajemen memori yang meliputi

hierarki organisasi memori pada system computer, pengalamatan memori, overlay, dynamic

loading, dynamic linking, virtual memory, dan mekanisme demand paging..

Makalah ini ditulis dengan tujuan untuk memberikan pengetahuan untuk dapat

mempelajari, memahami dan mencoba manajemen memori secara mudah dan sesuai dengan

kebutuhan. Selain itu, makalah ini ditujukan juga untuk memenuhi tugas semester lima dalam

matakuliah Sistem Operasi.

Dalam makalah ini juga kami berusaha memberikan materi secara lengkap, sederhana

dan mudah untuk dipahami. Ada pepatah bahwa tidak ada gading yang tidak retak maka

makalah ini pun tidak lepas dari kekurangan baik dari segi teknis maupun segi materi

sehingga jika ada saran dan kritik yang membangun anda dapat memberitahukannya kepada

kami. Akhir kata kami ucapakan terimakasih.

Yogyakarta, 26 November 2016

Ricky Arif Sukoco

Page 3: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

Daftar Isi

COVER ................................................................................................................................................... 1

KATA PENGANTAR ........................................................................................................................ 2

Daftar Isi ............................................................................................................................................. 3

BAB 1 PENDAHULUAN .................................................................................................................. 4

1.1 Latar Belakang ........................................................................................................................... 4

1. Hierarki organisasi memori pada sistem komputer ..................................................................... 4

1.1 Gambar ................................................................................................................................ 5

1.2 Contoh dan Penerapannya ................................................................................................... 5

2. Pengalamatan Memori ................................................................................................................ 7

2.1 Immediate Addressing (Pengalamatan Segera) ........................................................................ 8

2.2 Direct Addressing (Pengalamatan Langsung) ........................................................................... 8

2.3 Indirect Addressing (Pengalamatan tak langsung) .................................................................... 9

2.4 Register addressing (Pengalamatan Register) ......................................................................... 10

2.5 Register indirect addressing (Pengalamatan tak-langsung register) ....................................... 11

2.6 Displacement addressing......................................................................................................... 11

2.7 Stack addressing ...................................................................................................................... 12

3. Overlay ...................................................................................................................................... 13

3.1 Gambar .............................................................................................................................. 13

3.2 Contoh dan Penerapannya ................................................................................................. 13

4. Dynamic Loading ...................................................................................................................... 14

4.1 Gambar .............................................................................................................................. 14

4.2 Contoh dan Penerapannya ................................................................................................. 14

5. Dynamic Linking ...................................................................................................................... 15

6. Virtual Memory ........................................................................................................................ 16

6.1 Gambar .............................................................................................................................. 16

6.2 Contoh dan Penerapannya ................................................................................................. 16

7. Mekanisme Demand Paging ..................................................................................................... 17

7.1 Gambar .............................................................................................................................. 17

7.2 Contoh dan Penerapannya ................................................................................................. 17

8. DAFTAR PUSTAKA...................................................................................................................... 20

Page 4: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

BAB 1 PENDAHULUAN

1.1 Latar Belakang Sistem operasi adalah perangkat lunak sisitem 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.

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

1. Hierarki organisasi memori pada sistem komputer

Memori adalah salah satu bagian dari komputer yang berfungsi sebagai menyimpan

program – program dan data – data disimpan, sehingga data akan diolah menjadi suatu data

hasil olahan atau sistem informasi yang akan di outputkan, sedangkan program atau intruksi

digunakan untuk mengolah data tersebut. Memori bersifat volatile (yaitu memori yang

datanya dapat ditulis dan dihapus tapi data akan hilang jika kehilangan tenaga/power)

dan non-volatile (yaitu memori yang datanya dapat ditulis dan dihapus dan tidak akan hilang

walaupun kehilangan tenaga/power) dan juga memori dengan kecepatan akses yang tinggi

dan rendah. Hirarki dari memori dapat digambarkan sebagai berikut;

Page 5: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

1.1 Gambar

Gambar1.1 Hierarki organisasi memori pada system komputer

1.2 Contoh dan Penerapannya

1.2.1 Register Memori Merupakan jenis memori dengan kecepatan akses yang paling

cepat , memori ini terdapat pada CPU/ prosesor. Contoh : Register Data, Register

Alamat, Stack Pointer Register, Memori Addres Register, Instruction Register, dll.

1.2.2 Cache Memori Merupakan memori berkapasitas kecil yang lebih mahal dari

memori utama. Cache memori terletak antara memori utama dan register

pemroses, berfungsi agar pemroses tidak langsung mengacu pada memori utama

agar kinerja dapat ditingkatkan. Cache Memory ini ada dua macam yaitu :

a. Cache Memory yang terdapat pada internal Processor , chace memory jenis ini

kecepatan aksesnya sangat tinggi, dan harganya sangat mahal. Contohnya pada

Processor yang berharga mahal seperti P4,P3,AMD-Athlon dll, semakin tinggi

kapasitas L1,L2 Chace memori maka semakin mahal dan semakin cepat

Processor.

b. Chace Memory yang terdapat diluar Processor, yaitu berada pada MotherBoard,

memori jenis ini kecepatan aksesnya sangat tinggi, meskipun tidak secepat chache

memori jenis pertama ( yang ada pada internal Processor ). Semakin besar

kapasitasnya maka semakin mahal dan cepat. Hal ini bisa kita lihat pada

Motherboard dengan beraneka ragam kapasitas chace memory yaitu 256kb,

512kb, 1Mb, 2Mb dll.

1.2.3 Memori Utama Memori yang berfungsi untuk menyimpan data dan program. Jenis

Memori Utama :

Page 6: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

a. ROM ( Read Only memory) yaitu memory yang hanya bisa dibaca saja

datanya atau programnya. Pada PC, ROM terdapat pada BIOS ( Basic Input

Output System ) yang terdapat pada Mother Board yang berfungsi untuk men-

setting peripheral yang ada pada system. Contoh: AMIBIOS, AWARD BIOS,

dll. ROM untuk BIOS terdapat beragam jenis diantaranya jenis Flash

EEPROM BIOS yang memiliki kemampuan untuk dapat diganti programnya

dengan software yang disediakan oleh perusahhan pembuat Mother Board,

yang umumnya penggantian tersebut untuk peningkatan unjuk kerja dari

peripheral yang ada di Mother Board.

b. RAM (Random Acces Memory) yang memiliki kemampuan untuk dirubah

data atau program yang tersimpan didalamnya. Ada beberapa jenis RAM yang

ada dipasaran saat ini : SRAM, EDORAM , SDRAM, DDRAM, RDRAM,

VGRAM.

1.2.4 Cache Disk

Memori berkecepatan tinggi yang sifat nya sementara.Fungsi dari chache memory

adalah tempat menyimpan data/instruksi sementara yang diperlukan prosessor jadi

chache memori ini berfungsi untuk mempercepat akses data pada komputer kerena

chace menyimpan data/informasi yang telah diakses oleh suatu buffer sehingga

meringankan kinerja komputer.

Cara kerja memori chache,jika prosessor membutuhkan data pertama dia akan

mencarinya di chache memori,jika data ditemukan prosesor akan membacanya

dengan delay yang sangat kecil, jika data tidak ditemukan maka prosessor akan

mencarinya pada RAM yang kecepatannya lebih rendah.Pada dasarnya chace

memori dapat memberikan data yang dibutuhkan prosessor sehingga kinerja RAM

yang lambat dapat dikurangi.

1.2.5 Cakram Magnetis

merupakan piranti penyimpanan sekunder yang paling banyak dijumpai pada

sistem komputer modern. Pada saat disk digunakan, motor drive berputar dengan

kecepatan yang sangat tinggi. Ada sebuah read-write head yang ditempatkan di

atas permukaan piringan tersebut. Permukaan disk terbagi atas beberapa track

yang masih terbagi lagi menjadi beberapa sektor. Cakram fixed-head memiliki

satu head untuk tiap-tiap track, sedangkan cakram moving-head (atau sering

dikenal dengan nama cakram keras ) hanya memiliki satu head yang harus

dipindah-pindahkan untuk mengakses dari satu track ke track yang lainnya.

Page 7: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

1.2.6 Magnetic Disk

suatu medium untuk perekaman magnetis, dibuat dari suatu mantel magnetizable

tipisyang panjang. Kebanyakan audio, video dan penyimpanan data komputer jenis ini

dikembangkan Negara Jerman, berdasar pada konsep kawat magnetis adalah Alat yang

merekam dan memainkan kembali audio dan pita perekam penggunaan video adalah alat

perekam dan video recorder. Suatu alat yang menyimpan data komputer pada pita

perekam adalah suatu tape drive ( unit tape ).

1.2.7 Cakram Optis

Adalah suatu medium penyimpanan data komputer dapat berupa vilm atau music

dan data yang dapat dibaca dengan optic reader pada room dan setiap cakram

optic memiliki room yang berbeda utuk setiap jeniscakram optic tertentu.

2. Pengalamatan Memori

Page 8: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

2.1 Immediate Addressing (Pengalamatan Segera)

Adalah bentuk pengalamatan yang paling sederhana.

2.1.1 Penjelasan :

a. Operand benar-benar ada dalam instruksi atau bagian dari intruksi.

b. Operand sama dengan field alamat

c. Umumnya bilangan akan disimpan dalam bentuk complement dua

d. Bit paling kiri sebagai bit tanda

e. Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri

hingga maksimum word data.

2.1.2 Keuntungan :

a. Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk

memperoleh operand.

b. Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat

2.1.3 Kekurangan :

a. Ukuran bilangan dibatasi oleh ukuran field

2.1.4 Contoh : ADD 7 ; tambahkan 7 pada akumulator

2.2 Direct Addressing (Pengalamatan Langsung)

2.2.1 Penjelasan :

Page 9: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

a. Teknik ini banyak digunakan pada komputer lama dan komputer kecil

b. Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus

khusus.

2.2.2 Kelebihan :

a. Field alamat berisi efektif address sebuah operand.

2.2.3 Kekurangan :

a. Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil

dibandingkan panjang word.

2.2.4 Contoh :ADD A ; tambahkan isi pada lokasi alamat A ke akumulator

Gambar 1.2 pengalamatan langsung

2.3 Indirect Addressing (Pengalamatan tak langsung)

2.3.1 Penjelasan :

a. Merupakan mode pengalamatan tak langsung

b. Field alamat mengacu pada alamat word di alamat memori, yang pada

gilirannya akan berisi alamat operand yang panjang

2.3.2 Kelebihan :

a. Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat

referensi

2.3.3 Kekurangan :

a. Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat

proses operasi

2.3.4 Contoh : ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke

akumulator

Page 10: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

Gambar 1.3 pengalamatan tak langsung

2.4 Register addressing (Pengalamatan Register)

2.4.1 Penjelasan :

a. Metode pengalamatan register mirip dengan mode pengalamatan langsung

b. Perbedaanya terletak pada field alamat yang mengacu pada register, bukan

pada memori utama.

c. Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat

mereferensi 8 atau 16 register general purpose

2.4.2 Keuntungan :

a. Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan

referensi memori

b. Akses ke register lebih cepat daripada akses ke memori, sehingga proses

eksekusi akan lebih cepat

2.4.3 Kerugian :

a. Ruang alamat menjadi terbatas

2.4.4 Contoh :

Gambar 1.4 Pengalamatan Register

Page 11: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

2.5 Register indirect addressing (Pengalamatan tak-langsung register)

2.5.1 Penjelasan :

a. Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan

tidak langsung

b. Perbedaannya adalah field alamat mengacu pada alamat register

c. Letak operand berada pada memori yang dituju oleh isi register

d. Keuntungan dan keterbatasan pengalamatan register tidak langsung pada

dasarnya sama dengan pengalamatan tidak langsung

e. Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak

langsung sehingga alamat yang dapat direferensi makin banyak

f. Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan

register tidak langsung hanya menggunakan satu referensi memori utama

sehingga lebih cepat daripada mode pengalamatan tidak langsung

2.5.2 Contoh :

Gambar 1.5 Pengalamatan tak-langsung register

2.6 Displacement addressing

2.6.1 Penjelasan :

a. Menggabungkan kemampuan pengalamatan langsung dan pengalamatan

register tidak langsung

b. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya

sebuah field yang eksplisit

c. Operand berada pada alamat A ditambahkan isi register

d. Tiga model displacement

Page 12: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

o Relative addressing : register yang direferensi secara implisit adalah Program

Counter (PC)

Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke

field alamat

Memanfaatkan konsep lokalitas memori untuk menyediakan operand-

operand berikutnya

o Base register addressing : register yang direferensi berisi sebuah alamat

memori dan field alamat berisi perpindahan dari alamat itu

Referensi register dapat eksplisit maupun implisit

Memanfaatkan konsep lokalitas memori

o Indexing : field alamat mereferensi alamat memori utama, dan register yang

direferensikan berisi pemindahan positif dari alamat tersebut

Merupakan kebalikan dari mode base register

Field alamat dianggap sebagai alamat memori dalam indexing

Manfaat penting dari indexing adalah untuk eksekusi program-

pprogram iteratif

2.6.2 Contoh : Field eksplisit bernilai A dan field imlisit mengarah pada register

Gambar 1.6 Pengalamatan Displacement addressing

2.7 Stack addressing

2.7.1 Penjelasan :

a. Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out

b. Stack merupakan blok lokasi yang terbaik

Btir ditambahkan ke puncak stack sehingga setiap blok akan terisi secara

parsial

c. Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat

Page 13: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

bagian paling atas stack

d. Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal

ini stack pointer mereferensi ke elemen ketiga stack

e. Stack pointer tetap berada dalam register

f. Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada

dasarnya merupakan pengalamatan register tidak langsung.

3. Overlay

3.1 Gambar

Gambar 1.7 Overley

3.2 Contoh dan Penerapannya

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.

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 diperuntukkan. Overlay tidak membutuhkan

dukungan khusus dari sistem operasi. User dapat mengimplementasikannya secara lengkap

menggunakan struktur file sederhana, membaca dari file ke memori dan meloncat ke memori

dan mengeksekusi instruksi read yang lebih baru.

Cara kerjanya yaitu dengan membuat beberapa overlays yang didasarkan pada

perintah-perintah yang diperlukan pada satu waktu tertentu. Setelah itu, membuat overlays

Page 14: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

drivernya yang digunakan sebagai jembatan atau perantara antara overlays yang dibuat.

Proses selanjutnya ialah me-load instruksi yang dibutuhkan pada satu waktu ke dalam absolut

memori dan menunda instruksi lain yang belum di butuhkan pada saat itu. Setelah selesai

dieksekusi maka instruksi yang tertunda akan diload menggantikan instruksi yang sudah tidak

dibutuhkan lagi.

4. Dynamic Loading

4.1 Gambar

Gambar 1.8 dynamic loading

4.2 Contoh dan Penerapannya

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.

Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load.

Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-

kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan

khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka

untuk implementasi dynamic loading.

Contoh pemakaian Dynamic Loading;

Cara pemakaian API dari Dynamic Loading akan diperlihatkan di sini dengan

menggunakan program demo yang sederhana. Source code program terdiri dari dua file, yaitu

main.c dan simple_dl.c (Lihat list program: script-1 adalah main.c, script-2 adalah

simple_dl.c dan script-3 adalah Makefile). File main.c adalah program utama yang

mempunyai fungsi main(). Sedangkan file simple_dl.c adalah file modul yang berisi simbol

Page 15: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

variabel dan simbol pengimplementasi fungsi yang akan diakses dari fungsi main() dengan

menggunakan fasilitas API Dynamic Loading. Dua simbol didefinisikan di dalam

simple_dl.c. Yang pertama adalah simbol variabel yang didefinisikan sebagai berikut: char*

info_linux = "Info Linux!"; Nama simbol variabel ini adalah info_linux yang merupakan

pointer dari tipe data char. Pada pointer ini juga secara langsung dialokasikan sejumlah

memori yang berisikan karakter string "Info Linux!". Simbol kedua adalah hello_world yang

merupakan simbol dari pengimplementasi fungsi hello_world(). Pada prinsipnya nama simbol

tidak selalu sama dengan nama pengimplementasi fungsi. Kita akan membahas hal ini secara

ringkas pada bagian akhir dari artikel ini pada kasus penulisan program menggunakan C++.

Simbol fungsi ini didefinisikan sebagai berikut: void hello_world(void); Fungsi ini hanya

akan menampilkan kalimat "Hello world!" di layar monitor. Sebelum kita membahas kode di

file main.c, kita akan mencoba untuk mengkompilasi file simple_dl.c. Untuk dapat

menghasilkan shared library, pada proses kompilasi harus digunakan parameter -fPIC. PIC

adalah kepanjangan dari position independent code.

5. Dynamic Linking

Sebagian besar sistem operasi hanya men-support static linking, dimana sistem 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.

Dinamic linking biasanya digunakan dengan sistem library, seperti language subroutine

library. Tanpa fasilitas ini, semua program pada sistem perlu mempunyai copy dari library language

di dalam executable image. Kebutuhan ini menghabiskan baik ruang disk maupun memori utama.

Bagaimanapun, tidak seperti dynamic loading, dynamic linking membutuhkan beberapa

dukungan dari sistem operasi, misalnya bila proses-proses di memori utama saling diproteksi, maka

sistem operasi melakukan pengecekan apakah rutin yang diminta berada diluar ruang alamat.

Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama. File dynamic linking

berekstensi .dll, .sys atau .drv.

Page 16: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

6. Virtual Memory

6.1 Gambar

Gambar 1.8 Virtual Memory

6.2 Contoh dan Penerapannya

Virtual memory adalah sebuah mekanisme yang digunakan oleh aplikasi untuk

menggunakan sebagian dari memori sekunder seolah-olah ia menggunakannya sebagai RAM

fisik yang terinstal di dalam sebuah sistem. Mekanisme ini beroperasi dengan cara

memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive

yang disebut dengan swap file , page file atau swap partition.

Setiap program yang dijalankan harus berada di memori. Memori merupakan suatu

tempat penyimpanan utama ( primary storage) yang bersifat sementara (volatile). Ukuran

memori yang terbatas dapat menimbulkan masalah bagaimana menempatkan program yang

berukuran yang lebih besar dari ukuran memori fisik (memori utama) dan

masalah penerapan multiprogramming yang membutuhkan tempat yang lebih besar di

memori. Memori virtual memisahkan antara memori logis dan memori fisiknya. Memori

logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa memori virtual,

memori logis akan langsung dibawa ke memori fisik (memori utama). Di sinilah memori

virtual melakukan pemisahan dengan menaruh memori logis ke secondary

storage (disk sekunder) dan hanya membawa halaman yang diperlukan ke memori utama

(memori fisik). Teknik ini menempatkan keseluruhan program di disk sekunder dan

Page 17: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

membawa halaman-halaman yang diperlukan ke memori fisik sehingga memori utama hanya

akan menyimpan sebagian alamat proses yang sering digunakan dan sebagian lainnya akan

disimpan dalam disk sekunder dan dapat diambil sesuai dengan kebutuhan. Jadi jika proses

yang sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu halaman

7. Mekanisme Demand Paging

7.1 Gambar

Demand paging adalah sistem paging dengan swapping seperti pada ilustrasi gambar

dibawah.

Gambar 1.9 Mekanisme Demand Paging

7.2 Contoh dan Penerapannya

Page diletakkan di memori hanya jika diperlukan. Hal ini menyebabkan kebutuhan

I/O lebih rendah, kebutuhan memori lebih rendah, responlebih cepat dan lebih banyak

user yang menggunakan.

Proses disimpan di memori sekunder (disk). Jika proses akan dieksekusi, maka

dipindah (swap) ke memori. Menggunakan lazy swapper untuk melakukan swapping bila

page tersebut akan digunakan yang berarti sebuah page tidak pernah ditukar ke memori

kecuali page diperlukan. Jika page diperlukan, dilakukan acuan ke page tersebut, tetapi jika

acuan invalid maka dilakukan penghentian.

Untuk membedakan antara page pada memori dengan page pada disk digunakan

valid-invalid bit. Tabel page untuk page yang berada di memori diset "valid', sedangkan tabel

page untuk page yang tidak sedang di memori (ada pada disk) diset "invalid" seperti Gambar

Page 18: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

Gambar 2.0 Mekanisme Demand Paging

Akses ke page yang diset "invalid" menyebabkan page fault, yan menyebabkan trap

ke sistem operasi. Karena status (register, kode kondisi, counter instruksi) dari proses ter-

interrupt disimpan bila terjadi page fault, proses dapat dimulai lagi pada tempat dan status

yang sama, kecuali page yang cocok sedang di memori dan sedang diakses. Prosedur untuk

menangani page fault seperti Gambar sebagai berikut :

1. Sistem operasi melihat tabel untuk menentukan jika acuan invalid maka proses

dihentikan dan page sedang tidak berada di memori.

2. Jika acuan invalid dilakukan trap ke sistem operasi.

3. Sistem mencari frame kosong

4. Sistem melakukan proses swapping ke frame bebas.

5. Tabel page di-reset, bit valid-invalid diset 1 atau valid

6. instruksi di-restart.

Page 19: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

Apabila tidak ditemukan frame bebas maka dilakukan page replacement yaitu

mencari beberapa page di memori yang tidak digunakan kemudian dilakukan swap out ke

backing store. Terdapat beberapa algoritma page replacement dimana performansi algoritma

diharapkan menghasilkan jumlah page faultminimum. Beberapa page kemungkinan dibawa

ke memori beberapa kali. Perangkat keras yang dibutuhkan untuk mendukung demand

paging sama dengan perangkat keras untuk sistem paging denganswapping yaitu;

Tabel page : tabel mempunyai kemampuan untuk memberi entry bit valid-invalid atau

nilai khusus untuk bit proteksi

Memori sekunder : digunakan untuk membawa page yang tidak di memori dan

biasanya adalah disk kecepatan tinggi yang disebut swap device.

7.3 Unjuk Kerja DEMAND PAGING

Demand paging memberikan efek yang signifikan dalam kinerja system computer.

Diasumsikan ma adalah access time ke memori dan Padalah probabilitas terjadi page fault (0

≤ p ≤ 1), maka effective access time didefinisikan sebagai :

EAT = (1-p) x ma + p x page_fault-time

Untuk menghitung effective access time, harus diketahui berapa waktu yang

diperlukan untuk melayani page fault. Page fault menyebabkan terjadi

1. Trap ke sistem operasi.

2. Menyimpan register dan status proses.

3. Menentukan interrupt adalah page fault

4. Memeriksa page acuan legal atau tidak dan menentukan lokasi page pada disk.

Page 20: MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena

5. Sementara menunggu, alokasikan CPU untuk user lain.

6. Interrupt dari disk (melengkapi I/O).

7. Menyimpan register dan status process user lain.

8. Menentukan interrupt dari disk.

9. Memperbaiki tabel page dan tabel lain untuk menunjukkan pageyang dimaksud sudah

di memori.

10. Menunggu CPU dialokasikan untuk proses ini kembali.

8. DAFTAR PUSTAKA 1. http://informatikateknologi.blogspot.co.id/2015/06/sistem-hirarki-pada-

komputer.html#sthash.lvNGvpKM.dpuf

2. http://dheyylant.blogspot.co.id/2013/02/pengertian-dan-konsep-viirtual-meemory.html

3. https://penawikara.wordpress.com/2013/05/31/mode-pengalamatan/

4. https://iu33.blogspot.co.id/2014/10/hirarki-sistem-memori.html

5. http://mukhtarizafunna.blogspot.co.id/2015/04/makalah-sistem-operasi-manajemen-

memori.html

6. https://rifkiewahyuferriana.wordpress.com/2011/06/09/6-manajemen-memori/

7. https://docs.google.com/document/d/1_TW8Gn7aniwNku3kFvI-D-

8. http://systemoperasiwin.blogspot.co.id/2012/12/manajemen-memori-pada-sistem.html

9. http://www.academia.edu/11430106/Virtual_Memory

10. https://rifkiewahyuferriana.wordpress.com/2011/06/09/6-manajemen-memori/

11. https://dodotif.wordpress.com/2014/09/21/hirarki-memori/

.