MANAJEMEN MEMORY PART 3 Ritzkal, S.Kom,CCNA
Latar belakang Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui memori terlebih dahulu. Sistem Operasi bertugas untuk mengatur peletakan banyak proses pada suatu memori. Memory manager : Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Media Penyimpanan Utama
Register Tempat penyimpanan beberapa buah data volatile yang akan diolah langsung di prosesor yang berkecepatan sangat tinggi. Register ini berada di dalam prosesor dengan jumlah yang sangat terbatas karena fungsinya sebagai tempat perhitungan/komputasi data. Cache Memory Tempat penyimpanan sementara (volatile) sejumlah kecil data untuk meningkatkan kecepatan pengambilan atau penyimpanan data di memori oleh prosesor yang berkecepatan tinggi. Random Access Memory Tempat penyimpanan sementara sejumlah data volatile yang dapat diakses langsung oleh prosesor. Pengertian langsung di sini berarti prosesor dapat mengetahui alamat data yang ada di memori secara langsung.
Memori Ekstensi Tambahan memori yang digunakan untuk membantu proses-proses dalam komputer, biasanya berupa buffer. Peranan tambahan memori ini sering dilupakan akan tetapi sangat penting artinya untuk efisiensi. Biasanya tambahan memori ini memberi gambaran kasar kemampuan dari perangkat tersebut, sebagai contoh misalnya jumlah memori VGA, memori soundcard. Direct Memory Access Perangkat DMA digunakan agar perangkat (I/O device) yang dapat memindahkan data dengan kecepatan tinggi (mendekati frekuensi bus memori). Perangkat pengendali memindahkan data dalam blok-blok dari buffer langsung ke memory utama atau sebaliknya tanpa campur tangan prosesor. Interupsi hanya terjadi tiap blok bukan tiap word atau byte data. Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC). DMA Controller mengirimkan atau menerima signal dari memori dan I/O device. Prosesor hanya mengirimkan alamat awal data, tujuan data, panjang data ke pengendali DMA. Interupsi pada prosesor hanya terjadi saat proses transfer selesai. Hak terhadap penggunaan bus memory yang diperlukan pengendali DMA didapatkan dengan bantuan bus arbiter yang dalam PC sekarang berupa chipset Northbridge.
Arsitekture PC modern
Pemberian Alamat > Penjilidan alamat dapat terjadi pada 3 saat, yaitu : Compile Time : pada saat proses di-compile, menggunakan kode absolut. Load Time : pada saat proses dipanggil, menggunakan kode yang direlokasi. Execution Time : pada saat proses dijalankan, memerlukan perangkat keras tersendiri.
Ruang Alamat Logika & Fisik Alamat Logika adalah alamat yg dibentuk di CPU, disebut juga alamat virtual. Alamat fisik adalah alamat yang terlihat oleh memori. Untuk mengubah dari alamat logika ke alamat fisik diperlukan suatu perangkat keras yang bernama MMU (Memory Management Unit). Pengubahan dari alamat logika ke alamat fisik adalah pusat dari manajemen memori.
MMU (Memory Management Unit)
Pemanggilan Dinamis Memanggil routine yang diperlukan untuk menjalankan suatu proses. Routine yang tidak diperlukan, tidak akan dipanggil. Tidak memerlukan bantuan sistem operasi.
Penghubungan Dinamis dan Kumpulan Data Bersama Menghubungkan semua routine yang ada di kumpulan data. Tidak membuang-buang tempat di disk dan memori. Kumpulan data yang ada dapat digunakan bersama-sama. Membutuhkan bantuan sistem operasi.
Fungsi manajemen memori Mengelola informasi yang dipakai dan tidak dipakai. Mengalokasikan memori ke proses yang memerlukan. Mendealokasikan memori dari proses telah selesai. Mengelola swapping atau paging antara memori utama dan disk.
Overlays Untuk memasukkan suatu proses yang membutuhkan memori lebih besar dari yang tersedia. Data dan instruksi yang diperlukan dimasukkan langsung ke memori. Tidak memerlukan bantuan dari sistem operasi. Sangat sulit untuk dilakukan.
Swapping Sebuah proses harus berada di dalam memori untuk dapat dijalankan. Sebuah proses dapat di-swap sementara keluar memori ke sebuah penyimpanan cadangan untuk kemudian dikembalikan lagi ke memori. Roll out, roll in adalah penjadualan swapping berbasis pada prioritas (proses berprioritas rendah di-swap keluar memori agar proses berprioritas tinggi dapat masuk dan dijalankan di memori.
Pengalokasian Memori Salah satu tanggung jawab dari Sistem Operasi adalah mengontrol akses ke sumberdaya sistem. Salah satunya adalah memori. Contiguous Memory Allocation: alamat memori diberikan kepada proses secara berurutan dari kecil ke besar. Keuntungan Contiguous daripada Non-contiguous: sederhana, cepat, mendukung proteksi memori. Kerugian Contiguous daripada Non-contiguous: jika tidak semua proses dialokasikan di waktu yang sama,akan menjadi sangat tidak efektif dan mempercepat habisnya memori.
Ada 2 tipe contiguous memory allocation: partisi tunggal dan partisi banyak. Partisi tunggal adalah alamat pertama yang dialokasikan untuk proses adalah yang berikutnya dari alamat yang dialokasikan untuk proses sebelumnya. Partisi banyak adalah dimana Sistem Operasi menyimpan informasi tentang semua bagian memori yang tersedia untuk digunakan (disebut hole). Proses yang akan dialokasikan dimasukkan ke dalam antrian dan algoritma penjadualan digunakan untuk menentukan proses mana yang akan dialokasikan berikutnya.
Ada 2 cara pengaturan partisi pada sistem partisi banyak: partisi tetap, dan partisi dinamis. Partisi tetap adalah apabila memori dipartisi menjadi blok-blok yang ukurannya ditentukan dari awal. Terbagi lagi atas partisi tetap berukuran sama, dan partisi tetap berukuran berbeda. Partisi dinamis adalah memori dipartisi menjadi bagian-bagian dengan jumlah dan besar yang tidak tentu.
Algoritma Pengalokasian Memori dengan Partisi Dinamis First fit : Mengalokasikan hole pertama yang besarnya mencukupi. Pencarian dimulai dari awal. Best fit : Mengalokasikan hole terkecil yang besarnya mencukupi. Next fit : Mengalokasikan hole pertama yang besarnya mencukupi. Pencarian dimulai dari akhir pencarian sebelumnya. Worst fit : Mengalokasikan hole terbesar yang tersedia.
Teknik Penjadwalan Proses Part 4 Ritzkal, S.Kom,CCNA
Tugas Penjadwalan Proses Prosesor
Istilah Pekerjaan / Job User menyerahkan pekerjaan mereka pada komputer. Ada pekerjaan yang panjang, sedang dan pendek. Untuk dapat diolah oleh komputer harus dianalisis dahulu untuk mengetahui bagaimana sebaiknya pekerjaan itu dilakukan. Terobosan / Troughput Pekerjaan dalam komputer dilaksanakan langkah demi langkah, sehingga dapat dikatakan bahwa troughput adalah banyaknya pekerjaan yang dapat diselesaikan oleh sistem komputer dalam satu satuan waktu.
Tugas / Task Program yang terdiri dari banyak bagian program dan bagian program yang dikerjakan merupakan tugas bagi sistem operasi. Tugas yang sedang dilaksanakan, adalah tugas yang menemukan semua sumber daya yang diperlukannya, termasuk prosesor. Tugas yang siap dilaksanakan, adalah tugas yang menemukan semua sumber daya yang diperlukannya, kecuali prosesor. Tugas yang belum dilaksanakan, adalah tugas yang belum menemukan sumber daya yang diperlukannya. Proses / Process Tugas yang telah dijadwalkan untuk menemukan prosesor / tugas yang telah diterima oleh penjadwalan.
2 jenis proses Tugas / proses sistem, berasal dari program sistem yaitu dari sistem bahasa, utilitas, operasi, dimana prosesor melayani sistem (prosesor dikuasai sistem / kontek sistem) Tugas / proses aplikasi, berasal dari program aplikasi, dimana prosesor melayani aplikasi (prosesor dikuasai aplikasi / kontek aplikasi)
Proses Serentak / Concurrent Process Multiprogramming, sistem komputer lebih dari 1 program sekaligus dalam pelaksanaan proses. Multitasking, banyak bagian program yang dipersiapkan untuk diolah oleh prosesor namun belum sempat dijadwalkan untuk memperoleh prosesor. Multiprocessing, sejumlah tugas yang telah dijadwalkan untuk menggunakan prosesor. Multiplexing, menggunakan pertukaran kendali dalam selang waktu terpisah-pisah. Time sharing / rentang waktu, secara bersamaan sejumlah pemakai dapat menggunakan 1 sistem komputer, sehingga setiap pemakai merasa bahwa seluruh sistem komputer seolah-olah untuk dirinya.
Proses Berurutan Sejumlah proses berlangsung secara berselingan dan tidak ada diantara mereka yang bertumpang tindih waktu, sebelum 1 proses selesai, proses berikutnya belum bekerja. A B C
Proses Paralel pada proses tunggal, proses serentak bukan proses paralel karena proses tersebut di gali 1 demi 1, sepenggal demi sepenggal. Pada proses jamak, proses dapat dilaksanakan secara serempak diantara banyak prosesor sehingga disebut proses paralel A B C
Proses Serentak Berpenggalan Ada penggalan dari 1 proses yang berselingan dengan penggalan dari proses lain dan ada penggalan dari proses pertama yang bertumpang tindih waktu dengan penggalan proses kedua. A A1 A2 B B1 B2 C C1 C2
Istilah dalam penjadwalan proses Scheduler adalah bagian sistem operasi yang mengatur penjadwalan eksekusi proses-proses. Algoritma penjadwalan (scheduling algorithm) adalah algoritma yang digunakan. Penjadwalan Proses Antrian, karena banyak proses yang muncul secara serentak maka dibuat antrian di depan prosesor, yang berada dalam keadaan siap dan hanya ada 1 proses yang berada dalam status kerja Prioritas, mendahulukan pada antrian proses karena tidak semua proses sama pentingnya, sehingga dibuat suatu prioritas. Dalam prioritas, pekerjaan pada prosesor diselesaikan dahulu baru proses berprioritas akan di proses Preempsi, sama dengan prioritas, tetapi pada preempsi jika ada proses yang mendapatkan preempsi maka preemsi akan menghentikan kerja prosesor dan mengeluarkan pekerjaan di dalam prosesor itu, sehingga proses berpreempsi dapat dilayani prosesor. Dan setelah proses berpreempsi selesai dilaksanakan, prosesor akan melaksanakan sisa proses yang dikeluarkan dari pekerjaannya tadi
Jangka penjadwalan Penjadwalan jangka pendek / short term scheduling / low level scheduling, yaitu mengurus masuknya antrian siap ke prosesor serta antrian siap ke alat peripheral I/O, yang mengurus prioritas dan preempsi. Penjadwalan jangka media / medium term scheduling / intermediate level scheduling, yaitu mengurus terhadap proses yang dikeluarkan dari prosesor yang belum rampung dikerjakan dan melanjutkan pekerjaan proses tersebut di prosesor. Penjadwalan jangka panjang / long term scheduling / high level scheduling, yaitu mengurus masuknya pekerjaan baru berupa penentuan pekerjaan baru mana yang boleh diterima dan tugas disini diubah menjadi proses.
Tujuan penjadwalan Fairness / pelayanan yang adil untuk semua pekerjaan Efficiency / memaksimumkan pemakaian prosesor Overhead / meminimumkan waktu tunggu Pemakaian sumber daya seimbang Tidak terjadi penundaan waktu tak hingga Kegiatan sumber daya dapat dideteksi terlebih dahulu
Penjadwalan Satu Tingkat Pertama Tiba Pertama Dilayani (PTPD) / First Come First Served (FCFS) Penjadwalan ini murni antrian, tanpa prioritas tanpa preempsi. Nama Proses Saat Tiba Lama Proses Saat Mulai Saat Rampung Lama Tanggap A 9 B 30 39 C 4 43 D 8 51 E 12 63 Ti 205 serentak Tr 41 Nama Proses Saat Tiba Lama Proses Saat Mulai Saat Rampung Lama Tanggap A 4 B 1 7 11 10 C 3 14 D 8 22 15 Ti 40 Tr
Proses Terpendek Dipertamakan (PTD) / Shortest Job First (SJF) Penjadwalan ini adalah antrian dengan prioritas tanpa preempsi, yang menjadi prioritas adalah proses yang terpendek (tersingkat), makin pendek proses, makin tinggi prioritasnya Nama Proses Saat Tiba Lama Proses Saat Mulai Saat Rampung Lama Tanggap A 11 B 8 C 10 D 3 E 5 Nama Proses Saat Tiba Lama Proses Saat Mulai Saat Rampung Lama Tanggap D 3 E 5 8 B 16 C 10 26 A 11 37 Ti 90 serentak prioritas Tr 18