Rabu, 04 Desember 2013

PENJADWALAN PROSES SISTEM OPERASI



PENJADWALAN PROSES SISTEM OPERASI
 Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi SOLARIS, LINUX, dan WINDOWS XP.
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain :
  • Agar semua pekerjaan memperoleh pelayanan yang adil (firness).
  • Agar pemakaian prosesor dapat dimaksimumkan.
  • Agar waktu tanggap dapat diminimumkan.
  • Agar pemakaian sumber daya seimbang.
  • Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
  • Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
  • Agar terobosan (thoughput) dapat dimaksimumkan.
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
  1. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
  1. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
  1. Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
PENJADWALAN PROSES SISTEM OPERASI SOLARIS

Programmed in
C
OS family
Source model
Initial release
1992
10 10/09 / October 8, 2009; 10 months ago
Availablelanguage(s)
C
Supported platforms
SPARCIA-32x86-64,PowerPC (Solaris 2.5.1 only)
Kernel type
Various
Official website
Solaris menggunakan penjadwalan berdasarkan prioritas dimana yang mempunyai prioritas yang lebih tinggi dijalankan terlebih dahulu. Informasi tentang penjadwalan kernel thread dapat dilihat dengan ps -elcL. Kernel Solaris adalah fully preemtible, artinya semua thread, termasuk thread yang mendukung aktifitas kernel itu sendiri dapat ditunda untuk menjalankan thread dengan prioritas yang lebih tinggi.

Gambar penjadwalan solaris
Solaris mengenal 170 prioritas yang berbeda, 0-169. Terbagi dalam 4 kelas penjadwalan yang berbeda:
  1. Real time (RT). Thread di kelas RT memiliki prioritas yang tetap dengan waktu kuantum yang tetap juga. Thread ini memiliki prioritas yang tinggi berkisar antara 100-159. Hal inilah yang membuat proses waktu nyata memiliki response time yang cepat. Proses waktu nyata akan dijalankan sebelum proses-proses dari kelas yang lain dijalankan sehingga dapat menghentikan proses di system class. Pada umumnya, hanya sedikit proses yang merupakan real time class.
  2. System (SYS). Solaris menggunakan system class untuk menjalankan kernel proses, seperti penjadwalan dan paging daemonThreads di kelas ini adalah “bound” threads, berarti bahwa mereka akan dijalankan sampai mereka di blok atau prosesnya sudah selesai. Prioritas untuk SYS threads berkisar 60-99. Sekali dibangun, prioritas dari sistem proses tidak dapat dirubah. System classdialokasikan untuk kernel useuser proses berjalan di kernel mode bukan di system class).
  3. Time Sharing (TS). Time sharing class merupakan default class untuk proses dan kernel thread yang bersesuaian. Time slices masing-masing proses dibagi berdasarkan prioritasnya. Dalam hal ini, prioritas berbanding terbalik dengan time slices-nya. Untuk proses yang prioritasnya tinggi mempunyai time-slices yang pendek, dan sebaliknya proses dengan prioritas yang rendah mempunyai time slices yang lebih panjang. Besar prioritasnya berada antara 0-59. Proses yang interaktif berada di prioritas yang tinggi sedangkan proses CPU-bound mempunyai prioritas yang rendah. Aturan penjadwalan seperti ini memberikan response time yang baik untuk proses yang interaktif, dan troughput yang baik untuk proses CPU-bound.
  4. Interactive (IA). Kelas Interaktif menggunakan aturan yang sama dengan aturan dengan kelas kelas time sharing, tetapi kelas ini memberikan prioritas yang tinggi untuk aplikasi jendela ( windowing application) sehingga menghasilkan performance yang lebih baik. Seperti TS, range IA berkisar 0-59.
Tabel . Solaris dispatch table for interactive and time sharing threads
Priority
Time quantum
Time quantum expired
return from sleep
0
200
0
50
5
200
0
50
10
160
0
51
15
160
5
51
20
120
10
52
25
120
15
52
30
80
20
53
35
80
25
54
40
40
30
55
45
40
35
56
50
40
40
58
55
40
45
58
59
20
49
59
Keterangan:
  1. Priority: prioritas berdasarkan kelas untuk time sharing dan interactive class. Nomor yang lebih tinggi menunjukkan prioritas yang lebih tinggi.
  1. Time quantum: waktu kuantum untuk setiap prioritas. Dapat diketahui bahwa fungsi waktu kuantum berbanding terbalik dengan prioritasnya.
  1. Time quantum expired: Prioritas terbaru untuk thread yang telah habis time slices-nya tanpa diblok. Dapat dilihat dari tabel bahwa thread yang CPU-bound tetap mempunyai prioritas yang rendah.
  1. Return from sleep: Prioritas thread yang kembali dari sleeping(misalnya menunggu dari M/K). Seperti yang terlihat dari tabel ketika M/K berada di waiting thread, prioritasnya berada antara 50-59, hal ini menyebabkan response time yang baik untuk proses yang interaktif.
  1. Fixed Priority (FX). Thread di kelas fixed priority memiliki range prioritas (0-59) yang sama seperti di time-sharing class; tetapi, prioritas mereka tidak akan berubah.
  2. Fair Share Scheduler (FSS). Thread yang diatur oleh FSS dijadwalkan berdasar pembagian sumber daya dari CPU yang tersedia dan dialokasikan untuk himpunan proses-proses (yang dikenal sebagai project). FS juga berkisar 0-59. FSS and FX baru mulai diimplementasikan di Solaris 9.
