Upload
gitano
View
98
Download
6
Embed Size (px)
DESCRIPTION
PENGURUSAN INGATAN, SISTEM AWAL. Bab 2. On-line notes. http://www.fsktm.um.edu.my/~nazlita/wxes1110.htm. Pengurus Ingatan. Bahagian sistem yang menguruskan ingatan Memberi perkhidmatan bagi permintaan peruntukan Mengitar-semula ingatan, sama ada secara manual atau automatik. Fungsi utama. - PowerPoint PPT Presentation
Citation preview
1
PENGURUSAN INGATAN,
SISTEM AWAL
Bab 2
2
On-line notes
http://www.fsktm.um.edu.my/~nazlita/wxes1110.htm
3
Pengurus Ingatan Bahagian sistem yang
menguruskan ingatan Memberi perkhidmatan bagi
permintaan peruntukan Mengitar-semula ingatan, sama
ada secara manual atau automatik
4
Fungsi utama Mengesan ingatan yang ada Menyemak kesahihan permintaan
terhadap ingatan Memperuntukkan ruangan bagi system
operasi dalam ingatan utama Memperuntukkan ingatan bagi tujuan
pelaksanaan Membebaskan ingatan setelah satu
jangka masa.
5
2.1 Skim Pengguna-Tunggal Bersebelahan Setiap program yang akan
diproses dimuatkan keseluruhannya ke dalam ingatan dan diperuntukkan sejumlah ruang bersebelahan dalam ingatan sebagaimana yang diperlukan
6
Jumlah ingatan yang terbatas jika program tidak dapat dimuatkan :
saiz ingatan utama mesti ditambah atau program itu perlu diubahsuaikan
Program akan dipecahkan kepada beberapa segmen (petakan akan dibuat ke program), akan dilapisi (overlayed) iaitu pemindahan segmen program dari ingatan sekunder ke dalam ingatan utama untuk dilaksanakan supaya dua atau lebih segmen menduduki lokasi
storan yang sama pada masa yang berbeza
7
Algorithma memuat satu kerja dalam sistem pengguna tunggal
1. Stor lokasi ingatan pertama bagi program ke dalam daftar asas “base register” (bagi perlindungan ingatan)
2. Set pembilang “counter” program sama dengan alamat lokasi ingatan pertama (ia mengesan jumlah lokasi ingatan yang digunakan oleh program)
8
3. Muatkan suruhan bagi program4. Tambah pembilang program
dengan jumlah byte dalam suruhan5. Sudahkah suruhan akhir dicapai?
Jika ya, maka henti muatkan program Jika tidak, maka teruskan dengan
langkah 6
9
6. Adakah pembilang program > saiz ingatan?
Jika ya, maka henti pemuatan Jika tidak, maka teruskan dengan
langkah 7
7. Muatkan suruhan dalam ingatan
8. Pergi ke langkah 3
10
Kelebihan Mudah dilaksanakan Overhed yang minimum Pengurusan mudah
11
Kekurangan Pembaziran Berbilang pengaturcaraan adalah
sukar kerana ia kendalikan hanya satu kerja pada satu masa
12
2.2 Petakan Tetap Satu petakan bagi satu kerja Saiz setiap petakan ditetapkan bila
sistem disalurkan kuasa dan petakan ini hanya boleh ditukarkan saiz bila sistem komputer ditutup dan dimulakan semula
Semasa operasi saiz petakan kekal statik
13
Sebaik sahaja petakan diberi satu kerja, tiada kerja lain dibenarkan untuk memasuki sempadannya, sama ada secara tidak sengaja ataupun disengajakan.
Masalah pencerobohan (‘intrusion’) petakan tidak wujud dalam skim peruntukan bersebelahan pengguna tunggal disebabkan hanya satu kerja hadir dalam
ingatan utama pada masa yang diberikan maka hanya bahagian sistem pengendalian yang tinggal dalam ingatan utama yang perlu dilindungi
14
Namun bagi skim peruntukan petakan tetap, perlindungan adalah mandatori bagi setiap petakan yang ada dalam ingatan utama
Ini adalah tanggungjawab bersama perkakasan komputer dan sistem pengendalian
15
Algorithma bagi memuat satu kerja dalam petakan tetap 1. Tentukan saiz ingatan yang dikehendaki
oleh kerja2. Jika saiz_kerja > saiz petakan terbesar
maka tolak kerja tersebutcetakkan mesej bersesuaian ke
pengendalipergi ke langkah 1 untuk kendalikan
kerja seterusnya dalam barisanjika tidak pergi ke langkah 3
16
3. Set pembilang menjadi 14. Buat sementara pembilang <=
bilangan petakan dalam ingatanJika saiz_kerja > saiz_petakan_ingatan (pembilang)
Maka pembilang = pembilang + 1
17
status_petakan_ingatan(pembilang) = spipetakan_ingatan = pi
Jika tidakJika spi= “bebas”
maka muatkan kerja dlm pi tukar spi ke “sibuk”
pergi ke langkah 1jika tidak
pembilang = pembilang + 1tamat buat
18
5. Tiada petakan lagi pada masa ini, tempatkan kerja dalam queue
menunggu6. Pergi ke langkah 1
19
Skim : lebih fleksibel dari skim pengguna tunggal ia membolehkan beberapa program
menduduki ingatan pada masa yang sama
Tetapi, masih memerlukan keseluruhan program distor secara bersebelahan dalam ingatan dari awal hingga akhir pelaksanaan
20
Bagi memperuntukkan ruang ingatan ke kerja-kerja, pengurus ingatan sistem pengendalian mesti simpan jadual yang menunjukkan setiap saiz petakan ingatan, alamatnya, batasan capaiannya dan statusnya sama ada bebas atau sibuk
21
Saiz Petakan
Alamat Ingatan
Capaian Status Petakan
100k 200k Kerja 1 Sibuk
25k 300k Kerja 4 Sibuk
25k 325k - Bebas
50k 350k Kerja 2 Sibuk
22
K1 30KK2 50KK3 30KK4 25K
100K
25K
25K
50K
Keadaan asal Selepas
masukan kerja
K1(30K)
K4(25K)
K2(50K)
23
Kelebihan Berbilang pengaturcaraan Penggunaan ingatan yang lebih
baik/cekap Pengaruh kelajuan pemproses
berbanding dengan kelajuan I/O
24
Kekurangan Pengurusan yang lebih sukar Lebih overhed Petakan yang tidak digunakan
sepenuhnya (‘underutilized‘) mengakibatkan penyerpihan dalaman. Jika satu kerja tidak menduduki keseluruhan
petakan, ingatan yang tidak digunakan akan terbiar begitu sahaja, kerana tidak dapat diberikan pada kerja lain
25
Contoh : Empat petakan
(50K, 20K, 30K,100K) Enam tugasan
(40K, 10K, 20K, 60K, 100K, 60K)
26
2.3 Petakan Dinamik Ingatan yang ada masih disimpan
dalam blok bersebelahan tetapi kerja-kerja diberi ingatan sejumlah yang diperlukan sahaja bila ianya dimuatkan untuk pemprosesan
27
Skim ini menggunakan ingatan sepenuhnya bila kerja-kerja pertama dimuatkan. Tetapi, bila kerja baru (yang tidak mempunyai saiz yang sama dengan ingatan yang baru dikosongkan) masuk ke sistem, ianya akan dimuatkan ke ruangan yang ada mengikut keutamaan. Misalnya mengikut keutamaan kerja yang
datang dahulu dilayan dahulu
28
Peruntukan kerja yang kemudian ke dalam ingatan akan menghasilkan sepihan-serpihan ingatan bebas di antara blok-blok ingatan yang diperuntukkan pada kerja
Masalah pembaziran ingatan ini dikenali sebagai penyerpihan luaran
29
2.4 Skim Peruntukan Kerja bagi Petakan Dinamik Terdapat dua skim peruntukan kerja
peruntukan padanan terbaik peruntukan padanan terawal (pertama)
Bagi kedua-dua skim ini, pengurus ingatan mengelolakan senarai ingatan yang bebas dan petakan yang digunakan sama ada berasaskan saiz atau lokasi
30
2.4.1 Peruntukan Padanan Terbaik Senarai bebas/sibuk bagi ingatan
disusun menurut saiz, dari yang terkecil ke yang terbesar
Kelebihan skim ini menggunakan ruang ingatan dengan
cara terbaik
31
Jadual memaparkan senarai kerja {K1–10K, K2–20K, K3–30K, K4–10K} mengikut padanan terbaik
K1 diperuntukkan petakan bebas paling sesuai, diikuti pula dengan K2 dan K3
K4 diperuntukkan ke petakan yang ada meskipun ia bukan padanan terbaik
32
Semua kerja dilayan tanpa perlu menunggu
Perhatikan senarai disusun mengikut saiz ingatan
Ia menggunakan ingatan dengan lebih cekap tetapi agak lambat untuk dilaksanakan
33
Lokasi Ingatan
Saiz blok
ingatan
Nombor Kerja
Saiz Kerja
Status Penyer-pihan
Dalaman
40K 15K K1 10K Sibuk 5K
105K 20K K2 20K Sibuk Tiada
10K 30K K3 30K Sibuk Tiada
55K 50K K4 10K Sibuk 40K
34
Jumlah yang ada : 115K Jumlah Guna : 70K
35
Algorithma Padanan Terbaik
1. Parapi blok_ingatan (0) = 99999
2. Kira baziran_ingatan_awal = blok_ingatan(0) – saiz_kerja
3. Parapi subskrip = 04. Set pembilang ke 1
36
5. Buat sementara pembilang <= jumlah blok dalam ingatan
Jika saiz_kerja > saiz_ingatan (pembilang)
maka pembilang = pembilang + 1
37
jika tidakbaziran_ingatan =
saiz_ingatan(pembilang) – saiz_kerjajika baziran_ingatan_awal >
baziran_ingatanmaka subskrip = pembilangbaziran_ingatan_awal = baziran_ingatan
pembilang = pembilang + 1Tamat buat
38
6.Jika subskrip = 0maka letakkan kerja dlm queue
menunggujika tidak
muat kerja dalam saiz_ingatan(subskrip)
selaraskan senarai ingatan bebas/sibuk
7.Pergi ambil kerja seterusnya
39
2.4.2 Peruntukan Padanan Terawal (Pertama) Senarai bebas/sibuk bagi ingatan
disusun mengikut lokasi ingatan dari ingatan susunan bawah ke
ingatan susunan atas Kelebihan skim ini pula
ia cepat membuat peruntukan, tetapi tidak semestinya selalu cekap
40
Jadual berikut memaparkan senarai kerja {K1–10K, K2–20K, K3–30K, K4–10K} mengikut padanan terawal
K2 menuntut petakan pertama yang ia muat dan dengan berbuat demikian ia mengambil blok terakhir yang cukup besar bagi memuatkan K3, maka di sini K3 mesti menunggu walaupun terdapat 75K ruang ingatan yang tidak digunakan
Senarai ini disusun menurut lokasi ingatan
41
Lokasi Ingatan
Saiz blok
ingatan
Nombor Kerja
Saiz Kerja
Status Penyer-pihan
Dalaman
10K 30K K1 10K Sibuk 20K
40K 15K K4 10K Sibuk 5 K
55K 50K K2 20K Sibuk 30K
105K 20K - - Bebas -
42
Jumlah yang ada : 115K Jumlah Guna : 40K
43
Algorithma Padanan Pertama
1. Set pembilang ke 12. Buat sementara pembilang
<= jumlah blok dalam ingatanJika saiz_kerja > saiz_ingatan (pembilang)
maka pembilang = pembilang + 1
44
jika tidakmuat kerja dalam saiz_ingatan
(pembilang)selaraskan senarai ingatan
bebas/sibukpergi ke langkah 4
tamat buat3.Letakkan kerja dalam queue menunggu4.Pergi ambil kerja seterusnya
45
Kelebihan Tiada penyerpihan dalaman Penggunaan ingatan yang lebih
baik
46
Kekurangan Penyerpihan luaran OS yang lebih kompleks Overhed yang banyak
47
Contoh : 200K Ingatan Fana (Transient
Memory) Enam Tugas
(40K, 10K, 20K, 60K, 100K, 60K)
48
2.5 Nyah-Peruntukan (“Deallocation” ) Apa sahaja yang diperuntukkan
mesti dinyah-peruntukkan (bebaskan) sebaik sahaja program telah dijalankan bagi memberi peluang kepada program lain
49
Petakan tetap : proses ini agak mudah Bila mana kerja telah disiapkan, pengurus
ingatan akan set semula (‘reset’) status blok ingatan kepada “bebas”
Petakan dinamik : algorithma yang lebih kompleks algorithma ini cuba menggabungkan
kawasan ingatan yang bebas di mana mungkin
50
Oleh yang demikian, sistem mesti bersedia menghadapi tiga situasi alternatif:-
1. Bila blok yg akan dibebaskan berada bersebelahan dengan blok bebas yg lain
2. Bila blok yang akan dibebaskan berada di antara dua blok bebas
3. Bila blok yang akan dibebaskan berasingan dari lain-lain blok bebas
51
Bila blok yang hendak dibebaskan adalah bersebelahan dengan blok bebas (kosong) yang lain, maka pengurus ingatan menukar alamat permulaan (atau akhir) bagi blok bebas untuk meliputi ruang blok bebas tambahan dan menambah blok ke dalam penjumlahannya
52
Bila blok yang hendak dibebaskan berada di antara dua blok bebas, maka pengurus ingatan menggabungkan ketiga-tiga blok tersebut bersama-sama, set alamat permulaan = ke alamat permulaan bagi alamat ingatan terendah dan alamat akhir = ke alamat akhir bagi alamat ingatan tertinggi
53
Bila blok yang hendak dibebaskan adalah berasingan dari lain-lain blok bebas, maka pengurus ingatan akan mengadakan satu masukan nol (‘null’) dalam senarai sibuk (‘busy list’) dan mengadakan satu masukan baru ke senarai bebas (‘free list’)
54
2.6Petakan Dinamik Boleh Alih Kedua-dua skim peruntukan ingatan
tetap dan dinamik mengutarakan masalah yang penyerpihan yang tidak boleh diterima di mana masalah ini perlu diselesaikan sebelum bilangan kerja yang menunggu meningkat
Penyelesaian : petakan dinamik boleh-alih disyorkan
55
Dengan skim ini, Pengurus Ingatan menempat-semula program untuk kumpul kesemua blok-blok kosong dan memadatkannya menjadi satu blok ingatan yang cukup besar bagi memuatkan sebahagian atau kesemua kerja yang menunggu untuk masuk ke dalam ingatan
56
Pemadatan ingatan ini adakalanya dipanggil pengumpulan sampah (‘garbage collection’) atau (‘defragmentation’) dan dilakukan oleh sistem pengendalian untuk menuntut semula seksyen-seksyen serpihan bagi ruang ingatan
57
Pemadatan bukanlah satu tugas mudah Pertama sekali, setiap program mesti
ditempatkan semula agar ianya berada dalam blok bersebelahan
Kemudian (yang sukarnya) setiap alamat, dan setiap rujukan bagi alamat, dalam setiap program mesti diselaraskan untuk menggambarkan lokasi(alamat) baru program dalam ingatan
58
Walaubagaimanapun, kesemua nilai lain dalam program (spt. nilai data) dibiarkan sendirian
Sistem pengendalian mesti membezakan di antara alamat dan nilai data
59
Pengurus Ingatan melakukannya dengan menandakan setiap rujukan ke alamat ingatan yang didapati dalam program dan kemudiannya menambah (atau menolak) ke (atau dari) alamat ingatan tersebut nombor yang betul bagi alamat ingatan yang program telah keluarkan
60
Daftar-daftar Khas Untuk melakukan semua yang telah
disebutkan, Pengurus Ingatan menggunakan daftar-daftar tujuan-khas bagi membantu pengesanan atau penjejakan semua ini.
Satu daripada daftar ini dipanggil daftar sempadan (bound register) dan satu lagi dinamakan daftar boleh alih (relocation register).
61
Daftar sempadan digunakan untuk menyimpan lokasi tertinggi (atau terendah, bergantung pada sistem) dalam ingatan yang boleh dicapai oleh setiap program
Daftar boleh alih mengandungi nilai yang mesti ditambahkan ke setiap alamat yang dirujuki dalam program supaya ia boleh mendapatkan alamat ingatan yang betul selepas ia dialihkan
62
Kelebihan pemadatan ingatan : mengoptimumkan kegunaan ingatan dan meningkatkan daya pemprosesan (‘throughput’), atau jumlah pemprosesan yang boleh berlaku
Kekurangan : berkaitan overhed, iaitu jumlah kerja lebihan yang diperlukan untuk mengalihkan ingatan
63
2.8 Strategi Pemadatan Ambang Ingatan (‘Memory
threshold’) Baris-gilir Terprogram (‘Programs
queued’) Berkala (‘Periodic’)
64
2.8.1 Ambang Ingatan (Memory threshold) Bila peratusan tertentu bagi
ingatan menjadi sibuk, misalnya 75%, Pengurus Ingatan akan memadatkan ingatan
Kekurangan : berlaku overhed jika baki 25% tidak digunakan kerana tiada kerja-kerja yang menunggu untuk diproses
65
2.8.2 Baris-gilir Terprogram (Programs queued) Hanya adakan padatan bila ada
program menunggu untuk dijalankan
Kekurangan : Pengurus Ingatan perlu terus menyemak bagi mengetahui sekiranya terdapat kerja-kerja yang sedang menunggu
66
2.8.3 Berkala (Periodic) Padatan diadakan mengikut jadual
berkala Kekurangan : sukar untuk
mengetahui bila hendak menjadual kerap dilakukan, anda membazirkan
masa Jika jarang dilakukan pula, anda akan
dapati kerja menunggu dalam baris-gilir (‘queue’)
67
Ringkasan Empat teknik pengurusan ingatan
dibincangkan dalam bab ini: sistem pengguna tunggal petakan tetap petakan dinamik petakan dinamik boleh alih
68
Semuanya memerlukan keseluruhan program dimuatkan ke dalam ingatan distorkan bersebelahan kekal dalam ingatan sehingga kerja
disiapkan
69
Setiap satu mempunyai keterbatasan terhadap saiz kerja kerana ianya hanya boleh sebesar saiz petakan terbesar dalam ingatan
Skim-skim ini bersesuaian dengan tiga generasi pertama komputer, yang memproses kerja-kerja dalam mod kelompok
Masa pusing-balik (‘turnaround time’) diukur dalam jam atau hari, tempoh jangkaan yang dianggap lengahan bagi pengguna di antara serahan kerja dan pungutan output
70
Latihan Terangkan kelebihan dan
kekurangan bagi keempat-empat skim peruntukan ingatan yang dibincangkan dalam bab ini
71
Diberi rajah berikut untuk pemetakan statik: Alamat Mula Panjang Status 0K 16K sibuk
16K 8K bebas
24K 16K sibuk
40K 4K bebas
44K 12K sibuk
56K 10K bebas Jumlah ruang yang diperuntukkan ialah ___ K.