Algoritma ini merupakan salah satu metode kecerdasann buatan untuk pencocokan kata / kalimat, dan dapat digunakan dalam pencocokan binary. contoh kasus dapat digunakan untuk pengolahan citra, deteksi, pencarian KMS
Dokumen tersebut memberikan ringkasan tentang konsep proses dalam sistem operasi. Proses adalah program yang sedang dieksekusi, yang memiliki informasi seperti status, identitas, dan sumber daya. Sistem operasi mengelola proses dengan menjadwalkan eksekusi, memantau status, dan memfasilitasi komunikasi antar proses. Proses dapat berinteraksi untuk menyelesaikan masalah produsen-konsumen dan berkomunikasi menggunakan mekanisme seperti pesan, socket, dan p
Memori virtual memisahkan memori logika pengguna dari memori fisik, menyediakan memori virtual besar meski memori fisik kecil. Ini mengurangi I/O, memori yang dibutuhkan, dan meningkatkan respon serta jumlah pengguna yang dilayani. Memori virtual dapat dilakukan dengan demand paging, dimana page hanya dimasukkan ke memori jika dibutuhkan.
Dokumen tersebut membahas tentang memori virtual dan teknik demand paging. Secara ringkas, dokumen menjelaskan bahwa (1) memori virtual memungkinkan alamat logis program lebih besar dari alokasi memori fisik, (2) demand paging hanya memindahkan halaman ke memori ketika diperlukan, dan (3) penggantian halaman diperlukan ketika tidak ada frame kosong untuk menangani page fault.
Sistem waktu nyata adalah sistem yang harus memberikan respon tepat dalam batasan waktu tertentu, dengan jarak waktu antara input dan output yang sangat kecil. Sistem ini digunakan dalam berbagai aplikasi seperti ATM, pesawat terbang, dan alat medis. Terdapat berbagai jenis sistem waktu nyata berdasarkan toleransi terhadap melewatinya deadline.
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxYaya610291
油
Pertemuan membahas tentang sinkronisasi proses dan masalah critical section. Video ditayangkan untuk mendemonstrasikan konsep sinkronisasi proses. Berbagai metode sinkronisasi dibahas seperti semaphore, test and set, swap, mutex lock, dan larik memutar untuk mengatasi masalah race condition dan memastikan akses bersamaan hanya dilakukan satu proses."
Dokumen tersebut membahas struktur data dan algoritma. Struktur data adalah pengaturan data di memori untuk meningkatkan efisiensi akses data, seperti array, list, antrian, tumpukan dan pohon biner. Algoritma adalah langkah untuk memanipulasi data dengan struktur dasar sekuensial, seleksi dan pengulangan. Contoh penerapan struktur data untuk data pasien klinik diberikan.
Bahasa pemrograman digunakan untuk menerjemahkan perintah pengguna menjadi instruksi yang dimengerti komputer, dengan aturan tata bahasa dan perintah khusus. Terdapat berbagai jenis bahasa pemrograman berdasarkan tujuan dan notasi seperti tingkat rendah dan tingkat tinggi. Algoritma adalah urutan langkah logis untuk menyelesaikan masalah secara sistematis dengan menggunakan variabel dan struktur tertentu.
1. Dokumen tersebut membahas tentang model konseptual, ide model konseptual, model mental, dan pentingnya menyembunyikan kompleksitas sistem dari pemakai.
Prinsip-prinsip usability memberikan panduan untuk merancang sistem yang mudah digunakan berdasarkan karakteristik dan kemampuan pengguna. Hal-hal yang perlu diperhatikan meliputi kemampuan kognitif dan fisik manusia, termasuk memori dan penyelesaian masalah, guna memastikan sistem dapat digunakan secara efektif.
Dokumen tersebut membahas tentang definisi dialog antara manusia dan komputer serta berbagai jenis ragam dialog interaktif seperti dialog berbasis perintah, dialog berbasis bahasa pemrograman, dialog berbasis bahasa alami, dialog berbasis menu dan formulir, serta dialog berbasis manipulasi langsung dan antarmuka grafis.
Dokumen tersebut membahas tentang representasi pengetahuan dalam kecerdasan buatan, meliputi konsep pengetahuan, jenis pengetahuan, aturan produksi, jaringan semantik, triple objek-atribut-nilai, frame, dan script.
Dokumen tersebut memberikan penjelasan tentang fungsi-fungsi header file yang umum digunakan dalam bahasa pemrograman C++ seperti iostream, windows, string, serta operator, tipe data, struktur percabangan dan perulangan dasar.
Makalah ini membahas tentang Ubuntu Server dan cara menginstal serta mengkonfigurasinya. Tujuannya agar siswa SMK dapat dengan mudah membuat jaringan melalui sistem operasi Ubuntu Server. Secara singkat dijelaskan tentang definisi Ubuntu Server, perbedaan dengan desktop version, kelebihan dan kekurangannya, serta langkah-langkah dasar untuk menginstal Ubuntu Server.
Ringkasan dokumen tersebut adalah:
Bab 1 membahas latar belakang perkembangan sistem komputer dan sistem operasi. Bab 2 membahas pengertian, sejarah, tujuan, fungsi, dan jenis-jenis sistem operasi.
Kapita selekta 2012-2013 Teknik Informatika - UNIKOMirawan afrianto
油
Dokumen tersebut memberikan daftar tema-tema skripsi yang dapat dikembangkan oleh mahasiswa Jurusan Teknik Informatika. Beberapa tema yang disebutkan antara lain augmented reality, voice technology, text technology, jaringan komputer, multimedia web dan mobile, semantic web, dan e-learning. Tujuannya adalah menyediakan pilihan topik penelitian bagi mahasiswa dan memfasilitasi kolaborasi antara penelitian dosen dengan skripsi mahasiswa.
Manajemen memory Bab I Politeknik Negeri Bengkalistengkujefrizal
油
Memori dan manajemen memori adalah hal penting dalam sistem operasi. Memori digunakan untuk menyimpan instruksi dan data, sementara manajemen memori mengelola alokasi dan pelepasan memori. Beberapa strategi yang digunakan termasuk memori maya, overlay, swapping, dan pencatatan status memori menggunakan peta bit atau linked list.
Sistem waktu nyata adalah sistem yang harus memberikan respon tepat dalam batasan waktu tertentu, dengan jarak waktu antara input dan output yang sangat kecil. Sistem ini digunakan dalam berbagai aplikasi seperti ATM, pesawat terbang, dan alat medis. Terdapat berbagai jenis sistem waktu nyata berdasarkan toleransi terhadap melewatinya deadline.
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxYaya610291
油
Pertemuan membahas tentang sinkronisasi proses dan masalah critical section. Video ditayangkan untuk mendemonstrasikan konsep sinkronisasi proses. Berbagai metode sinkronisasi dibahas seperti semaphore, test and set, swap, mutex lock, dan larik memutar untuk mengatasi masalah race condition dan memastikan akses bersamaan hanya dilakukan satu proses."
Dokumen tersebut membahas struktur data dan algoritma. Struktur data adalah pengaturan data di memori untuk meningkatkan efisiensi akses data, seperti array, list, antrian, tumpukan dan pohon biner. Algoritma adalah langkah untuk memanipulasi data dengan struktur dasar sekuensial, seleksi dan pengulangan. Contoh penerapan struktur data untuk data pasien klinik diberikan.
Bahasa pemrograman digunakan untuk menerjemahkan perintah pengguna menjadi instruksi yang dimengerti komputer, dengan aturan tata bahasa dan perintah khusus. Terdapat berbagai jenis bahasa pemrograman berdasarkan tujuan dan notasi seperti tingkat rendah dan tingkat tinggi. Algoritma adalah urutan langkah logis untuk menyelesaikan masalah secara sistematis dengan menggunakan variabel dan struktur tertentu.
1. Dokumen tersebut membahas tentang model konseptual, ide model konseptual, model mental, dan pentingnya menyembunyikan kompleksitas sistem dari pemakai.
Prinsip-prinsip usability memberikan panduan untuk merancang sistem yang mudah digunakan berdasarkan karakteristik dan kemampuan pengguna. Hal-hal yang perlu diperhatikan meliputi kemampuan kognitif dan fisik manusia, termasuk memori dan penyelesaian masalah, guna memastikan sistem dapat digunakan secara efektif.
Dokumen tersebut membahas tentang definisi dialog antara manusia dan komputer serta berbagai jenis ragam dialog interaktif seperti dialog berbasis perintah, dialog berbasis bahasa pemrograman, dialog berbasis bahasa alami, dialog berbasis menu dan formulir, serta dialog berbasis manipulasi langsung dan antarmuka grafis.
Dokumen tersebut membahas tentang representasi pengetahuan dalam kecerdasan buatan, meliputi konsep pengetahuan, jenis pengetahuan, aturan produksi, jaringan semantik, triple objek-atribut-nilai, frame, dan script.
Dokumen tersebut memberikan penjelasan tentang fungsi-fungsi header file yang umum digunakan dalam bahasa pemrograman C++ seperti iostream, windows, string, serta operator, tipe data, struktur percabangan dan perulangan dasar.
Makalah ini membahas tentang Ubuntu Server dan cara menginstal serta mengkonfigurasinya. Tujuannya agar siswa SMK dapat dengan mudah membuat jaringan melalui sistem operasi Ubuntu Server. Secara singkat dijelaskan tentang definisi Ubuntu Server, perbedaan dengan desktop version, kelebihan dan kekurangannya, serta langkah-langkah dasar untuk menginstal Ubuntu Server.
Ringkasan dokumen tersebut adalah:
Bab 1 membahas latar belakang perkembangan sistem komputer dan sistem operasi. Bab 2 membahas pengertian, sejarah, tujuan, fungsi, dan jenis-jenis sistem operasi.
Kapita selekta 2012-2013 Teknik Informatika - UNIKOMirawan afrianto
油
Dokumen tersebut memberikan daftar tema-tema skripsi yang dapat dikembangkan oleh mahasiswa Jurusan Teknik Informatika. Beberapa tema yang disebutkan antara lain augmented reality, voice technology, text technology, jaringan komputer, multimedia web dan mobile, semantic web, dan e-learning. Tujuannya adalah menyediakan pilihan topik penelitian bagi mahasiswa dan memfasilitasi kolaborasi antara penelitian dosen dengan skripsi mahasiswa.
Manajemen memory Bab I Politeknik Negeri Bengkalistengkujefrizal
油
Memori dan manajemen memori adalah hal penting dalam sistem operasi. Memori digunakan untuk menyimpan instruksi dan data, sementara manajemen memori mengelola alokasi dan pelepasan memori. Beberapa strategi yang digunakan termasuk memori maya, overlay, swapping, dan pencatatan status memori menggunakan peta bit atau linked list.
Memori merupakan tempat menyimpan data dan instruksi program. Terdapat berbagai tingkatan memori dalam sistem komputer, mulai dari register, cache, memori utama, hingga memori sekunder. Manajemen memori bertujuan meningkatkan kecepatan akses prosesor serta memaksimalkan kapasitas penyimpanan.
Dokumen tersebut membahas konsep dasar manajemen memori pada sistem operasi, meliputi konsep binding, dynamic loading, dynamic linking, overlay, ruang alamat logika dan fisik, swapping, pengalokasian berurutan (contiguous allocation), dan pengalokasian tidak berurutan (non contiguous allocation).
Dokumen tersebut membahas tentang memori virtual, termasuk demand paging, pemindahan halaman, alokasi frame, dan thrashing. Memori virtual memisahkan memori logis dan fisik, memungkinkan program dieksekusi tanpa harus masuk ke memori secara keseluruhan.
Manajemen memori sangat penting untuk mengelola memori komputer secara efisien dengan cara mengalokasikan dan mendealokasikan memori untuk proses-proses, serta melakukan swapping antara memori utama dan penyimpanan sekunder. Ada dua jenis manajemen memori, yaitu dengan swapping yang melakukan pemindahan proses antara memori dan disk, serta tanpa swapping yang tidak melakukan pemindahan proses.
Dokumen tersebut membahas konsep manajemen memori pada sistem komputer, termasuk pengikatan alamat, dynamic loading, dynamic linking, overlay, alokasi berurutan, swapping, paging, segmentasi, dan kombinasi antara paging dan segmentasi. Beberapa teknik yang dijelaskan adalah untuk meningkatkan utilitas memori dan melindungi integritas data antara proses.
Ringkasan dokumen tersebut adalah:
(1) Dokumen tersebut membahas tentang metode alokasi memori dalam sistem operasi, (2) Terdapat tiga metode alokasi memori yaitu contiguous memory allocation, segmentation, dan paging, (3) Setiap metode memiliki kelebihan dan kekurangan masing-masing dalam mengalokasikan memori untuk proses-proses.
Teks tersebut membahas tentang manajemen memori dalam sistem operasi, termasuk pembagian memori antara sistem operasi dan program, fungsi manajemen memori, metode alokasi memori tetap dan dinamik, algoritma penempatan, dan penggunaan teknik paging dan segmentasi untuk menerjemahkan alamat logika ke fisik.
Analisis Subjek Literatur Pada Disertasi Kajian Budaya dan Media (KBM) Sekola...Murad Maulana
油
PPT ini dipresentasikan dalam acara Lokakarya Nasional (Loknas) 2016 PDII LIPI dengan tema tema Pengelolaan Data, Informasi, dan Pengetahuan untuk Mendukung Pembangunan Repositori Nasional Indonesia, tanggal 10 11 Agustus 2016
Danantara: Pesimis atau Optimis? Podcast Ikatan Alumni Lemhannas RI IKAL Lem...Dadang Solihin
油
Keberadaan Danantara: Pesimis atau Optimis?
Pendekatan terbaik adalah realistis dengan kecenderungan optimis.
Jika Danantara memiliki perencanaan yang matang, dukungan kebijakan yang kuat, dan mampu beradaptasi dengan tantangan yang ada, maka peluang keberhasilannya besar.
Namun, jika implementasinya tidak disertai dengan strategi mitigasi risiko yang baik, maka pesimisme terhadap dampaknya juga cukup beralasan.
Pada akhirnya, kunci suksesnya adalah bagaimana Danantara bisa dikelola secara efektif, inklusif, dan berkelanjutan, sehingga dampak positifnya lebih dominan dibandingkan risikonya.
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)Murad Maulana
油
PPT ini dipresentasikan dalam acara Diseminasi repositori perpustakaan BAPETEN yang diselenggarakan oleh Kepala Pusat Pengkajian Sistem dan Teknologi
Pengawasan Instalasi dan Bahan Nuklir (P2STPIBN) pada tanggal 25 Februari 2025
3. Latar Belakang
Untuk dieksekusi program harus berada dalam
memori
Eksekusi: proses
Alokasi resources memori: ruang (tempat storage) untuk
menyimpan data, instruksi, stack dll.
Problem: Memori secara fisik (besarnya storage)
sangat terbatas ukurannya,
Manajemen storage: alokasi dan dealokasi untuk proses-
proses
Utilisasi: optimal dan efisien
3
4. alamat Binding
Sebalum eksekusi program berada di dalam disk, dan
saat dieksekusi ia perlu berada pada suatu lokasi
dalam memori fisik
alamat binding adalah menempatkan alamat relatif
ke dalam adress fisik memori yang dapat berlangsung
dalam di salah satu tahapan: kompilasi, load, atau
eksekusi
4
5. Tahapan Running Program
Tahapan kompilasi: source program (source code)
dikompilasi menjadi object module (object code)
Tahapan link & load: object module di-link dengan
object module lain menjadi load module (execution
code) kemudian di-load ke memori untuk dieskekusi
Tahapan eksekusi: mungkin juga dilakukan dynamic
linking dengan resident library
5
6. Alamat Binding: Saat Kompilasi
Jika lokasi dari proses sudah diketahui sebelumnya
maka saat kompilasi alamat-alamat instruksi dan data
ditentukan dengan alamat fisik
jika terjadi perubahan pada lokasi tersebut maka
harus direkompilasi
6
7. Alamat Binding: Saat Load
Code hasil kompilasi masih menunjuk alamat-alamat
secara relatif, saat di-load alamat-alamat disubstitusi
dengan alamat fisik berdasar relokasi proses yang
diterima
Jika terjadi perubahan relokasi maka code di-load
ulang
7
8. Alamat Binding: Saat Eksekusi
Binding bisa dilakukan ulang selama proses
hal ini untuk memungkinkan pemindahan proses dari
satu lokasi ke lokasi lain selama run
Perlu adanya dukungan hardware untuk pemetaan
adress
contoh: base register dan limit register
8
10. Ruang Alamat Logik vs. Fisik
Konsep ruang alamat logik terhadap ruang alamat
fisik adalah hal pokok dalam manajemen memori
alamat logik: alamat yang di-generate oleh CPU
(disebut juga virtual alamat)
Berdasarkan eksekusi program
Note: Besarnya alamat program dapat lebih besar dari
kapasitas memori fisik.
alamat fisik: alamat yang dikenal oleh unit memory
alamat sebenarnya yang digunakan untuk mengakses
memori.
Perlu ada penerjemahan (translasi) dari alamat logik
ke alamat fisik.
10
11. Memory-Management Unit
(MMU)
Perangkat Hardware yang memetakan alamat logik
(virtual) ke alamat fisik.
Dalam skema MMU
Menyediakan perangkat register yang dapat di set oleh setiap
CPU: setiap proses mempunyai data set register tsb
(disimpan di PCB).
Base register dan limit register.
Harga dalam register base/relokasi ditambahkan ke setiap
address proses user pada saat run di memori
Program user hanya berurusan dengan addressaddress logik
saja
11
13. Dynamic Loading dipanggil (execute).
Rutin tidak akan di load jika tidak
Pros: utilisasi memory-space, rutin yang tidak dieksekusi tidak
akan dipanggil (program behaviour: 70-80% dari code).
Handling execption, error, atau pilihan yang jarang
digunakan.
Tidak perlu dukungan khusus dari OS:
Overlay: memori terbatas dan program lebih besar dari
memori.
Disusun berdasarkan hirarkis dalam bentuk tree: root
branch dan leaves (misalkan root harus ada di memory,
sedangkan yang lain dapat di load bergantian).
Tidak dilakukan otomatis tapi harus dirancang oleh
programmer (user).
13
14. Dynamic Linking eksekusi
Linking ditunda sampai saat
code menjadi berukuran kecil.
Program-program user tidak perlu menduplikasi
system library
system library dipakai bersama
Mengurangi pemakaian space: satu rutin library di memory
digunakan secara bersama oleh sekumpulan proses.
Contoh: DLL (dynamic linking library) Win32
Mekanisme menggunakan skema Stub
stub: suatu potongan kecil code menggantikan referensi
rutin (dan cara meload rutin tsb)
14
15. Overlay
Overlay membagi program yang besar menjadi
bagian-bagian yang lebih kecil dan daat dimuat dalam
memori utama.
Dibutuhkan ketika proses yang ada lebih besar
dibandingkan memori yang tersedia
Diimplementasikan oleh user, tidak ada dukungan
khusus dari sistem operasi, disain program pada
struktrur overlay cukup kompleks.
15
17. Swapping
Suatu proses dapat di-swap secara temporary keluar dari memori dan
dimasukkan ke backing store, dan dapat dimasukkan kembali ke
dalam memori pada eksekusi selanjutnya.
Backing store disk cepat yang cukup besar untuk mengakomodasi
copy semua memori image pada semua user; menyediakan akses
langsung ke memori image.
Roll out, roll in varian swapping yang digunakan dalam penjadualan
prioritas; proses dengan prioritas rendah di-swap out, sehingga proses
dengan prioritas tinggi dapat di-load dan dieksekusi.
Bagian terbesar dari swap time adalah transfer time, total transfer
time secara proporsional dihitung dari jumlah memori yang di swap.
Modifikasi swapping dapat ditemukan pada sistem UNIX, Linux dan
Windows.
17
19. Contiguous Allocation
Memori utama biasanya terbagi dalam dua bagian:
Resident operating system, biasanya tersimpan di alamat
memori rendah termasuk interrupt vector .
User proces menggunakan memori beralamat tinggi/besar.
Single-partition allocation
Relokasi register digunakan untuk memproteksi masing-
masing user proses dan perubahan kode sistem operasi dan
data.
Relokasi register terdiri dari alamat fisik bernilai rendah;
limit register terdiri dari rentang/range alamat logik, setiap
alamat logik harus lebih kecil dari limit register.
19
21. Multiple-Partition Allocation
Partisi Fixed-Sized (MFT)
Memori dibagi menjadi beberapa blok dengan ukuran
tertentu yang seragam
Jumlah proses yang bisa running max hanya sejumlah blok
yang disediakan(misal IBM OS/360)
Partisi Variabel-Size (MVT)
Pembagian memori sesuai dengan request dari proses-proses
yang ada.
Lebih rumit karena ukuran alokasi (partisi) memori dapat
bervariasi
Peranan memori manajemen semakin penting: list dari
partisi yang digunakan, free dll.
21
23. Masalah pada Dynamic Storage-Allocation
Bagaimana agar proses berukuran n dapat menempati
hole yang bebas
First-fit: Mengalokasikan proses pada hole pertama yang
ditemui yang besarnya mencukupi
Best-fit: Mengalokasikan proses pada hole dengan besar
paling cocok (fragmentasinya kecil).
Worst-fit: Mengalokasikan proses pada hole dengan
fragmentasi terbesar.
First-fit dan best-fit lebih baik dibandingkan worst-fit dalam
hal kecepatan dan pemanfaatan storage.
23
24. Fragmentasi (issue)
External (masalah variable sized partition):
Ruang memori free, namun tidak contiguous.
Hole-hole ada di antara proses-proses berturutan.
Tidak dapat digunakan karena proses terlalu besar
untuk menggunakannya.
Internal (masalah fixed size):
Sifat program dinamis (alokasi dan dealokasi).
Memori yang teralokasi mungkin lebih besar dari
memori yang diminta (wasted).
24
25. Paging
Membagi memori fisik ke dalam blok (page, frame)
dengan ukuran tertentu (fixed) yang seragam.
Memudahkan manajemen free memory (hole) yang dapat
bervariasi.
Tidak perlu menggabungkan hole menjadi blok yang besar
seperti pada variable partition (compaction).
OS lebih sederhana dalam mengontrol (proteksi dan
kebijakan) pemakaian memori untuk satu proses.
Standard ukuran blok memori fisik yang dialokasikan
(de-alokasi) untuk setiap proses.
Ukuranya (tergantung OS): 512 byte s/d 16 KB.
25
26. Page Allocation
Alokasi:
Terdapat free list yang menyimpan informasi frame di
memori fisik yang tidak digunakan
Tergantung besarnya proses => memerlukan n pages
Alokasi frame diberikan sesuai dengan permintaan (demand,
expand).
Implikasi:
Users (program) view (logical address): memori dialokasikan
secara sinambung (contiguous)
Fakta (physical address): memori fisik tersebar
(noncontiguous) sesuai dengan frame yang dialokasikan.
26
27. Skema Paging antara users view dan
Bagaimana menjembatani
alokasi memori sebenarnya?
Penerjemahan (translasi) alamat logical ke alamat fisik =>
tugas dari OS (user/program transparant).
Perlu dukungan hardware (CPU) => address translation.
Setiap proses mempunyai informasi pages yang
dialokasikan oleh OS
Mapping setiap alamat logical ke alamat fisik
Issue: mekanisme mudah, cepat dan efisien.
Page table: berisi base address (alamat fisik) dari frame
yang telah dialokasikan ke proses tsb.
27
28. Page table
Setiap OS mempunyai cara menyimpan page table
untuks setiap proses
Page table bagian dari setiap proses.
Page table berada di memori, saat proses tersebut
dieksekusi.
Informasi page table disimpan oleh PCB: pointer ke page
table dari proses tersebut.
Setiap kali terjadi context switch => informasi page table
untuk proses yang baru harus di restore (misalkan
referensi/pointer lokasi page table tsb. di memori).
28
29. Page table (h/w support)
Menggunakan fast register
Contoh: DEC PDP11 : 16 bit address (logical 216 ): 64K, page size 8K
(213 ).
Memerlukan page table dengan: 8 entry (dapat diterapkan pada
hardware register, hanya 3 bit)
Untuk komputer modern sulit menggunakan fast register
Pentium : 32 bit address logical (total: 4 GB), page size (8K), maka
mempunyai potensi entry: 524.288 entry.
Page table disimpan pada memori (bagian program) dengan
menggunakan page table base register
Page-table base register (PTBR) : pointer ke page-table di memori.
Page-table length register (PTLR) : besarnya ukuran page table
(karena tidak semua proses memerlukan ukuran page tabel max.)
29
30. Paging: translation
Address logik dari CPU dianggap terdiri atas dua
bagian:
Page number (p): merupakan indeks dalam tabel yang berisi
base address dari tiap page dalam memori fisik
Page offset (d): menunjukkan lokasi address memori
berdasarkan base address pada page tersebut.
30
34. Contoh :
Misalkan LA: 4 bits (max. logical addres: 16 lokasi)
Page size => 4 bytes (ditentukan oleh designerOS).
2 bits: menunjuk ke alamat dari masing-masing byte dalam
setiap page tersebut.
Page table: tersisa 2 bits
Max. 4 entry
Jadi setiap proses max. akan menggunakan 4 pages =>
mencakup seluruh alamat logical.
34
36. Contoh (3) :
Logical address: 11 10 (program view: 14 desimal => o)
Page translation (physical memory allocation):
Bagian: p (index page) => base address dari frame.
Binary 11 => 3 (index = 3 dari page table)
=> berisi base address untuk frame 2 di memori.
Bagian offset: d (displacement)
Binary 10 => 2
Alamat fisik:
base address frame 2 : 2 * 4 => 8;
=> 8 + 2 = 10 (berisi o).
36
37. Frame table
OS harus mempunyai informasi frame dari memori
fisik:
Berapa banyak frame yang bebas?
Mana saja frame yang bebas (identifikasi) => frame
table (list)
Informasi hubungan antara satu frame dengan page
mana dari proses yang aktif
List ini akan terus di-update, misalkan jika proses
terminate maka semua frame yang dialokasikan akan di
kembalikan ke free list.
37
39. Page size
Fragmentasi internal pada page terakhir
Tidak ada fragmentasi eksternal
Fragmentasi internal bisa terjadi
Worst-case:
Untuk proses yang memerlukan n page + 1 byte
bila ukuran page = 4096 byte maka akan terbuang 4095 byte / process
Besarnya ukuran pages
Independent dari program/proses (system wide)
Intuitif: small pages preferable
Page table entry dapat dikurangi dengan memperbesar ukuran pages
Apakah keuntungan ukuran pages kecil?
Apakah keuntungan ukuran pages besar?
Umumnya page disesuaikan dengan kapasitas memori (tipikal) pada sistim
(range: 2 8 Kbytes)
39
40. Implementasi Page Table
Page table disimpan di main memory.
Page-table base register (PTBR) menunjuk ke page table.
Page-table length register (PRLR) mengindikasikan ukuran page
table.
Pada skema ini, setiap akses data/instruksi membutuhkan dua
memori akses. Satu untuk page table dan satu untuk
data/instruksi.
Masalah yang ada pada dua akses memori dapat diselesaikan
dengan menggunakan cache memori berkecepatan tinggi yang
disebut associative memory or translation look-aside buffers
(TLBs)
40
42. Multilevel Paging
Address logical besar => page table menjadi besar.
Misalkan: LA => 32 bits, dan ukuran page frame: 12 bits,
maka page table: 20 bits (2^20 => 1 MB).
Page table dapat dipisah dalam bentuk pages juga, sehingga
tidak semua page table harus berada di memori.
Address lojik terdiri atas: section number s, page
number p, offset d
s indeks ke dalam outer page table dan p displacement
dalam page table
42
45. Proteksi Memory
Proteksi memori diimplementasikan dengan asosiasi
proteksi bit pada setiap frame
Valid-invalid bit ditambahkan/dimasukkan pada page
table :
Bit akan diset valid jika page yang bersangkutan ada pada
area ruang alamat logika
Bit akan diset invalid jika page yang bersangkutan
berada di luar area ruang alamat logika.
45
47. Inverted Page Table
Satu masukan untuk setiap real page dari memori
Masukan dari alamat virtual disimpan pada lokasi
real memori, dengan informasi proses pada page
Penurunan memori dibutuhkan untuk menyimpan
setiap page table, tetapi setiap kenaikan waktu
dibutuhkan untuk mencari tabel saat pager refference
dilakukan
47
49. Shared Pages
Shared code
Satu copy kode read-only (reentrant) dibagi diantara proses
(contoh text editor, compiler, window system).
Shared code harus dimunculkan pada lokasi yang sama pada
alamat logik semua proses.
Private code dan data
Setiap proses menyimpan sebagian copy kode dan data.
Page untuk kode private dan data dapat ditampilkan dimana
saja pada ruang alamat logik.
49
51. Segmentasi
Skema pengaturan memori yang mendukung user
untuk melihat memori tersebut..
Sebuah program merupakan kumpulan dari segment.
Sebuah segement berisi unit logik seperti: main program,
procedure,
function,
method,
object,
local variables, global variables,
common block,
stack,
symbol table, arrays
51
54. Arsitektur Segmentasi
Alamat logik terdiri dari dua tuple:
<segment-number, offset>,
Harus diset oleh programmer atau compiler untuk
menyatakan berapa besar segment tersebut
Implikasi: segment bervariasi besarnya (bandingkan dengan
page table: fixed dan single/flat address space => hardware
yang menentukan berapa size)
Segment table mapping dari LA ke PA
base table berisi lokasi awal dari physical address dimana
segment berada di memori.
limit table berisi panjang (besar) dari segmen tersebut.
54
55. Arsitektur Segmentasi (Cont.)
Relokasi.
Dynamic
Melalui segment table
Sharing.
Shared segments
Nomor segment yang sama
Alokasi.
first fit/best fit
external fragmentation
55
59. Segmentasi Paging
Intel 386
Logical address (32 bits) dibagi atas 2:
Selector: Segment: S (13 bits), Descriptor Table (1 bit: Local
or Global); Protection ( 2 bits)
Offset: 16 bits
Melalui Descriptor table
Selector menentukan entry pada table, melihat protection,
dan menguji limit (tabel berisi informasi limit)
Menghasilkan linear address: Base address segment + offset
Logical Linear address: paging (besar page: 4 K), 2 level (10
bits untuk direktori dan 10 bits untuk page number), offset:
12 bits.
59