Seperti yang telah diketahui, setiap kelas penjadwalan mempunyai himpunan dari prioritas-prioritas. Tetapi, penjadwal mengubah class-specific priorities menjadi global priorities kemudian memilih threaddengan prioritas paling tinggi untuk dijalankan. Thread yang dipilih tersebut jalan di CPU sampai thread tersebut (1) di- block, (2) habis time slices-nya, atau (3) dihentikan oleh thread dengan prioritas yang lebih tinggi. Jika ada beberapa thread dengan prioritas yang sama, penjadwal akan menggunakan Round-Robin queue. Seperti yang pernah dijelaskan sebelumnya, Solaris terdahulu menggunakan many-to-many model tetapi solaris 9 berubah menggunakan one-to-one model.
PENJADWALAN PROSES SISTEM OPERASI LINUX

Linus Torvalds and many others
Programmed in
OS family
Working state
Current
Source model
2.6.35.3 (August 20, 2010; 3 days ago)[1] [+/−]
2.6.36-rc2 (August 23, 2010; 0 days ago)[2][+/−]
Marketing target
Desktops, servers, embedded devices
Availablelanguage(s)
Multi-lingual
Supported platforms
Kernel type
GNU and others
Officialwebsite
Mulai di versi 2.5, Kernel linux dapat berjalan di berbagai algoritma penjadwalan UNIX tradisional. Dua masalah dengan penjadwal UNIX tradisional adalah tidak disediakannya dukungan yang cukup untuk SMP (symmetric multiprocessor) sistem dan tidak diperhitungkan dengan baik jumlah tasks pada sistem yang berkembang. Dalam versi 2.5, penjadwal memeriksa dengan teliti hal tersebut, dan sekarang kernel juga menyajikan algoritma penjadwalan yang dapat run dalam waktu yang konstan tidak tergantung dari jumlah tasks dalam sistem. Penjadwal yang baru juga menyediakan peningkatan dukungan untuk SMP, termasuk processor affinity dan load balancing, sebaik dalam menyediakan keadilan dan dukungan terhadap interactive tasks.
Penjadwal linux adalah preemptive, algoritmanya berdasarkan prioritas dengan dua range prioritas yang terpisah: real-time range dari 0-99 dan nice value berkisar dari 100-140. Dua range ini dipetakan menjadi global priority scheme dimana nilai yang lebih rendah memiliki prioritas yang lebih tinggi. Tidak seperti penjadwal yang lain, Linux menetapkan prioritas yang lebih tinggi memiliki waktu kuantum yang lebih panjang dan prioritas yang lebih rendah memiliki waktu kuantum yang lebih pendek.
Linux mengimplementasikan real time scheduling seperti yang didefinisikan oleh POSIX 1.b: First Come First Served dan Round Robin. Sistem waktu nyata( real time)diberikan untuk task yang prioritasnya tetap. Sedangkan task yang lainnya memiliki prioritas yang dinamis berdasakan nice values ditambah atau dikurangi dengan 5. Interaktifitas sebuah task menentukan apakah nilai 5 tersebut akan ditambah atau dikurangi dari nice value. Task yang lebih interaktif mempunyai ciri khas memiliki sleep times yang lebih lama dan karena itu maka ditambah dengan -5, karena penjadwal lebih menyukaiinteractive task. Hasil dari pendekatan ini akan membuat prioritas untuk interactive task lebih tinggi. Sebaliknya, task dengan sleep time yang lebih pendek biasanya lebih CPU-bound jadi prioritasnya lebih rendah.

Gambar . Hubungan antara prioritas dan waktu kuantum
Task yang berjalan memenuhi syarat untuk dieksekusi oleh CPU selama time slice-nya masih ada. Ketika sebuah task telah kehabisan time slice-nya, maka task tersebut akan expired dan tidak memenuhi syarat untuk dieksekusi lagi sampai semua task yang lain sudah habis waktu kuantumnya. Kernel mengatur daftar semua task yang berjalan di runqueue data structure. Karena dukungan Linux untuk SMP, setiap prossesor mengatur runqueue mereka sendiri dan penjadwalan yang bebas. Setiap runqueue terdiri dari dua array prioritas - active dan expiredActive array terdiri dari semua task yang mempunyai sisa waktu time slices, dan expired array terdiri dari task yang telah berakhir. Setiap array prioritas ini memiliki daftar task indexed berdasakan prioritasnya. Penjadwal memilih task dengan prioritas paling tinggi di active array untuk dieksekusi dalam CPU. Di mesin multiprossesor, ini berarti setiap prossesor menjadwalkan prioritas paling tinggi dalam runqueue structure masing-masing. Ketika semua tasktelah habis time slices-nya (dimana, active array-nya sudah kosong), dua array prioritas bertukar; expired array menjadi active array, dan sebaliknya.

Gambar . Daftar task indexed berdasarkan prioritas
Penghitungan ulang dari task yang memiliki prioritas yang dinamis berlangsung ketika task telah menyelesaikan waktu kuantumnya dan akan dipindahkan ke expired array. Jadi, ketika ada dua larik ( array) ditukar, semua task di array aktif yang baru ditentukan prioritasnya yang baru dan disesuaikan juga time slices-nya.
PENJADWALAN PROSES SISTEM OPERASI WINDOWS XP

Developer
Microsoft Corporation
Release date
RTM: August 24, 2001 Retail: October 25, 2001 (info)
Current version
5.1.2600.5512 Service Pack 3 (x86 SP3) (21 April 2008; 2 years ago) (info)
Source model
Kernel type
Update method
Platform support
Website
Windows XP menggunakan algoritma, prioritas penjadwalan quantum-based berbasis reemptive priority scheduling .
Gambar Proses Pada Windows Xp
Threads dijadwalkan dalam proses, Karena prioritas preemptive algoritma diimplementasikan dengan beberapa queue, dapat dianggap sebagai algoritma multiple feedback-queue . Namun, masing-masing Threads biasanya terbatas pada kelompok kecil dari 5 level prioritas,
Preemption dapat terjadi karena salah satu dari 4 alasan:
  •  
    • thread menjadi prioritas lebih tinggi-siap
    • thread berakhir
    • kuantum habis waktu
    • thread melakukan panggilan sistem pemblokiran, seperti untuk I / O, dalam hal ini meninggalkan keadaan ready menjadi keadaan menunggu.
