I/O buffering
Adalah area memori komputer yang digunakan untuk menyimpan sementara data dan instruksi yang akan ditransfer dari dan ke komputer, yang memungkinkan beberapa transfer data yang terjadi secara simultan. Tujuan utamanya adalah untuk kelancaran komputer dalam menangani proses masuk keluarnya data.
Mekanisme Sinkronisasi Sistem Operasi
Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
Long term scheduler
Menentukan proses apa saja yang dapat dijalankan pada sistem dan tingkat concurrency harus didukung pada suatu waktu (apakah proses yang tinggi atau proses yang rendah yang harus dijalankan, dan bagaimana pemisahan antara I/O dan proses CPU ditangani. Dalam Sistem Operasi modern, long term scheduler ini digunakan untuk memastikan bahwa proses real time CPU mendapatkan waktu yang cukup untuk menyelesaikan tugas-tugasnya. Tanpa penjadwalan real time yang tepat, Graphical User Interface (GUI) modern akan terasa lamban. Penjadwalan jangka panjang juga penting dalam system skala besar seperti sistembatch processing, cluster komputer, dan superkomputer. Long-term scheduler mengontrol degree of multiprogramming (jumlah proses dalam memori). Jika degree of multiprogramming stabil, maka tingkat rata-rata penciptaan proses harus sama dengan tingkat rata data proses meninggalkan sistem. Maka dari itu long-term scheduler mungkin dipanggil hanya ketika suatu proses meninggalkan sistem. Karena interval yang lebih panjang antara eksekusi, long-term scheduler dapat menggunakan waktu yang lebih lama untuk menentukan proses mana yang harus dipilih untuk dieksekusi.
Medium Term Scheduler
Dapat memutuskan untuk menukar proses yang belum aktif untuk beberapa waktu, atau proses yang memiliki prioritas rendah, atau proses yang mengambil sejumlah besar memori untuk menjalankan proses lainnya.
Short Term Scheduler
Dikenal juga sebagai CPU scheduler memutuskan proses mana yang siap untuk dieksekusi (dialokasikan CPU) selanjutnya setelah interupsi Input / Output, panggilan system operasi atau sinyal lainnya. Jadi, scheduler jangka pendek membuat penjadwalan keputusan jauh lebih sering dari pada penjadwalan jangka panjang (Long term scheduler) atau jangka menengah (mid term scheduler). Scheduler ini bias mengirimkan pesan terlebih dahulu bahwa scheduler mampu menghapus proses secara paksa dari CPU untuk mengalokasikan proses lain pada CPU. Dalam kebanyakan kasus penjadwal jangka pendek ditulis dalam assembler karena merupakan bagian penting dari system operasi. Short-term scheduler harus memilih proses baru untuk CPU sesering mungkin. Sebuah proses dapat mengeksekusi hanya dalam beberapa milidetik sebelum menunggu permintaan I/O. Seringkali, short-term scheduler mengeksekusi paling sedikit sekali setiap 100 milidetik. Karena durasi waktu yang pendek antara eksekusi-eksekusi tersebut, short-term scheduler seharusnya cepat. Jika memerlukan waktu 10 mili detik untuk menentukan suatu proses eksekusi selama 100 mili detik, maka 10/(100 + 10) = 9 persen dari CPU sedang digunakan (atau terbuang) hanya untuk pekerjaan penjadwalan.
Context Switch
Mengganti CPU ke proses lain memerlukan penyimpanan state dari proses lama dan mengambil state dari proses yang baru. Hal ini dikenal dengan sebutan context switch . Context switch sebuah proses direpresentasikan dalam PCB dari suatu proses; termasuk nilai dari CPU register, status proses dan informasi manajemen memori. Ketika context switch terjadi, kernel menyimpan data dari proses lama ke dalam PCB nya dan mengambil data dari proses baru yang telah terjadwal untuk berjalan. Waktu context switch adalah murni overhead , karena sistem melakukan pekerjaan yang tidak begitu berarti selama melakukan pengalihan. Kecepatannya bervariasi dari mesin ke mesin, bergantung pada kecepatan memori, jumlah register yang harus di-copy, dan ada tidaknya instruksi khusus (seperti instruksi tunggal untuk mengisi atau menyimpan seluruh register). Tingkat kecepatan umumnya berkisar antara 1 sampai 1000 mikro detik. Waktu context switch sangat begantung pada dukungan perangkat keras. Sebagai contoh, prosesor seperti UltraSPARC menyediakan beberapa set register. Sebuah proses context switch hanya memasukkan perubahan pointer ke set register yang ada saat itu. Tentu saja, jika proses aktif yang ada lebih banyak daripada proses yang ada pada set register, sistem menggunakan bantuan untuk meng-copy data register dari dan ke memori, sebagaimana sebelumnya. Semakin kompleks suatu sistem operasi, semakin banyak pekerjaan yang harus dilakukan selama context switch . Bisa dilihat pada Bab Memori, teknik managemen memori tingkat lanjut dapat mensyaratkan data tambahan untuk diganti dengan tiap data. Sebagai contoh, ruang alamat dari proses yang ada saat itu harus dijaga sebagai ruang alamat untuk proses yang akan dikerjakan berikutnya. Bagaimana ruang alamat dijaga, berapa banyak pekerjaan dibutuhkan untuk menjaganya, tergantung pada metode managemen memori dari sistem operasi. Akan kita lihat pada Bab Memori, context switch terkadang bias menyebabkan bottleneck , dan programmer menggunakan struktur baru (threads) untuk menghindarinya kapan pun memungkinkan.
Generasi Komputer
Generasi Pertama-Tiub Hampagas( 1942 - 1958 )
1) Menggunakan teknologi tiub hampagas (vakum).
2) Berupaya memproses beberapa ribu arahan sesaat,lebih pantas daripada pergerakan alat mekanik.
3) Berupaya menyimpan 10,000 - 20,000 aksara.
4) Menggunakan ingatan teras magnet. Teras magnet adalah gelang-gelang logam yang amat kecil dan boleh memberikan kuasa magnet melalui satu dari dua arah.
Generasi Kedua-Transistor (1959 - 1964)
1) Menggunakan transistor menggantikan tiub hampa gas.
2) Dicipta oleh tiga saintis di Bell Laboratories, yaitu J. Bardeen, H. W. Brittain dan W. Shockley.
3) Transistor adalah sebuah alat elektronik yang kecil di mana fungsinya adalah untuk memindahkan isyarat-isyarat elektrik melalui perintang.
4) Keserasian terhad. Atur cara yang ditulis untuk satu komputer perlu diubah untuk dilaksanakan pada komputer lain.
5) Menggunakan hanya pita untuk storan yang boleh memproses secara jujukan sahaja.
6) Menggunakan bahasa aras rendah iaitu bahasa simbolik.
7) Lebih kecil, ringan, murah tahan lama dan mudah digunakan.
8) Bahasa pengaturcaraan peringkat tinggi atau bahasa perhimpunan (assembly language) seperti FORTRAN dan COBOL.
Generasi Ketiga-Litar Elektrik (1964 - 1970)
1) Menggunakan teknologi litar bersepadu yang terdiri daripada beribu-ribu transistor yang diletakkan pada kepingan silikon.
2) Atur cara lebih serasi.
3) Bermulanya konsep multi pengaturcaraan. Beberapa pengguna berkongsi mesin. Istilah baru
4) Bermulanya pemprosesan rawak dengan penggunaan cakera magnet.
5) Lebih kuat, utuh dan padat.6. Bahasa pengaturcaraan dihasilkan seperti BASIC dan Pascal.
Generasi Keempat (1971 -1999)
1) Penggunaan litar bersepadu berskala besar. Istilah yang digunakan ialah Penyepaduan Skala-Besar (Large-Scale Intergration ataupun LSI).
2) Penggunaan mikro pemprosesan pada satu serpihan.
3) Dengan pengenalan storan maya, atur cara yang bersaiz beberapa kali saiz ingatan mesin
4) Pengenalan kepada cakera padat ingatan baca sahaja (Compact Disc Read Only Memory( CD ROM ).
5) Ingatan utama komputer menjadi lebih cekap, pantas dan besar.
Generasi Kelima (2000 hingga kini)
1) Lebih canggih, lebih murah, lebih pantas dan lebih hebat daripada yang sedia ada dan kemampuan 'melihat', 'mendengar', 'bercakap', dan 'berfikir' seperti manusia-kepintaran buatan.
2) Memiliki kecerdikan buatan iaitu setakat mana manusia membuat komputer itu cerdik.
3) Melaksanakan tugas secara selari berbeza dengan caranya sekarang dan membolehkan tugas diselesaikan serentak.
4) Lebih cepat dan lebih kuasa untuk membuat penaakulan, belajar dan membuat kesimpulan.
0 komentar:
Posting Komentar