ch07 - memory management

37
Ch7- Memory Management Operating Systems

Upload: taufik-akbar-wibowo

Post on 24-Sep-2015

33 views

Category:

Documents


0 download

DESCRIPTION

operating system memory management

TRANSCRIPT

Ch7-Memory ManagementOperating SystemsOperating Systems: Internal and Design Principles, 8/e, by William Stallings, Chapter 7 Memory Management.

1

Table 7.1

Memory Management Terms

Frame =block dengan panjang tetap (fixed) dari sebuah main memoryPage = sama seperti frame tetapi terdapat di memory kedua (seperti disk). Sebuah halaman data mungkin sementara waktu di copy ke frame di main memorySegment = block data yang panjangnya bervariasi (variable) yang terdapat di memory kedua. Semua segment bisa saja sementara waktu di copy ke area main memory yang tersedia (disebut segmentation) atau segment dibagi kedalam page yang secara individu bisa di copy ke main memory (gabungan dari segmentation dan paging)2Memory Management RequirementsMemory management is intended to satisfy the following requirements: memory management diperlukan untuk memuaskan beberapa kebutuhan berikutRelocation (pengalokasian)Protection (proteksi/pengamanan)Sharing (pembagian)Logical organization (pengorganisasian logic)Physical organization (pengorganisasian fisik)

3

RelocationProgrammers typically do not know in advance which other programs will be resident in main memory at the time of execution of their program (Programmer biasanya tidak tahu secara dalam program mana yang akan menempati main memory ketika pengeksekusian program)Active processes need to be able to be swapped in and out of main memory in order to maximize processor utilization (proses aktif harus bisa di swap in dan out dari main memory supaya dapat memaksimalkan utilisasi processor)Specifying that a process must be placed in the same memory region when it is swapped back in would be limiting (ditentukan bahwa proses harus diletakkan pada area memory yang sama ketika men-swap in kembali akan menjadi terbatas)may need to relocate the process to a different area of memory (mungkin dibutuhkan untuk mengalokasikan proses ke area lain di memory)4

5

ProtectionProcesses need to acquire permission to reference memory locations for reading or writing purposes (sebuah proses perlu mendapat izin ke referensi lokasi memory untuk tujuan menulis dan membaca)Location of a program in main memory is unpredictable (lokasi program dalam main memory tidak dapat diprediksi)Memory references generated by a process must be checked at run time (referensi memory yang dibuat oleh proses harus dicek pada saat waktu program berjalan)Mechanisms that support relocation also support protection (mekanisme yang mendukung relocation juga mendukung protection)

6

SharingAdvantageous to allow each process access to the same copy of the program rather than have their own separate copy (berguna untuk membolehkan setiap proses mengakses copy yang sama dari program dari pada memiliki copy mereka sendiri secara terpisah)Memory management must allow controlled access to shared areas of memory without compromising protection (memory management harus membolehkan akses control ke area berbagi dari memory tanpa mempermasalahkan protection)Mechanisms used to support relocation support sharing capabilities (mekanisme digunakan untuk mendukung relokasi mendukung kemampuan sharing)

7Logical OrganizationMemory is organized as linear (memory diorganisasikan secara linear)

Segmentation is the tool that most readily satisfies requirements (segmentation merupakan alat yang sangat siap memuaskan kebutuhan)

8Physical Organization9Memory PartitioningMemory management brings processes into main memory for execution by the processor(memory management membawa proses kedalam main memory untuk dieksekusi oleh prosesor) involves virtual memory(melibatkan virtual memory)based on segmentation and paging(berdasar pada segmentasi dan paging)Partitioningused in several variations in some now-obsolete operating systems(dipakai pada beberapa variasi dalam beberapa OS yang sekarang sudah usang)does not involve virtual memory(tidak melibatkan virtual memory)

10

Table 7.2

Memory Management Techniques (Table is on page 315 in textbook)11

12