Gambar Quatum pada windows XP
32 tingkat prioritas digunakan, di mana prioritas 31 merupakan prioritas tertinggi dan prioritas 0 adalah prioritas terendah

    • memori manajemen thread: prioritas 0
    • variabel kelas prioritas (1-15)
    • real-time kelas prioritas (16-31)
  • Threads di kelas real-time telah tetap prioritasnya.
  • Threads yang berjalan selalu dengan tingkat prioritas tertinggi.
  • Jika tidak ada thread yang ready, Threads idle dijalankan.
  • Ketika waktu quantum thread habis, prioritasnya diturunkan, tetapi prioritasnya tidak pernah diturunkan terlalu jauh

Jumat, 15 November 2013

DISK OPERATING SYSTEM (DOS)



                   Disk Operating System (DOS)     
Disk Operating System atau disingkat dengan DOS adalah sistem operasi yang menggunakan interface command-line yang digunakan para pengguna komputer pada dekade tahun 1980-an. Sekarang DOS menjadi istilah generik bagi setiap sistem operasi yang dimuat dari perangkat penyimpanan berupa disk saat sistem komputer dinyalakan. DOS merupakan sistem yang digunakan untuk mengelola seluruh sumber daya pada sistem komputer, yaitu sumber daya hardware dan software. Kedua sumber daya tersebut harus dikelola dengan baik sehingga sistem dapat bekerja dengan baik, menghindari perebutan pengerjaan (Bottleneck adalah peristiwa macetnya proses aliran data atau transmisi data karena sebab-sebab tertentu. Biasanya disebabkan perbedaan antara kecepatan kerja suatu komponen dengan kecepatan bus-nya. Dapat juga dikarenakan perangkat keluaran tidak dapat mengimbangi kinerja perangkat pemrosesan sehingga memperlambat kerja system secara keseluruhan), memberikan prioritan pengerjaan, menghindari gangguan-gangguan seperti Virus, mengatasi sistem dari kegagalan (Rollback adalah sistem yang Fungsinya mengembalikan data anda yang mengalami masalah misalnya saat data anda terinfeksi virus).
Program DOS biasanya bekerja di belakang layar (tidak terlihat) dan mengijinkan pengguna untuk memasukan karakter dari keyboard, mengenali struktur file untuk data yang tersimpan pada disk, dan menampilkan data melalui monitor atau printer. DOS bertanggung jawab untuk menemukan dan menyusun data dan aplikasi pada disk. Dengan diperkenalkannya sistem operasi dengan Graphic User Interface (GUI) telah membuat DOS jarang digunakan dan tergolong tua. Bagaimanapun juga DOS masih tergolong penting pada banyak wilayah cakupan seperti pemrograman, dan mengoperasikan aplikasi lama. Semua generasi Windows mendukung perintah DOS untuk kompatibilitas dengan aplikasi yang lebih tua. Dengan demikian sangat penting untuk memahami dasar dari DOS sebelum melanjutkan proses instalasi Windows.
DOS dapat berguna sebagai perangkat penolong ketika Windows tidak dapat dijalankan dengan baik dan dapat mengakses hard drive tanpa GUI dan mampu melakukan proses diagnosa dan pemecahan masalah sistem.
Fungsi Disk Operating System (DOS)
Berikut ini adalah fungsi dari Disk Operating System (DOS).
> Mengorganisasikan atau mengendalikan kegiatan komputer
> Mengatur memori
> Mengatur proses input dan output data
> Management file
> Management directory
Disk Operating System (DOS) terbagi menjadi beberapa kelas, yakni :
  1. MS-DOS (Microsoft Disk Operating System), termasuk di antaranya adalah Tandy DOS, Compaq DOS, Q-DOS (Quick and Dirty Operating System) dan beberapa klon dari sistem operasi MS-DOS yang dijual kepada para pembuat sistem komputer IBM PC/Compatible. MS-DOS (Microsoft Disk Operating System) adalah sebuah sistem operasi yang sangat banyak digunakan oleh computer IBM-PC atau yang kompatibel dengannya. Microsoft membuat MS-DOS sebagai sebuah sistem operasi mainstream, sebelum pada akhirnya menghentikan dukungan MS-DOS secara perlahan ketika mereka membuat sebuah sistem operasi berbasis antarmuka grafis (dikenal juga dengan sebutan GUI) untuk pasar mainstream, yang di sebut sebagai Microsoft Windows. MS-DOS dirilis pertama kali pada tahun 1981, dan seiring dengan waktu, Microsoft pun meluncurkan versi yang lebih baru dari MS-DOS. Tidak kurang hingga delapan kali Microsoft meluncurkan versi-versi baru MS-DOS dari tahun 1981 hingga Microsoft menghentikan dukungan MS-DOS pada tahun 2000.
  2. IBM PC-DOS (International Business Machine Personal Computer Disk Operating System), yang meskipun masih buatan Microsoft, diubah sedikit-sedikit untuk dapat digunakan oleh komputer IBM PC.
  3. DR-DOS (Digital Research Disk Operating System), yang dibuat oleh pembuat sistem operasi CP/M, Gary Kildall.
  4. Novell Personal Netware, merupakan versi DR-DOS yang dijual kepada Novell karena perusahaan yang menaungi CP/M mengalami kebangkrutan (Novell mengakuisisi Digital Research Incorporated).
  5. Caldera DOS, merupakan versi Novell Personal Netware yang dijual kepada Caldera Corporation.
  6. FreeDOS, merupakan versi DOS yang dibangun dari sisa-sisa pengembangan Caldera DOS, yang dikembangkan oleh komunitas open source.
