Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PENGURUSAN INGATAN, SISTEM AWAL

Presentasi serupa


Presentasi berjudul: "PENGURUSAN INGATAN, SISTEM AWAL"— Transcript presentasi:

1 PENGURUSAN INGATAN, SISTEM AWAL
Bab 2

2 On-line notes

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 program
4. Tambah pembilang program dengan jumlah byte dalam suruhan 5. Sudahkah suruhan akhir dicapai? Jika ya, maka henti muatkan program Jika tidak, maka teruskan dengan langkah 6

9 7. Muatkan suruhan dalam ingatan
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 kerja 2. Jika saiz_kerja > saiz petakan terbesar maka tolak kerja tersebut cetakkan mesej bersesuaian ke pengendali pergi ke langkah 1 untuk kendalikan kerja seterusnya dalam barisan jika tidak pergi ke langkah 3    

16 3. Set pembilang menjadi 1 4. Buat sementara pembilang <= bilangan petakan dalam ingatan Jika saiz_kerja > saiz_petakan_ingatan (pembilang) Maka pembilang = pembilang + 1

17 status_petakan_ingatan(pembilang) = spi petakan_ingatan = pi
Jika tidak Jika spi= “bebas” maka muatkan kerja dlm pi tukar spi ke “sibuk” pergi ke langkah 1 jika tidak pembilang = pembilang + 1 tamat buat

18 5. Tiada petakan lagi pada masa ini,. tempatkan kerja dalam queue
5. Tiada petakan lagi pada masa ini, tempatkan kerja dalam queue menunggu 6. 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 325k - Bebas 50k 350k Kerja 2

22 K1 30K K2 50K K3 30K K4 25K Keadaan asal Selepas masukan kerja 100K

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 Enam tugasan (50K, 20K, 30K,100K)
(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 40K 15K K1 10K Sibuk 5K 105K 20K K2 Tiada 30K K3 55K 50K K4
Lokasi Ingatan Saiz blok ingatan Nombor Kerja Saiz Kerja Status Penyer-pihan Dalaman 40K 15K K1 10K Sibuk 5K 105K 20K K2 Tiada 30K K3 55K 50K K4

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 = 0 4. 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 tidak baziran_ingatan = saiz_ingatan(pembilang) – saiz_kerja jika baziran_ingatan_awal > baziran_ingatan maka subskrip = pembilang baziran_ingatan_awal = baziran_ingatan pembilang = pembilang + 1 Tamat buat

38 6. Jika subskrip = 0 maka letakkan kerja dlm queue menunggu jika 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 10K 30K K1 Sibuk 20K 40K 15K K4 5 K 55K 50K K2 105K - Bebas
Lokasi Ingatan Saiz blok ingatan Nombor Kerja Saiz Kerja Status Penyer-pihan Dalaman 10K 30K K1 Sibuk 20K 40K 15K K4 5 K 55K 50K K2 105K - Bebas

42 Jumlah yang ada : 115K Jumlah Guna : 40K

43 Algorithma Padanan Pertama
1. Set pembilang ke 1 2. Buat sementara pembilang <= jumlah blok dalam ingatan Jika saiz_kerja > saiz_ingatan (pembilang) maka pembilang = pembilang + 1

44 jika tidak muat kerja dalam saiz_ingatan (pembilang) selaraskan senarai ingatan bebas/sibuk pergi ke langkah 4 tamat buat 3. Letakkan kerja dalam queue menunggu 4. 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 200K Ingatan Fana (Transient Memory) Enam Tugas
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:-
Bila blok yg akan dibebaskan berada bersebelahan dengan blok bebas yg lain Bila blok yang akan dibebaskan berada di antara dua blok bebas 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
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 K K sibuk 16K K bebas 24K K sibuk 40K K bebas 44K K sibuk 56K K bebas  Jumlah ruang yang diperuntukkan ialah ___ K.


Download ppt "PENGURUSAN INGATAN, SISTEM AWAL"

Presentasi serupa


Iklan oleh Google