Unknown
 MANAJEMEN FILE
Manajemen file merupakan bagian dari sistem operasi yang mengorganisasi serta menjaga jejak file-file. Manajemen file penting sebab bisa mengurangi resiko kehilangan file karena terhapus secara tak sengaja, tertimpa file baru, tersimpan di lokasi yang tidak diketahui serta hal-hal lain yang tidak diinginkan.


Manajemen File dalam Komputer
Manajemen File dalam Komputer

Konsep File dan Folder

File dapat diartikan sebagai penyimpanan abstrak informasi pada disk. Dengan konsep file pengguna tidak perlu memikirkan bagaimana cara informasi disimpan dan diletakkan, serta mekanisme kerja dari perangkat penyimpan data. Folder sebenarnya merupakan file juga, yang berisi informasi mengenai file. Folder dimiliki oleh sistem operasi dan dapat diakses dengan memakai rutin program yang terdapat pada sistem operasi itu.

Tipe File dalam Sistem Operasi 

Terdapat tiga tipe file pada sistem operasi, yaitu:
  1. File reguler File yang berisi informasi, terdiri dari file teks dan file biner. File teks berisi baris-baris teks (txt). Terdapat file biner eksekusi (exe) dan file biner hasil dari program aplikasi. Struktur internal dari file biner eksekusi hanya diketahui oleh sistem operasi, sedangkan struktur internal file biner hasil program aplikasi hanya diketahui oleh program aplikasi yang menggunakan file tersebut.
  2. File folder File folder merupakan file yang dimiliki oleh sistem operasi berisi informasi mengenai daftar file yang termasuk dalam folder itu.
  3. File khusus File yang merupakan nama logic dari perangkat masukan/keluaran.
Aturan Penamaan File

Meskipun sebuah file boleh dinamai apa saja, namun penamaannya harus mengikuti aturan tertentu. Aturan penamaan ini seiring dengan perkembangan teknologi microprocessor. Dulu pada saat komputer masih menggunakan microprocessor 8 bit, panjang karakter yang dibolehkan untuk nama sebuah file/folder adalah 8 karakter. Ketika komputer berkembang memakai microprocessor 32 bit, penamaan file boleh hingga 32 karakter.

Setiap file memiliki ekstensi, berupa tiga karakter yang mengikut nama file dengan tanda pemisah berupa titik (dot). Esktensi file menunjukkan tipe dari file itu. Selain itu penamaan sebuah file tidak boleh mengandung karakter-karakter yang termasuk dalam Reserved Word (yaitu / \ : ? * “ < > ). Reserver word merupakan karakter-karakter tertentu yang memiliki arti perintah khusus dalam program sehinga dicadangkan dan tidak boleh disertakan dalam nama sebuah file.

Nama sebuah file boleh diganti, namun tidak demikian halnya dengan ekstensinya. Ekstensi sebuah file tidak boleh diganti sebab jika hal itu dilakukan maka kemungkinan yang terjadi file tidak dapat dieksekusi, atau program aplikasi tidak dapat membuka file itu.

Keuntungan Manajemen File

Bila file-file dimanajemen dengan baik, maka akan didapat keuntungan antara lain terhindar dari kehilangan file-file penting akibat:
  • File terhapus secara tidak sengaja.
  • File tertimpa file lain
  • Lokasi penyimpanan file (folder) tidak diketahui lagi.
Namun jika kehilangan file itu terjadi, maka harus bisa dilakukan upaya pemulihan (recovery) dari file yang bersangkutan. Contoh cara sederhana tapi ampuh untuk mendapatkan kembali file dokumen kita yang hilang adalah dengan menciptakan cadangan file secara otomatis. Silahkan baca tulisan saya mengenai pembuatan file cadangan secara otomatis didalam Microsoft Word 2007.

Windows Explorer


Pengelola File pada Sistem Operasi

Setiap sistem operasi umumnya dilengkapi dengan pengelola file. Di Linux tersedia File Manager dan di Windows tersedia Windows Explorer. Windows juga menyediakan folder My Documents sebagai tempat baku penyimpanan file dokumen. Berikut tips penting:
  • Gunakan penamaan file/folder secara konsisten, singkat serta mudah dalam pencarian
  • Usahakan memilih nama file/folder yang mencerminkan isinya
  • Kelompokkan file kedalam folder-folder sesuai dengan tipe file
  • Hindari pembuatan hirarki folder terlalu dalam