Bagian-bagian Disk Operating System (DOS)
Terdapat tiga bagian utama yang membangun disk operating system yaitu :
  1. File boot, yaitu : File ini digunakan pada saat proses boot pada DOS atau proses startup pada sistem.
  2. Manajemen file, yaitu : Bagian ini memungkinkan sistem untuk mengatur datanya dalam suatu sistem file dan folder.
  3. File utility, yaitu : Bagian ini memungkinkan pengguna mengatur resources dari sistem, melakukan troubleshooting sistem, dan mengkonfigurasi seting sistem.
Properti Disk Operating System (DOS)
Berikut adalah properti yang dimiliki oleh DOS, yaitu :
  1. DOS merupakan perangkat yang esensial untuk praktisi IT dan digunakan untuk melakukan pemecahan masalah.
  2. DOS merupakan sistem operasi dengan barisan perintah dan tidak user-friendly. Cara terbaik untuk mempelajari DOS adalah dengan menggunakannya
  3. DOS hanya dapat menjalankan satu program pada satu waktu karena tidak mendukung multitasking.
  4. DOS hanya dapat menjalankan program yang kecil dan memiliki keterbatasan memori.

Senin, 11 November 2013

PEMUATAN INFORMASI KE MEMORI



PEMUATAN INFORMASI KE MEMORI
Pengertian Pemuatan
Pemuatan adalah salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Tanda pengenal untuk pencarian letak memori adalah alamat, lintasan / trek, sektor pada suatu disk.

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
Memori Dukung / backing store
Contohnya : Floppy, Harddisk, CD, dll.
Untuk mendukung memori kerja, umumnya berbentuk disk sehingga berlaku juga asas pemuktakhiran. Setiap trek dan sektor dapat menyimpan sejumlah byte dari memori kerja. Memori kerja dicapai melalui alamat memori dan register data memori. Dan untuk mencapai informasi di memori dukung, isinya harus dipindahkan dulu ke memori kerja (memori dukung = memori semu = virtual memori).

1 pindahan = 1 blok, makin kecil ukuran memori kerja, makin sering terjadi pindahan.
Alamat Memori
- Alamat memori mutlak (alamat fisik)
Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka disebut juga alamat mutlak.
- Alamat memori relatif (alamat logika)
Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita menggunakan alamat 1, maka kitapun menggunakan alamat 2,3, … dan untuk 1 informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini, maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat yang menyimpan informasi maka dikenal alamat memori logika.
Contoh :
 alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya = 14726-0 = 14726.

Ada beberapa cara pemuatan informasi ke ruang memori, yaitu :
1. Pemuatan Mutlak
2. Pemuatan Relokasi
3. Pemuatan Sambung
4. Pemuatan Dinamik

Pemuatan Mutlak
Pemuatan informasi ke memori kerja, alamat yang tercantum di dalam tata olah sama dengan alamat yang ditempatinya di dalam memori kerja. Contohnya pada program, alamat awal 5235 dan subroutine = 5468 diletakkan pada alamat fisik yang sama.

Pemuatan Relokasi
Kondisi dimana pemuatan informasi ke memory kerja, alamat yang tercantum di dalam tata olah tidak mesti sama dengan alamat yang ditempatinya di dalam memori kerja. Contohnya alamat pangkal / fisik = 15200, alamat relatif program 152, maka alamat mutlaknya = 15200 + 152 = 15352.


Hubungan antara alamat memori mutlak dan alamat relatif
Hubungan alamat memori mutlak dan alamat relatif berbeda sebanyak alamat pangkal pada alamat mutlak dikurangi dengan alamat awal pada alamat relatif, selisih ini dinamakan relokasi umum, sedangkan alamat awal adalah A, alamat pangkal adalah P, maka relokasi P adalah sebesar :
R = P – A

Pemuatan Sambung (Linker)
Menyambungkan suatu informasi ke informasi lain di dalam memori kerja. Pemuatan sambung sering digunakan pada tata olah atau penggalan tata olah yang tersimpan di dalam pustaka (library).

Pemuatan Dinamik (Pemuatan Tumpang atau Overlay)
Jika ukuran tata olah itu melampaui ukuran ruang memori kerja, tata olah dapat dipenggal ke dalam sejumlah segmen. Segmen itulah yang kemudian dimuat ke dalam memori kerja. Pelaksanaan pekerjaan berlangsung segmen demi segmen.
Ukuran dari memori fisik terbatas. Supaya utilitas memori berjalan dengan baik, maka kita menggunakan pemuatan dinamis. Dengan cara ini, routine-routine hanya akan dipanggil jika dibutuhkan.
Ilustrasi sebagai berikut, semua routine disimpan di disk dalam format yang dapat dialokasikan ulang (relocatable load format). Program utama diletakkan di memori dan dieksekusi. Ketika sebuah routine memanggil routine yang lain, hal pertama yang dilakukan adalah mengecek apakah ada routine lain yang sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk menempatkan routine yang dibutuhkan ke memori dan memperbaharui tabel alamat program. Lalu, kontrol diberikan pada routine baru yang dipanggil.
Keuntungan dari pemuatan dinamis adalah routine yang tidak digunakan tidak pernah dipanggil. Metode ini berguna pada kode yang berjumlah banyak, ketika muncul kasus seperti routine yang salah. Walaupun ukuran kode besar , porsi yang digunakan bisa jauh lebih kecil.