DisadvantagesA program may be too big to fit in a partition (program mungkin terlalu besar untuk muat dalam partisi)program needs to be designed with the use of overlays(program harus didesain dengan pemakaian overlays)Main memory utilization is inefficient(utilisasi main memory tidak efisien) any program, regardless of size, occupies an entire partition(program apapun, tanpa membicarakan ukurannya, menduduki seluruh partisi)internal fragmentation wasted space due to the block of data loaded being smaller than the partition(space yang terbuang karena block data yang dimuat menjadi kecil daripada partisi)

13

14DisadvantagesThe number of partitions specified at system generation time limits the number of active processes in the system(jumlah partisi ditentukan oleh pembuatan waktu system membatasi jumlah proses yang aktif di system)Small jobs will not utilize partition space efficiently(pekerjaan yang kecil tidak mengutilisasi space partisi secara efisien)

15Dynamic PartitioningPartitions are of variable length and number(partisi dari beragam panjang dan jumlah)Process is allocated exactly as much memory as it requires(proses dialokasikan sesuai dengan besar memory yang dibutuhkan)This technique was used by IBMs mainframe operating system, OS/MVT(teknik ini digunakan oleh OS mainframe IBM, OS/MVT)

16

17Dynamic Partitioning18Batas Grup BerikutnyaPlacement Algorithms(algoritma penukaran)20

21Buddy SystemComprised of fixed and dynamic partitioning schemes(terdiri dari skema partitioning fixed dan dynamic)Space available for allocation is treated as a single block(space yang tersedia untuk dialokasikan diperlakukan sebagai sebuah single block)Memory blocks are available of size 2K words, L K U, where (block memory yang tersedia dari ukuran 2K2L = smallest size block that is allocated (block ukuran terkecil yang telah dialokasikan)2U = largest size block that is allocated; generally 2U is the size of the entire memory available for allocation(block ukuran terbesar, secara umum 2U adalah ukuran dari seluruh memory yang tersedia untuk dialokasikan)

22

23

24Addresses25

26PagingPartition memory into equal fixed-size chunks that are relatively small (partisi memory kedalam potongan ukuran tetap dan sama rata yang secara relatif kecil)Process is also divided into small fixed-size chunks of the same size (proses juga dibagi kedalam potongan kecil ukuran tetap dari ukuran yang sama27

28

Page TableMaintained by operating system for each process(dipertahankan oleh OS untuk setiap proses)Contains the frame location for each page in the process(termasuk dalamnya lokasi frame untuk setiap page dalam proses)Processor must know how to access for the current process(prosesor harus tahu bagaimana cara mengakses untuk proses yang berlangsung)Used by processor to produce a physical address(dipakai oleh prosesor untuk memproduksi alamat fisik)

29

30

31

32

SegmentationA program can be subdivided into segments(program bisa dibagi per sub kedalam segment)may vary in length(mungkin beragam dalam hal panjang)there is a maximum length(ada panjang maximum)Addressing consists of two parts: (pengalamatan terdapat dua bagian)segment number (jumlah segment)an offset (sebuah offset)Similar to dynamic partitioning(mirip dengan patitioning dynamic)Eliminates internal fragmentation(memusnahkan fragmentasi internal)

33SegmentationUsually visible (biasanya terlihat)Provided as a convenience for organizing programs and data(disediakan sebagai kenyamanan untuk mengorganisir program dan data)Typically the programmer will assign programs and data to different segments(biasanya programmer akan menetapkan program dan data ke segment yang berbeda)For purposes of modular programming the program or data may be further broken down into multiple segments(untuk tujuan dari programming modular atau data mngkin bisa pecah menjadi banyak segment)the principal inconvenience of this service is that the programmer must be aware of the maximum segment size limitation(ketidaknyamanan utama dari layanan ini adalah programmer harus tahu pada batas ukuran segment)34Address Translation(penerjemahan alamat)Another consequence of unequal size segments is that there is no simple relationship between logical addresses and physical addresses(konsekuensi lain dari ukuran segemt yang tidak sama adalah tidak adanya hubungan sederhana antara alamat logic dan alamat fisik)The following steps are needed for address translation: (tahapan berikut dibutuhkan untuk menerjemahkan alamat)35

36SummaryMemory partitioningfixed partitioningdynamic partitioningbuddy systemrelocationSegmentation Memory management requirementsrelocationprotectionsharinglogical organizationphysical organizationPaging 37