Cara Mengakses Windows Explorer

Berikut cara mengakses Windows Explorer pada Windows 7. Dari menu Start, bukalah All Programs, pilih Accessories, dan kemudian klik Windows Explorer.

Bagian-Bagian Jendela Windows Explorer
Bagian-bagian Jendela Windows Explorer

Layout jendela Windows Explorer terdiri dari elemen-elemen:
  1. Menu bar
  2. Navigation pane
  3. Library pane
  4. Preview pane
  5. Details pane
Elemen-elemen tersebut dapat ditampakan/disembunyikan melalui Organize. Penataan file maupun folder bisa didasarkan pada folder, nama file, jenis file, tanggal modifikasi, label, maupun nama pengarang.

Menu Layout Windows Explorer
Menu Layout Windows Explorer
Penataan file maupun folder bisa didasarkan pada folder, nama file, jenis file, tanggal modifikasi, label serta nama pengarang.

Penataan Ikon-Ikon pada Windows Explorer
Penataan Ikon-ikon pada Windows Explorer

Mengelola File

Perintah Menciptakan File Baru

File baru dapat berupa folder, shortcut, file teks maupun file-file paket aplikasi perkantoran seperti Microsoft Word, Microsoft Excel, Microsoft Powerpoint serta file jenis lainnya. Berikut cara menciptakan file baru melalui menu bar:
  1. Pilih New dari menu File
  2. Klik salah satu menu dar daftar sesuai jenis file yang ingin diciptakan
  3. Ketik nama file, lalu akhiri dengan Enter
Ata dapat pula melalu menu konteks klik-kanan seperti diperlihatkan peragaan berikut:

Peraga Menciptakan File Baru
Peraga Menciptakan File Baru

Apapun jenis file baru yang akan diciptakan, selalu mengikuti langkah-langkah yang sama yaitu berikan perintah yang diperlukan, tulis nama file, lalu akhiri dengan Enter.

Memilih File

File dipilih untuk tujuan penyalinan, pemindahan serta penggantian nama. File dapat dipilih individual atau beberapa sekaligus, baik secara berurutan maupun acak. Untuk memilih sebuah file, klik ikon file itu. Untuk memilih beberapa file sekaligus secara berurutan, klik ikon file pertama, tahan SHIFT, kemudian klik ikon terakhir. Maka seluruh file yang terletak antara file pertama dan file terakhir akan terpilih seluruhnya. Lihatlah peraga berikut:

Memilih File Secara Kolektif Berurutan
Peraga Memilih File Kolektif secara Berurutan


Untuk memilih beberapa file sekaligus secara acak, klik ikon file pertama, tahan CTRL, klik ikon-ikon file yang hendak diikutkan dalam pemilihan.

Memilih File Kolektif secara Acak
Peraga Memilih File Kolektif secara Acak

Mengganti Nama File

Melalui menu bar:
  1. Pilih ikon file
  2. Pilih Rename dari menu File
  3. Ketik nama baru untuk file, lalu akhiri dengan Enter
Melalui menu konteks:


Mengganti nama File
Peraga Mengganti Nama File

Menyalin File

Didalam sistem operasi terdapat alokasi memori yang dikhususkan untuk penyimpanan sementara file-file yang sedang disalin atau hendak dipindahkan. Alokasi memori untuk tujuan tersebut biasa disebut dengan istilah Clipboard. Metode yang digunakan dalam penyalinan file adalah Copy and Paste.

Melalui menu bar:
  1. Pilih ikon file
  2. Pilih perintah Copy dari menu Edit (atau tekan CTRL+C)
  3. Pilih perintah Paste dari menu Edit pada tempat tujuan (atau tekan CTRL+V)
Melalui menu konteks:

Menyalin File
Peraga Menyalin File

Memindah File