PENJADWALAN PROSES SISTEM OPERASI

0 comments


PENJADWALAN PROSES SISTEM OPERASI
 Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi SOLARIS, LINUX, dan WINDOWS XP.
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain :
  • Agar semua pekerjaan memperoleh pelayanan yang adil (firness).
  • Agar pemakaian prosesor dapat dimaksimumkan.
  • Agar waktu tanggap dapat diminimumkan.
  • Agar pemakaian sumber daya seimbang.
  • Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
  • Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
  • Agar terobosan (thoughput) dapat dimaksimumkan.
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
  1. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
  1. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
  1. Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
PENJADWALAN PROSES SISTEM OPERASI SOLARIS

Programmed in
C
OS family
Source model
Initial release
1992
10 10/09 / October 8, 2009; 10 months ago
Availablelanguage(s)
C
Supported platforms
SPARCIA-32x86-64,PowerPC (Solaris 2.5.1 only)
Kernel type
Various
Official website
Solaris menggunakan penjadwalan berdasarkan prioritas dimana yang mempunyai prioritas yang lebih tinggi dijalankan terlebih dahulu. Informasi tentang penjadwalan kernel thread dapat dilihat dengan ps -elcL. Kernel Solaris adalah fully preemtible, artinya semua thread, termasuk thread yang mendukung aktifitas kernel itu sendiri dapat ditunda untuk menjalankan thread dengan prioritas yang lebih tinggi.

Gambar penjadwalan solaris
Solaris mengenal 170 prioritas yang berbeda, 0-169. Terbagi dalam 4 kelas penjadwalan yang berbeda:
  1. Real time (RT). Thread di kelas RT memiliki prioritas yang tetap dengan waktu kuantum yang tetap juga. Thread ini memiliki prioritas yang tinggi berkisar antara 100-159. Hal inilah yang membuat proses waktu nyata memiliki response time yang cepat. Proses waktu nyata akan dijalankan sebelum proses-proses dari kelas yang lain dijalankan sehingga dapat menghentikan proses di system class. Pada umumnya, hanya sedikit proses yang merupakan real time class.
  2. System (SYS). Solaris menggunakan system class untuk menjalankan kernel proses, seperti penjadwalan dan paging daemonThreads di kelas ini adalah “bound” threads, berarti bahwa mereka akan dijalankan sampai mereka di blok atau prosesnya sudah selesai. Prioritas untuk SYS threads berkisar 60-99. Sekali dibangun, prioritas dari sistem proses tidak dapat dirubah. System classdialokasikan untuk kernel useuser proses berjalan di kernel mode bukan di system class).
  3. Time Sharing (TS). Time sharing class merupakan default class untuk proses dan kernel thread yang bersesuaian. Time slices masing-masing proses dibagi berdasarkan prioritasnya. Dalam hal ini, prioritas berbanding terbalik dengan time slices-nya. Untuk proses yang prioritasnya tinggi mempunyai time-slices yang pendek, dan sebaliknya proses dengan prioritas yang rendah mempunyai time slices yang lebih panjang. Besar prioritasnya berada antara 0-59. Proses yang interaktif berada di prioritas yang tinggi sedangkan proses CPU-bound mempunyai prioritas yang rendah. Aturan penjadwalan seperti ini memberikan response time yang baik untuk proses yang interaktif, dan troughput yang baik untuk proses CPU-bound.
  4. Interactive (IA). Kelas Interaktif menggunakan aturan yang sama dengan aturan dengan kelas kelas time sharing, tetapi kelas ini memberikan prioritas yang tinggi untuk aplikasi jendela ( windowing application) sehingga menghasilkan performance yang lebih baik. Seperti TS, range IA berkisar 0-59.
Tabel . Solaris dispatch table for interactive and time sharing threads
Priority
Time quantum
Time quantum expired
return from sleep
0
200
0
50
5
200
0
50
10
160
0
51
15
160
5
51
20
120
10
52
25
120
15
52
30
80
20
53
35
80
25
54
40
40
30
55
45
40
35
56
50
40
40
58
55
40
45
58
59
20
49
59
Keterangan:
  1. Priority: prioritas berdasarkan kelas untuk time sharing dan interactive class. Nomor yang lebih tinggi menunjukkan prioritas yang lebih tinggi.
  1. Time quantum: waktu kuantum untuk setiap prioritas. Dapat diketahui bahwa fungsi waktu kuantum berbanding terbalik dengan prioritasnya.
  1. Time quantum expired: Prioritas terbaru untuk thread yang telah habis time slices-nya tanpa diblok. Dapat dilihat dari tabel bahwa thread yang CPU-bound tetap mempunyai prioritas yang rendah.
  1. Return from sleep: Prioritas thread yang kembali dari sleeping(misalnya menunggu dari M/K). Seperti yang terlihat dari tabel ketika M/K berada di waiting thread, prioritasnya berada antara 50-59, hal ini menyebabkan response time yang baik untuk proses yang interaktif.
  1. Fixed Priority (FX). Thread di kelas fixed priority memiliki range prioritas (0-59) yang sama seperti di time-sharing class; tetapi, prioritas mereka tidak akan berubah.
  2. Fair Share Scheduler (FSS). Thread yang diatur oleh FSS dijadwalkan berdasar pembagian sumber daya dari CPU yang tersedia dan dialokasikan untuk himpunan proses-proses (yang dikenal sebagai project). FS juga berkisar 0-59. FSS and FX baru mulai diimplementasikan di Solaris 9.
