PENGURUSAN INGATAN, SISTEM AWAL

71
1 PENGURUSAN INGATAN, SISTEM AWAL Bab 2

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

Transcript of PENGURUSAN INGATAN, SISTEM AWAL

Page 1: PENGURUSAN INGATAN,  SISTEM AWAL

1

PENGURUSAN INGATAN,

SISTEM AWAL

Bab 2

Page 2: PENGURUSAN INGATAN,  SISTEM AWAL

2

On-line notes

http://www.fsktm.um.edu.my/~nazlita/wxes1110.htm

Page 3: PENGURUSAN INGATAN,  SISTEM AWAL

3

Pengurus Ingatan Bahagian sistem yang

menguruskan ingatan Memberi perkhidmatan bagi

permintaan peruntukan Mengitar-semula ingatan, sama

ada secara manual atau automatik

Page 4: PENGURUSAN INGATAN,  SISTEM AWAL

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.

Page 5: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 6: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 7: PENGURUSAN INGATAN,  SISTEM AWAL

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)

Page 8: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 9: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 10: PENGURUSAN INGATAN,  SISTEM AWAL

10

Kelebihan Mudah dilaksanakan Overhed yang minimum Pengurusan mudah

Page 11: PENGURUSAN INGATAN,  SISTEM AWAL

11

Kekurangan Pembaziran Berbilang pengaturcaraan adalah

sukar kerana ia kendalikan hanya satu kerja pada satu masa

Page 12: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 13: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 14: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 15: PENGURUSAN INGATAN,  SISTEM AWAL

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    

Page 16: PENGURUSAN INGATAN,  SISTEM AWAL

16

3. Set pembilang menjadi 14. Buat sementara pembilang <=

bilangan petakan dalam ingatanJika saiz_kerja > saiz_petakan_ingatan (pembilang)

Maka pembilang = pembilang + 1

Page 17: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 18: PENGURUSAN INGATAN,  SISTEM AWAL

18

5. Tiada petakan lagi pada masa ini, tempatkan kerja dalam queue

menunggu6. Pergi ke langkah 1

Page 19: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 20: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 21: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 22: PENGURUSAN INGATAN,  SISTEM AWAL

22

K1 30KK2 50KK3 30KK4 25K

100K

25K

25K

50K

Keadaan asal Selepas

masukan kerja

K1(30K)

K4(25K)

K2(50K)

Page 23: PENGURUSAN INGATAN,  SISTEM AWAL

23

Kelebihan Berbilang pengaturcaraan Penggunaan ingatan yang lebih

baik/cekap Pengaruh kelajuan pemproses

berbanding dengan kelajuan I/O

Page 24: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 25: PENGURUSAN INGATAN,  SISTEM AWAL

25

Contoh : Empat petakan

(50K, 20K, 30K,100K) Enam tugasan

(40K, 10K, 20K, 60K, 100K, 60K)

Page 26: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 27: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 28: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 29: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 30: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 31: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 32: PENGURUSAN INGATAN,  SISTEM AWAL

32

Semua kerja dilayan tanpa perlu menunggu

Perhatikan senarai disusun mengikut saiz ingatan

Ia menggunakan ingatan dengan lebih cekap tetapi agak lambat untuk dilaksanakan

Page 33: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 34: PENGURUSAN INGATAN,  SISTEM AWAL

34

Jumlah yang ada : 115K Jumlah Guna : 70K

Page 35: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 36: PENGURUSAN INGATAN,  SISTEM AWAL

36

5. Buat sementara pembilang <= jumlah blok dalam ingatan

Jika saiz_kerja > saiz_ingatan (pembilang)

maka pembilang = pembilang + 1

Page 37: PENGURUSAN INGATAN,  SISTEM AWAL

37

jika tidakbaziran_ingatan =

saiz_ingatan(pembilang) – saiz_kerjajika baziran_ingatan_awal >

baziran_ingatanmaka subskrip = pembilangbaziran_ingatan_awal = baziran_ingatan

pembilang = pembilang + 1Tamat buat

Page 38: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 39: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 40: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 41: PENGURUSAN INGATAN,  SISTEM AWAL

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 -

Page 42: PENGURUSAN INGATAN,  SISTEM AWAL

42

Jumlah yang ada : 115K Jumlah Guna : 40K

Page 43: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 44: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 45: PENGURUSAN INGATAN,  SISTEM AWAL

45

Kelebihan Tiada penyerpihan dalaman Penggunaan ingatan yang lebih

baik

Page 46: PENGURUSAN INGATAN,  SISTEM AWAL

46

Kekurangan Penyerpihan luaran OS yang lebih kompleks Overhed yang banyak

Page 47: PENGURUSAN INGATAN,  SISTEM AWAL

47

Contoh : 200K Ingatan Fana (Transient

Memory) Enam Tugas

(40K, 10K, 20K, 60K, 100K, 60K)

Page 48: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 49: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 50: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 51: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 52: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 53: PENGURUSAN INGATAN,  SISTEM AWAL

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’)

Page 54: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 55: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 56: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 57: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 58: PENGURUSAN INGATAN,  SISTEM AWAL

58

Walaubagaimanapun, kesemua nilai lain dalam program (spt. nilai data) dibiarkan sendirian

Sistem pengendalian mesti membezakan di antara alamat dan nilai data

Page 59: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 60: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 61: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 62: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 63: PENGURUSAN INGATAN,  SISTEM AWAL

63

2.8 Strategi Pemadatan Ambang Ingatan (‘Memory

threshold’) Baris-gilir Terprogram (‘Programs

queued’) Berkala (‘Periodic’)

Page 64: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 65: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 66: PENGURUSAN INGATAN,  SISTEM AWAL

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’)

Page 67: PENGURUSAN INGATAN,  SISTEM AWAL

67

Ringkasan Empat teknik pengurusan ingatan

dibincangkan dalam bab ini: sistem pengguna tunggal petakan tetap petakan dinamik petakan dinamik boleh alih

Page 68: PENGURUSAN INGATAN,  SISTEM AWAL

68

Semuanya memerlukan keseluruhan program dimuatkan ke dalam ingatan distorkan bersebelahan kekal dalam ingatan sehingga kerja

disiapkan

Page 69: PENGURUSAN INGATAN,  SISTEM AWAL

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

Page 70: PENGURUSAN INGATAN,  SISTEM AWAL

70

Latihan Terangkan kelebihan dan

kekurangan bagi keempat-empat skim peruntukan ingatan yang dibincangkan dalam bab ini

Page 71: PENGURUSAN INGATAN,  SISTEM AWAL

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.