Pemindahan file dapat dilakukan memakai metode Cut and Paste atau dapat pula memakai metode Drag and Drop. Untuk cara pertama pelaksanaannya serupa dengan penyalinan file, hanya disini perintah yang dipilih adalah Cut dan Paste. Perintah Cut dapat juga diakses melalui shortcut CTRL+X.

Peraga Pemindahan File (Cut and Paste)
Peraga Pemindahan File (Cut and Paste)

Untuk memindahkan file secara cepat dari satu tempat ke tempat lain yang saling berdekatan dapat digunakan cara kedua. Tunjuk ikon file yang akan dipindah, dan kemudian drag menuju ke lokasi baru yang diinginkan. Drag berarti menahan tombol-kiri mouse sambil menggeser posisi pointer di layar.

Memindah File (drag and drop)
Peraga Memindah File (Drag and Drop)

Menghapus File

Secara sederhana sebuah file dapat dihapus dengan cara memilih file tersebut, dan kemudian tekan tombol Del, atau memilih perintah Delete dari menu File atau menu konteks.

Mengelola Folder

Folder diperlukan untuk mengelompokkan file-file dalam satu kategori. Dengan demikian pencarian file dapat dilakukan secara cepat. Pengelolaan folder sama halnya dengan pengelolaan file. Sebuah folde bisa diciptakan, disalin, dipindahkan, diganti namanya, dihapus dan juga bisa membuat folder didalam folder (atau lebih populer dengan sebutan sub-folder).

Menciptakan Folder
Cara menciptakan sebuah folder baru hampir sama dengan menciptakan file baru, hanya disini opsi yang harus dipilih adalah Folder.

Cara Menciptakan Folder Baru
Peraga Cara Menciptakan Folder Baru

Mengganti Nama Folder

Cara paling praktis dalam mengganti nama sebuah folder adalah melalui menu konteks (klik-kanan), seperti yang diperlihatkan oleh peraga berikut:

Cara Mengganti Nama Folder
Peraga Penggantian Nama Folder
Menyalin Folder

Menyalin sebuah folder biasanya karena alasan ingin mendapatkan salinan dari konten yang dimiliki oleh folder itu. Berikut peraga cara melakukannya melalui menu konteks:


Memindah Folder

Pemindahan folder beserta konten didalamnya dapat dipindahkan ke tempat/folder lain. Jika sebuah folder dipindahkan masuk kedalam sebuah folder, maka folder itu akan menjadi sebuah sub-folder. Terdapat dua cara dalam memindahkan folder, yaitu Cut and Paste dan Drag and Drop.

Cara Memindahkan Folder (Cut and Paste)
Peraga Pemindahan Folder (Cut and Paste)
Cara Pemindahan Folder (Drag and Drop)
Peraga Cara Pemindahan Folder (Drag and Drop)
Unknown

MANAJEMEN SISTEM INPUT/OUTPUT Komputer | SISTEM OPERASI

Manajemen Sistem M/K ( I/O)
Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device).
Fungsi-fungsi sistem operasi untuk sistem M/K:

  • Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat M/K
  • Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K sistem supaya lebih efisien.
  • Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.
  • general device-driver interface. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.
  • Drivers for specific hardware devices. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan motherboard

Manajemen Sistem I/O

Sering disebut device manager. Menyediakan device driveryang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk .
Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu.
Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen sistem/perangkatI/O:
  • Mengirim perintah ke perangkat I/O agar menyediakan layanan.
  • Menangani interupsi perangakat I/O .
  • Menangani kesalahan pada perangakat I/O.
  • Menyediakan antarmuka ke pengguna.
Ada juga beberapa perangkat keras yang terdapat pada I/O manajemen yaitu :
1.      Pooling
  • Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear.
  • Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.
2. Interupsi
Mekanisme Dasar Interupsi :
  • Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU–contohnya nilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut.
  • Fitur Tambahan pada Komputer Modern :
  • Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU dan interrupt controller (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari device yang mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevel interupsi sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system).
Penyebab Interupsi
  • Interupsi dapat disebabkan berbagai hal, antara lain exception, page fault, interupsi yang dikirimkan oleh device controllers, dan system call Exception adalah suatu kondisi dimana terjadi sesuatu/ dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain.
  • System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atautrap.
3. DMA
  • DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O(PIO).