Seperti yang telah diketahui, setiap kelas penjadwalan mempunyai himpunan dari prioritas-prioritas. Tetapi, penjadwal mengubah class-specific priorities menjadi global priorities kemudian memilih threaddengan prioritas paling tinggi untuk dijalankan. Thread yang dipilih tersebut jalan di CPU sampai thread tersebut (1) di- block, (2) habis time slices-nya, atau (3) dihentikan oleh thread dengan prioritas yang lebih tinggi. Jika ada beberapa thread dengan prioritas yang sama, penjadwal akan menggunakan Round-Robin queue. Seperti yang pernah dijelaskan sebelumnya, Solaris terdahulu menggunakan many-to-many model tetapi solaris 9 berubah menggunakan one-to-one model.
PENJADWALAN PROSES SISTEM OPERASI LINUX

Linus Torvalds and many others
Programmed in
OS family
Working state
Current
Source model
2.6.35.3 (August 20, 2010; 3 days ago)[1] [+/−]
2.6.36-rc2 (August 23, 2010; 0 days ago)[2][+/−]
Marketing target
Desktops, servers, embedded devices
Availablelanguage(s)
Multi-lingual
Supported platforms
Kernel type
GNU and others
Officialwebsite
Mulai di versi 2.5, Kernel linux dapat berjalan di berbagai algoritma penjadwalan UNIX tradisional. Dua masalah dengan penjadwal UNIX tradisional adalah tidak disediakannya dukungan yang cukup untuk SMP (symmetric multiprocessor) sistem dan tidak diperhitungkan dengan baik jumlah tasks pada sistem yang berkembang. Dalam versi 2.5, penjadwal memeriksa dengan teliti hal tersebut, dan sekarang kernel juga menyajikan algoritma penjadwalan yang dapat run dalam waktu yang konstan tidak tergantung dari jumlah tasks dalam sistem. Penjadwal yang baru juga menyediakan peningkatan dukungan untuk SMP, termasuk processor affinity dan load balancing, sebaik dalam menyediakan keadilan dan dukungan terhadap interactive tasks.
Penjadwal linux adalah preemptive, algoritmanya berdasarkan prioritas dengan dua range prioritas yang terpisah: real-time range dari 0-99 dan nice value berkisar dari 100-140. Dua range ini dipetakan menjadi global priority scheme dimana nilai yang lebih rendah memiliki prioritas yang lebih tinggi. Tidak seperti penjadwal yang lain, Linux menetapkan prioritas yang lebih tinggi memiliki waktu kuantum yang lebih panjang dan prioritas yang lebih rendah memiliki waktu kuantum yang lebih pendek.
Linux mengimplementasikan real time scheduling seperti yang didefinisikan oleh POSIX 1.b: First Come First Served dan Round Robin. Sistem waktu nyata( real time)diberikan untuk task yang prioritasnya tetap. Sedangkan task yang lainnya memiliki prioritas yang dinamis berdasakan nice values ditambah atau dikurangi dengan 5. Interaktifitas sebuah task menentukan apakah nilai 5 tersebut akan ditambah atau dikurangi dari nice value. Task yang lebih interaktif mempunyai ciri khas memiliki sleep times yang lebih lama dan karena itu maka ditambah dengan -5, karena penjadwal lebih menyukaiinteractive task. Hasil dari pendekatan ini akan membuat prioritas untuk interactive task lebih tinggi. Sebaliknya, task dengan sleep time yang lebih pendek biasanya lebih CPU-bound jadi prioritasnya lebih rendah.

Gambar . Hubungan antara prioritas dan waktu kuantum
Task yang berjalan memenuhi syarat untuk dieksekusi oleh CPU selama time slice-nya masih ada. Ketika sebuah task telah kehabisan time slice-nya, maka task tersebut akan expired dan tidak memenuhi syarat untuk dieksekusi lagi sampai semua task yang lain sudah habis waktu kuantumnya. Kernel mengatur daftar semua task yang berjalan di runqueue data structure. Karena dukungan Linux untuk SMP, setiap prossesor mengatur runqueue mereka sendiri dan penjadwalan yang bebas. Setiap runqueue terdiri dari dua array prioritas - active dan expiredActive array terdiri dari semua task yang mempunyai sisa waktu time slices, dan expired array terdiri dari task yang telah berakhir. Setiap array prioritas ini memiliki daftar task indexed berdasakan prioritasnya. Penjadwal memilih task dengan prioritas paling tinggi di active array untuk dieksekusi dalam CPU. Di mesin multiprossesor, ini berarti setiap prossesor menjadwalkan prioritas paling tinggi dalam runqueue structure masing-masing. Ketika semua tasktelah habis time slices-nya (dimana, active array-nya sudah kosong), dua array prioritas bertukar; expired array menjadi active array, dan sebaliknya.

Gambar . Daftar task indexed berdasarkan prioritas
Penghitungan ulang dari task yang memiliki prioritas yang dinamis berlangsung ketika task telah menyelesaikan waktu kuantumnya dan akan dipindahkan ke expired array. Jadi, ketika ada dua larik ( array) ditukar, semua task di array aktif yang baru ditentukan prioritasnya yang baru dan disesuaikan juga time slices-nya.
PENJADWALAN PROSES SISTEM OPERASI WINDOWS XP

Developer
Microsoft Corporation
Release date
RTM: August 24, 2001 Retail: October 25, 2001 (info)
Current version
5.1.2600.5512 Service Pack 3 (x86 SP3) (21 April 2008; 2 years ago) (info)
Source model
Kernel type
Update method
Platform support
Website
Windows XP menggunakan algoritma, prioritas penjadwalan quantum-based berbasis reemptive priority scheduling .
Gambar Proses Pada Windows Xp
Threads dijadwalkan dalam proses, Karena prioritas preemptive algoritma diimplementasikan dengan beberapa queue, dapat dianggap sebagai algoritma multiple feedback-queue . Namun, masing-masing Threads biasanya terbatas pada kelompok kecil dari 5 level prioritas,
Preemption dapat terjadi karena salah satu dari 4 alasan:
  •  
    • thread menjadi prioritas lebih tinggi-siap
    • thread berakhir
    • kuantum habis waktu
    • thread melakukan panggilan sistem pemblokiran, seperti untuk I / O, dalam hal ini meninggalkan keadaan ready menjadi keadaan menunggu.
