1 / 71

PENGURUSAN INGATAN, SISTEM AWAL

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.

gitano
Download Presentation

PENGURUSAN INGATAN, SISTEM AWAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 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. 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) = spipetakan_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 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. K1 30K K2 50K K3 30K K4 25K Keadaan asal Selepas masukan kerja 100K 25K 25K 50K K1(30K) K4(25K) K2(50K)

  22. Kelebihan • Berbilang pengaturcaraan • Penggunaan ingatan yang lebih baik/cekap • Pengaruh kelajuan pemproses berbanding dengan kelajuan I/O

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

  24. Contoh : • Empat petakan • (50K, 20K, 30K,100K) • Enam tugasan • (40K, 10K, 20K, 60K, 100K, 60K)

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

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

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

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

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

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

  31. Semua kerja dilayan tanpa perlu menunggu • Perhatikan senarai disusun mengikut saiz ingatan • Ia menggunakan ingatan dengan lebih cekap tetapi agak lambat untuk dilaksanakan

  32. Jumlah yang ada : 115K Jumlah Guna : 70K

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

  34. 5. Buat sementara pembilang <= jumlah blok dalam ingatan Jika saiz_kerja > saiz_ingatan (pembilang) maka pembilang = pembilang + 1

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

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

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

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

  39. Jumlah yang ada : 115K Jumlah Guna : 40K

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

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

  42. Kelebihan • Tiada penyerpihan dalaman • Penggunaan ingatan yang lebih baik

  43. Kekurangan • Penyerpihan luaran • OS yang lebih kompleks • Overhed yang banyak

  44. Contoh : • 200K Ingatan Fana (Transient Memory) • Enam Tugas • (40K, 10K, 20K, 60K, 100K, 60K)

  45. 2.5 Nyah-Peruntukan (“Deallocation” ) • Apa sahaja yang diperuntukkan mesti dinyah-peruntukkan (bebaskan) sebaik sahaja program telah dijalankan bagi memberi peluang kepada program lain

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

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

More Related