4. Handshaking
  • Proses handshaking antara DMA controller dan device controller dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Device controller mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, device controller mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request.
  • Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controllermeningkatkan performa sistem secara keseluruhan.
Unknown
1.      Definisi Manajemen Memori
Manjemen memori (Memory Manager) adalah salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian. Manajemen memori DOS merupakan mekanisme pengaturan memori pada sistem operasi DOS. Sistem operasi berjalan dalam modus real dengan arsitektur berbasis prosesor intel x86. Dalam modus real, hanya 20-bit pertama dari bus alamat yang akan digunakan oleh sistem operasi untuk mengakses memori, sehingga menjadikan jumlah memori yang dapat diakses hanya mencapai 220=1048576 bytes (1 MB) saja, dari yang seharusnya 32-bit/40-bit pada prosesor-prosesor modern. Ada beberapa macam jenis memori diantaranya :

- Memori Kerja

• ROM/PROM/EPROM/EEPROM

• RAM

• Cache memory

- Memori Dukung

· Floppy, harddisk, CD, dll.
2.      Manajemen Memori
Terdapat 2 (dua) manajemen memori yaitu :
a. Manajeman memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran proses dimemori tidak beragam sepanjang waktu secara tetap.
b. Manajemen memori dinamis
Dengan pemartisian dinamis , jumlah, lokasi dan ukuran proses dimemori dapat beragam sepanjang waktu secara dinamis.
Manajemen Memori Berdasarkan Alokasi memori
Terdapat 2 (dua) cara menempatkan informasi ke dalam memori kerja, yaitu:
a. Alokasi Memori Berurutan (Contiguous Allocation)
Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan.
Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat.
Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi
b. Alokasi Memori Tak Berurutan (Non Contiguous Allocation)
_ Program/proses ditempatkan pada beberapa segmen berserakan, tidak perlu saling berdekatan atau berurutan. Biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page.
Kelebihan : sistem dapat memanfaatkan _ memori utama secara lebih efesien, dan sistem opersi masih dapat menyisip proses bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
_ Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak yang berserakan tidak terpakai.
c. Penggunaan memori
_ Pencocokan ukuran informasi ke penggalan memori kerja disebut sebagai fit
_Bagian dari memori kerja yang tidak terpakai dan letaknya tersebar di banyak wilayah memori kerja disebut sebagai fragmen
_ Peristiwa terjadinya fragmen disebut fragmentasi
d. Pencocokan (fit) dan fragmentasi
Beberapa jenis strategi pencocokan antara lain:
_ Cocok pertama (first fit)
Pencocokan terjadi menurut antrian informasi
_ Cocok pertama berdaur (cyclical first fit)
Pencocokan tidak harus dimulai dari urutan penggalan memori yang pertama, tetapi dapat dilakukan setelah terjadi pencocokan sebelumnya.
_ Cocok terbaik (best fit)
Pencocokan dilakukan sesuai dengan penggalan memori yang ukurannya pas.
_ Cocok terburuk (Worst fit)
Informasi akan menempati penggalan yang ukurannya terbesar.
e. Fragmentasi
Menurut prosesnya terdapat dua macam fragmentasi :
a. Fragmentasi internal
Kelebihan memori pada penggalan memori ketika penggalan memori itu menerima penggalan informasi yang berukuran kurang dari ukuran penggalan memori.
b. Fragmentasi Ekternal
Penggalan memori bebas yang ukurannya terlalu kecil untuk dapat menampung penggalan informasi yang akan dimuat ke penggalan memori itu.
Contoh : Proses
3.                  Fungsi manajemen memori :
Manajemen memori sangat penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.  Berikut ini kami sebutkan fungsi manajemen memori diantaranya :
1.Mengelola informasi memori yang dipakai dan tidak dipakai.
2.Mengalokasikan memori ke proses yang memerlukan.
3.Mendealokasikan memori dari proses yang telah selesai.
4.Mengelola swapping antara memori utama dan disk.
4.                       Manajemen memori berdasarkan keberadaan swapping atau paging
Terbagi dua yaitu :
1.      Manajemen tanpa swapping atau paging
Yaitu manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama eksekusi. Yang terdiri dari :
Ø  Monoprogramming, ciri-cirinya:
- Hanya satu proses pada satu saat
- Hanya satu proses menggunakan semua memori
- Pemakai memuatkan program ke seluruh memori dari disk atau tape
- Program mengambil kendali seluruh mesin
Ø  Multiprogramming Dengan Pemartisian Statis
Terbagi dua :
- Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
- Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda
Strategi Penempatan Program Ke Partisi
·      Satu Antrian Tunggal Untuk Semua Partisi
Keuntungan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.
·      Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi) . Keuntungan : Meminimalkan pemborosan memori
Kelemahan : Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi - partisi lain kosong
2.      Manajemen dengan swapping atau paging
Swapping : pemindahan proses dari memori utama ke disk dan kembali lagi.
1. Multiprogramming dengan Pemartisisan Dinamis
Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan:
- Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
- Merumitkan alokasi dan dealokasi memori
2. Pencatatan Pemakaian memori
 - Pencatatan memakai peta bit (Bit Map)
 - Pencatatan memakai linked list