Gambar Quatum pada windows XP
32 tingkat prioritas digunakan, di mana prioritas 31 merupakan prioritas tertinggi dan prioritas 0 adalah prioritas terendah

    • memori manajemen thread: prioritas 0
    • variabel kelas prioritas (1-15)
    • real-time kelas prioritas (16-31)
  • Threads di kelas real-time telah tetap prioritasnya.
  • Threads yang berjalan selalu dengan tingkat prioritas tertinggi.
  • Jika tidak ada thread yang ready, Threads idle dijalankan.
  • Ketika waktu quantum thread habis, prioritasnya diturunkan, tetapi prioritasnya tidak pernah diturunkan terlalu jauh

DISK OPERATING SYSTEM (DOS)

0 comments


                   Disk Operating System (DOS)     
Disk Operating System atau disingkat dengan DOS adalah sistem operasi yang menggunakan interface command-line yang digunakan para pengguna komputer pada dekade tahun 1980-an. Sekarang DOS menjadi istilah generik bagi setiap sistem operasi yang dimuat dari perangkat penyimpanan berupa disk saat sistem komputer dinyalakan. DOS merupakan sistem yang digunakan untuk mengelola seluruh sumber daya pada sistem komputer, yaitu sumber daya hardware dan software. Kedua sumber daya tersebut harus dikelola dengan baik sehingga sistem dapat bekerja dengan baik, menghindari perebutan pengerjaan (Bottleneck adalah peristiwa macetnya proses aliran data atau transmisi data karena sebab-sebab tertentu. Biasanya disebabkan perbedaan antara kecepatan kerja suatu komponen dengan kecepatan bus-nya. Dapat juga dikarenakan perangkat keluaran tidak dapat mengimbangi kinerja perangkat pemrosesan sehingga memperlambat kerja system secara keseluruhan), memberikan prioritan pengerjaan, menghindari gangguan-gangguan seperti Virus, mengatasi sistem dari kegagalan (Rollback adalah sistem yang Fungsinya mengembalikan data anda yang mengalami masalah misalnya saat data anda terinfeksi virus).
Program DOS biasanya bekerja di belakang layar (tidak terlihat) dan mengijinkan pengguna untuk memasukan karakter dari keyboard, mengenali struktur file untuk data yang tersimpan pada disk, dan menampilkan data melalui monitor atau printer. DOS bertanggung jawab untuk menemukan dan menyusun data dan aplikasi pada disk. Dengan diperkenalkannya sistem operasi dengan Graphic User Interface (GUI) telah membuat DOS jarang digunakan dan tergolong tua. Bagaimanapun juga DOS masih tergolong penting pada banyak wilayah cakupan seperti pemrograman, dan mengoperasikan aplikasi lama. Semua generasi Windows mendukung perintah DOS untuk kompatibilitas dengan aplikasi yang lebih tua. Dengan demikian sangat penting untuk memahami dasar dari DOS sebelum melanjutkan proses instalasi Windows.
DOS dapat berguna sebagai perangkat penolong ketika Windows tidak dapat dijalankan dengan baik dan dapat mengakses hard drive tanpa GUI dan mampu melakukan proses diagnosa dan pemecahan masalah sistem.
Fungsi Disk Operating System (DOS)
Berikut ini adalah fungsi dari Disk Operating System (DOS).
> Mengorganisasikan atau mengendalikan kegiatan komputer
> Mengatur memori
> Mengatur proses input dan output data
> Management file
> Management directory
Disk Operating System (DOS) terbagi menjadi beberapa kelas, yakni :
  1. MS-DOS (Microsoft Disk Operating System), termasuk di antaranya adalah Tandy DOS, Compaq DOS, Q-DOS (Quick and Dirty Operating System) dan beberapa klon dari sistem operasi MS-DOS yang dijual kepada para pembuat sistem komputer IBM PC/Compatible. MS-DOS (Microsoft Disk Operating System) adalah sebuah sistem operasi yang sangat banyak digunakan oleh computer IBM-PC atau yang kompatibel dengannya. Microsoft membuat MS-DOS sebagai sebuah sistem operasi mainstream, sebelum pada akhirnya menghentikan dukungan MS-DOS secara perlahan ketika mereka membuat sebuah sistem operasi berbasis antarmuka grafis (dikenal juga dengan sebutan GUI) untuk pasar mainstream, yang di sebut sebagai Microsoft Windows. MS-DOS dirilis pertama kali pada tahun 1981, dan seiring dengan waktu, Microsoft pun meluncurkan versi yang lebih baru dari MS-DOS. Tidak kurang hingga delapan kali Microsoft meluncurkan versi-versi baru MS-DOS dari tahun 1981 hingga Microsoft menghentikan dukungan MS-DOS pada tahun 2000.
  2. IBM PC-DOS (International Business Machine Personal Computer Disk Operating System), yang meskipun masih buatan Microsoft, diubah sedikit-sedikit untuk dapat digunakan oleh komputer IBM PC.
  3. DR-DOS (Digital Research Disk Operating System), yang dibuat oleh pembuat sistem operasi CP/M, Gary Kildall.
  4. Novell Personal Netware, merupakan versi DR-DOS yang dijual kepada Novell karena perusahaan yang menaungi CP/M mengalami kebangkrutan (Novell mengakuisisi Digital Research Incorporated).
  5. Caldera DOS, merupakan versi Novell Personal Netware yang dijual kepada Caldera Corporation.
  6. FreeDOS, merupakan versi DOS yang dibangun dari sisa-sisa pengembangan Caldera DOS, yang dikembangkan oleh komunitas open source.
Bagian-bagian Disk Operating System (DOS)
Terdapat tiga bagian utama yang membangun disk operating system yaitu :
  1. File boot, yaitu : File ini digunakan pada saat proses boot pada DOS atau proses startup pada sistem.
  2. Manajemen file, yaitu : Bagian ini memungkinkan sistem untuk mengatur datanya dalam suatu sistem file dan folder.
  3. File utility, yaitu : Bagian ini memungkinkan pengguna mengatur resources dari sistem, melakukan troubleshooting sistem, dan mengkonfigurasi seting sistem.
Properti Disk Operating System (DOS)
Berikut adalah properti yang dimiliki oleh DOS, yaitu :
  1. DOS merupakan perangkat yang esensial untuk praktisi IT dan digunakan untuk melakukan pemecahan masalah.
  2. DOS merupakan sistem operasi dengan barisan perintah dan tidak user-friendly. Cara terbaik untuk mempelajari DOS adalah dengan menggunakannya
  3. DOS hanya dapat menjalankan satu program pada satu waktu karena tidak mendukung multitasking.
  4. DOS hanya dapat menjalankan program yang kecil dan memiliki keterbatasan memori.

PEMUATAN INFORMASI KE MEMORI

0 comments


PEMUATAN INFORMASI KE MEMORI
Pengertian Pemuatan
Pemuatan adalah salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Tanda pengenal untuk pencarian letak memori adalah alamat, lintasan / trek, sektor pada suatu disk.

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
Memori Dukung / backing store
Contohnya : Floppy, Harddisk, CD, dll.
Untuk mendukung memori kerja, umumnya berbentuk disk sehingga berlaku juga asas pemuktakhiran. Setiap trek dan sektor dapat menyimpan sejumlah byte dari memori kerja. Memori kerja dicapai melalui alamat memori dan register data memori. Dan untuk mencapai informasi di memori dukung, isinya harus dipindahkan dulu ke memori kerja (memori dukung = memori semu = virtual memori).

1 pindahan = 1 blok, makin kecil ukuran memori kerja, makin sering terjadi pindahan.
Alamat Memori
- Alamat memori mutlak (alamat fisik)
Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka disebut juga alamat mutlak.
- Alamat memori relatif (alamat logika)
Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita menggunakan alamat 1, maka kitapun menggunakan alamat 2,3, … dan untuk 1 informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini, maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat yang menyimpan informasi maka dikenal alamat memori logika.
Contoh :
 alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya = 14726-0 = 14726.

Ada beberapa cara pemuatan informasi ke ruang memori, yaitu :
1. Pemuatan Mutlak
2. Pemuatan Relokasi
3. Pemuatan Sambung
4. Pemuatan Dinamik

Pemuatan Mutlak
Pemuatan informasi ke memori kerja, alamat yang tercantum di dalam tata olah sama dengan alamat yang ditempatinya di dalam memori kerja. Contohnya pada program, alamat awal 5235 dan subroutine = 5468 diletakkan pada alamat fisik yang sama.

Pemuatan Relokasi
Kondisi dimana pemuatan informasi ke memory kerja, alamat yang tercantum di dalam tata olah tidak mesti sama dengan alamat yang ditempatinya di dalam memori kerja. Contohnya alamat pangkal / fisik = 15200, alamat relatif program 152, maka alamat mutlaknya = 15200 + 152 = 15352.


Hubungan antara alamat memori mutlak dan alamat relatif
Hubungan alamat memori mutlak dan alamat relatif berbeda sebanyak alamat pangkal pada alamat mutlak dikurangi dengan alamat awal pada alamat relatif, selisih ini dinamakan relokasi umum, sedangkan alamat awal adalah A, alamat pangkal adalah P, maka relokasi P adalah sebesar :
R = P – A

Pemuatan Sambung (Linker)
Menyambungkan suatu informasi ke informasi lain di dalam memori kerja. Pemuatan sambung sering digunakan pada tata olah atau penggalan tata olah yang tersimpan di dalam pustaka (library).

Pemuatan Dinamik (Pemuatan Tumpang atau Overlay)
Jika ukuran tata olah itu melampaui ukuran ruang memori kerja, tata olah dapat dipenggal ke dalam sejumlah segmen. Segmen itulah yang kemudian dimuat ke dalam memori kerja. Pelaksanaan pekerjaan berlangsung segmen demi segmen.
Ukuran dari memori fisik terbatas. Supaya utilitas memori berjalan dengan baik, maka kita menggunakan pemuatan dinamis. Dengan cara ini, routine-routine hanya akan dipanggil jika dibutuhkan.
Ilustrasi sebagai berikut, semua routine disimpan di disk dalam format yang dapat dialokasikan ulang (relocatable load format). Program utama diletakkan di memori dan dieksekusi. Ketika sebuah routine memanggil routine yang lain, hal pertama yang dilakukan adalah mengecek apakah ada routine lain yang sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk menempatkan routine yang dibutuhkan ke memori dan memperbaharui tabel alamat program. Lalu, kontrol diberikan pada routine baru yang dipanggil.
Keuntungan dari pemuatan dinamis adalah routine yang tidak digunakan tidak pernah dipanggil. Metode ini berguna pada kode yang berjumlah banyak, ketika muncul kasus seperti routine yang salah. Walaupun ukuran kode besar , porsi yang digunakan bisa jauh lebih kecil.