5.           Sistem Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan biner dalam pengalamatan memori. Karakteristik bilangan biner digunakan untuk mempercepat Penggabungan lubang-lubang berdekatan ketika proses Terakhir atau dikeluarkan. Mekanisme pengelolaan sistem buddy tersebut memiliki keunggulan dan kelemahan.
Keunggulan Sistem Buddy
1. Sistem buddy mempunyai keunggulan dibanding algoritma-algoritma yang mengurutkan blok-blok berdasarkan ukuran. Ketika blok berukuran 2k dibebaskan, maka manajer memori hanya mencari pada senarai lubang 2k untuk memeriksa apakah dapat dilakukan  penggabungan. Pada algoritma algoritma lain yang memungkinkan blok-blok memori dipecah dalam sembarang ukuran, seluruh senarai harus dicari.
2. Dealokasi pada sistem buddy dapat dilakukan dengan cepat.
Kelemahan Sistem Buddy
1. Utilisasi memori pada sistem buddy sangat tidak efisien.
2. Masalah ini muncul dari dari kenyataan bahwa semua permintaan dibulatkan ke 2k terdekat yang dapat memuat. Proses berukuran 35 kb harus dialokasikan di 64 kb, terdapat 29 kb yang disiakan. Overhead ini disebut fragmentasi internal karena memori yang disiakan adalah internal terhadap segmen-segmen yang dialokasikan
Unknown
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

Company /developer Oracle Corporation
Programmed in C
OS family Unix
Source model Mixed open sourceclosed source
Initial release 1992
Latest stable release 10 10/09 / October 8, 2009; 10 months ago
Availablelanguage(s) English
Availableprogramming languages(s) C
Supported platforms SPARCIA-32x86-64,PowerPC (Solaris 2.5.1 only)
Kernel type Monolithic
Default user interface Java Desktop System orCDE
License Various
Official website oracle.com/solaris
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

Company /developer Linus Torvalds and many others
Programmed in AssemblyC
OS family Unix-like
Working state Current
Source model Free and open source software
Latest stable release 2.6.35.3 (August 20, 2010; 3 days ago)[1] [+/−]
Latest unstable release 2.6.36-rc2 (August 23, 2010; 0 days ago)[2][+/−]
Marketing target Desktops, servers, embedded devices
Availablelanguage(s) Multi-lingual
Availableprogramming languages(s) AssemblyCC++
Supported platforms IA-32MIPSx86-64SPARC,DEC AlphaItaniumPowerPC,ARMm68kPA-RISCs390,SuperHM32R and more
Kernel type Monolithic
Userland GNU and others
Default user interface Graphical (X Window System)
License Various including GNU General Public LicenseBSD LicenseApache LicenseMIT License, and others[3]
Officialwebsite http://www.kernel.org
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 Closed sourceShared source[1]
License Microsoft-EULA
Kernel type Hybrid
Update method Windows Update
Platform support IA-32x86-64IA-64
Website Windows XP: Homepage
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.
Ketika Threads menjadi ready setelah keadaan menunggu, maka diberikan prioritas tertinggi setiap threads dari proses yang terkait dengan program yang saat ini pengguna gunakan diberikan prioritas lebih .