WELCOME

Selasa, 4 Ogos 2009

OS(Operating System)

Sistem Pengoperasian (operating system - OS) adalah satu set program untuk komputer mengendalikan sumbernya (resources) sendiri seperti unit pemprosesan pusat(central processing unit), ingatan utama (main memory), ingatan sekunder (secondary memory), peranti Input dan Output (Input/Output devices).

Oleh yang demikian perisian aplikasi pengguna (users application software) tidak perlu menyediakan semua arahan yang diperlukan oleh komputer. Ini membolehkan pengaturcara memfokuskan usahanya kepada penyelesaian masalah kepada pelanggan. Sistem pengoperasian mempunyai tiga fungsi utama:

a) untuk mengendalikan perkasasan (hardware),

b) untuk membekalkan atau menyokong perlaksanaan aplikasi,

c) untuk menyediakan media perhubungan antara pengguna.

Satu program yang dipanggil Penyelia program (supervisor program) akan mengawal keseluruhan sistem pengoperasian dan memastikan bahawa program lain dalam sistem dipanggil ke dalam ingatan seperti yang diperlukan dan ruang ingatan digunakan dengan cekap.

Sistem pengoperasian meningkatkan kecekapan melalui dua cara:

a) dengan menolong pengguna mendapatkan faedah maksimum dari sumber sistem komputer,

b) dengan menyediakan rutin khas dan program yang menjalankan tugas yang umum.

Program perkhidmatan (services programs), juga dipanggil utilities, adalah satu set program piawai yang disediakan. Utiliti ini menjalankan tugas pengendalian fail yang sentiasa berulang seperti pengubahan fail dan operasi isih/cantum (sort/merge). Fail kelompok (batch file) atau fail arahan (command file) adalah satu program yang memulakan operasi komputer secara automatik dengan melaksanakan set program yang sama setiap kali komputer dimulakan.

Salah satu contoh ialah Spooling. Ia adalah satu teknik yang menghalang cetakan yang menggabungkan output dari banyak proses yang sedang dilaksanakn dalam satu masa (concurrent processes). Dalam teknik ini, fail-fail yang akan dicetak ditulis terlebih dahulu ke dalam cakra dan akan dicetak dengan secepat mungkin satu persatu. Bila proses spooling ini tamat, semua fail dicetak secara berasingan dan tidak rosak serta bercampur aduk kandungannya.

UNIX ialah satu sistem pelbagai pengguna (multiuser) dan berkongsi masa (timesharing) yang telah dibina dalam tahun 1971 oleh penyelidik di makmal Bell. Ia telah sdisebut sebagai satu OS yang umum (generic). OS yang umum ini dapat digunakan oleh perkakasan yang berbeza. Kini, ramai yang menganggap UNIX sebagai OS yang standard.

MS-DOS ialah sistem pengoperasian yang popular yang ditulis oleh Microsoft untuk komputer PC IBM dan yang sepadan (compatible). Sistem Booting ialah proses pengisian sistem pengoperasian kedalam ingatan. Isyarat segera diberi kepada pengguna apabila proses booting dilengkapkan dan sistem pengoperasian bersedia untuk diarahkan. Program MS-DOS adalah dilaksanakan melalui penghasilan arahan, satu nama yang memohon dan mendapatkan program yang betul. Arahan DOS ditempatkan ke dalam ingatan komputer apabila kita membuka komputer. Arahan di dalam DOS mesti dipenuhi ke dalam ingatan apabila komputer dibuka, arahan luaran DOS dibaca daripada disket sebelum mereka dilaksanakan. Default drive, juga dipanggil current drive, iaitu pemacu cakra untuk penggunaan semasa di komputer itu. Secara amnya, program komputer PC ditulis untuk dilaksanakan dalam satu sistem pengoperasian dan tidak boleh dilaksanakan di sistem yang lain.

Persekitaran pengoperasian (operating environment) menyediakan kemudahan antaramuka komputer dengan pengguna. Di sini terdapat beberapa kaedah dalam persekitaran pengoperasian. Yang pertama ialah Command-line interface (CLI). CLI ialah antaramuka pengguna yang tradisional yang memerlukan pengguna mengingat arahan dan menaipnya untuk menggunakannya. Ini asas kepada MS-DOS. Apabila OS cuba untuk membuat persekitaran yang mesra-pengguna (user friendly), ia dipanggil shell, yang merupakan satu “lapisan pelindung” di sekitar sistem pengoperasian. MS-DOS sekarang menawarkan kedua-dua tradisional CLI dan persekitaran mesra-pengguna di mana pengguna tidak perlu untuk mengingat atau melihat kembali arahan yang sesuai. Persekitaran pengoperasian yang paling popular ialah dengan menggunakan grafik untuk antaramuka pengguna (graphical user interface atau GUI), di mana ianya membenarkan penggunaan alat penunjuk seperti tetikus untuk memberi arahan dan mengawal komputer. GUI yang paling popular ialah Microsoft Windows. Apple telah membuka jalan untuk perubahan bahagian jenis ini dengan menampilkan Macintosh.

Persekitaran pengoperasian untuk komputer berasaskan-pen (pen-based) dipanggil antara muka (interface) berasaskan-gerak (gesture-based) sebab ia didapati di dalam gerakan atau “gestures” bagi pen seakan-akan stylus (sejenis jarum untuk memainkan piring hitam) ke atas sentuhan skrin komputer yang sensitif.

1.2 Objektif dan fungsi sistem pengoperasian

Sistem pengoperasian adalah satu perisian yang mengawal perlaksanaan program aplikasi dan bertindak sebagai antaramuka (interface) antara pengguna dan perkakasan komputer. Dua fungsi utama sistem pengoperasian ialah:

(a) Memberikan kemudahan untuk pengguna: OS membuatkan sistem komputer lebih mudah digunakan.

(b) Memberikan perkhidmatan yang cekap (efficiency): sistem pengoperasian membolehkan sumber komputer digunakan dengan cekap.

Kegunaan utama komputer adalah untuk menyediakan kemudahan untuk perlaksanaan perisian aplikasi (application software). Pengguna aplikasi yang selalu dikenali sebagai pengguna akhir (end-user) biasanya tidak mengendahkan reka bentuk dan senibina komputer. Perisian aplikasi boleh dibangunkan dengan bahasa pengaturcaraan. Perisian ini terdiri dari satu jujukan arahan mesin yang yang memerlukan pengawalan sepenuhnya ke atas perkakasan komputer yang rumit.

Untuk memudahkan tugas pembangunan perisian ini, satu set program sistem (system program) disediakan oleh OS. Sebahagian daripada program ini dikenali sebagai'utilities'. Implementasi perisian pengguna biasanya akan menggunakan fungsi-fungsi dalam program sistem yang akan membantu dalam perekaan program, penggunaan fail-fail dan pengawalan peranti I/O. Program sistem yang paling penting dalam satu sistem komputer ialah OS. Ia tidak akan menunjukkan perincian perkakasan kepada pengaturcara. Satu sistem antaramuka (interface) untuk menggunakan sistem komputer disediakan oleh OS.

Aturcara perkhidmatan yang disediakan oleh OS ialah:

(a) Mereka bentuk program (program design) - menyediakan pelbagai kemudahan dalam perkhidmatan untuk membantu pengaturcara dalam mereka bentuk program. Ini termasuk dalam tugas-tugas 'utilities'.

(b) Perlaksanaan program (program execution) - sebilangan tugas perlu dilakukan untuk melaksanakan sesuatu program. Arahan dan data mesti dimasukkan ke dalam ingatan utama, peranti I/O dan fail perlu 'initialized' dan sumber-sumber (resources) lain perlu disediakan. Kesemua tugas ini dilakukan oleh OS.

(c) Capaian peranti I/O (I/O device access) - setiap peranti I/O memerlukan set arahan atau signal kawalan untuk beroperasi. OS menyediakan perincian tugas ini supaya pengaturcara hanya perlu berfikir untuk membaca dan menulis ke peranti I/O.

(d) Kawalan pencapaian fail (file access control) - kawalan perlu memahami tentang peranti I/O (disk drive, tape drive), format dan media penyimpanan dalam ingatan sekunder. Tugas-tugas terperinci disediakan oleh OS. Untuk satu sistem komputer yang mempunyai ramai pengguna (multi-user computer system) yang cuba melaksanakan tugas masing-masing secara serentak (concurrent execution), OS menyediakan mekanisma perlindungan untuk mengawal pencapaian ke sumber yang dikongsi (shared resources). Sumber yang selalunya dikongsi adalah seperti fail, pencetak dan CPU.

(e) Kemasukan sistem (system entry) - dalam kes perkongsian sumber (shared resources), OS mengawal kemasukan aturcara ke dalam sistem secara keseluruhan serta pengawalan sumber tertentu untuk aturcara pengguna.

1.3 OS sebagai pengurus sumber (resource manager)

Komputer terdiri dari satu set sumber (a set of resources) untuk pergerakan data, penyimpanan dan pemprosesan data serta untuk pengawalan fungsi-fungsi tersebut. OS bertanggungjawab untuk menguruskan sumber-sumber ini. Dengan menguruskan sumber komputer, OS berkuasa ke atas fungsi-fungsi asas komputer. Pengawalan ini dilakukan dalam beberapa cara. Biasanya mekanisma kawalan dikatakan sebagai luaran. Mekanisma kawalan terdiri dari dua aspek:

(a) OS berfungsi seperti perisian komputer biasa yang dilaksanakan oleh CPU.

(b) OS kerap kali melepaskan kawalan dan perlu bergantung kepada CPU untuk membenarkannya memperolehi semula kawalan.

Seperti program komputer yang lain, OS menyediakan arahan untuk CPU. OS mengawal CPU dalam penggunaan sumber sistem dan dalam pengskedulan perlaksanaan program lain. Untuk membolehkan CPU melakukan semua ini, ia perlu berhenti melaksanakan program OS untuk melaksanakan program lain. Dengan itu OS melepaskan kawalan supaya pemproses melakukan kerja yang berguna dan meyambung semula kawan, cukup lama untuk menyediakan CPU untuk melakukan kerja seterusnya. (Rajah 6.2) menunjukkan sumber utama yang sumber utama yang diuruskan oleh OS. Pembahagian sumber ini dikawal bersama oleh OS dan perkakasan pengurusan ingatan dalam CPU. OS menentukan bila peranti I/O boleh digunakan oleh program dalam perlaksanaan serta mengawal pencapaian dan penggunaan fail-fail.

Melalui proses peruntukan sumber, sistem pengoperasian menetapkan kebolehan sumber dengan keperluan pelbagai program. Kebanyakan sistem pengoperasian boleh mencegah kebuntuan (deadlock), dengan syarat di mana dua program berhadapan dengan konflik, maka salah satu tidak mahu menyerahkan sumber yang dipegang sehingga ia mendapat sumber lain yang dipohonnya.

1.4 Jenis-jenis OS

Beberapa ciri utama membezakan jenis-jenis OS dan ciri-ciri ini terbahagi kepada 2 dimensi.

  • Dimensi pertama menentukan samada sistem itu berbentuk kelompok (batch) atau interaktif. Dalam sistem interaktif, pengguna/pengaturcara berinteraksi secara terus dengan komputer biasanya melalui papan kekunci/terminal untuk memohon perlaksanaan sesuatu kerja atau melakukan sesuatu transaksi. Pengguna boleh beriteraksi dengan komputer semasa perlaksanaan. Sistem kelompok (batch system) adalah bertentangan dengan interaktif. Program pengguna dihimpunkan bersama dengan program dari pengguna lain dan dihantarkan oleh operator komputer. Selepas program ini selesai, hasilnya akan dicetak untuk pengguna.
  • Dimensi kedua menentukan samada sistem itu multiprogramming atau tidak. Dengan multiprogramming, usaha akan dilakukan untuk menjadikan CPU berfungsi dengan sepenuh masa dan sesibuk yang mungkin (high utilization of CPU). Ini dapat dicapai dengan membuatkan ia menguruskan lebih daripada satu program dalam satu masa. Jadi, beberapa program dimasukkan ke dalam ingatan dan CPU akn kerap menukar program untuk dilaksanakan. Ini berbeza dengan sistem unipengaturcaraan (uniprogramming) yang hanya mengerjakan satu program dalam satu masa.

Multiprogramming ini juga dipanggil multitasking, iaitu, OS akan menjalankan dua atau lebih program yang bekerjasama di komputer yang sama dan mereka berkongsi pelbagai sumber komputer. Multiprogramming membenarkan penggunaan sumber secara terperinci seperti unit pemprosesan pusat untuk melengkapkan sesetengah aktiviti (aturcara) sebelum memberikan sumber kepada program lain. Dalam multiprogramming, OS menggunakan sampokan/gangguan (interrupts). Ini adalah satu isyarat untuk menangguh buat sementara waktu perlaksanaan program persendirian.

Perkongsian masa (time-sharing) ialah perkara penting bagi multiprogramming di mana beberapa orang menggunakan satu mesin dalam masa yang sama. Perkongsian masa ini berasaskan masa (time driven) iaitu, setiap pengguna diberi sebahagian masa di mana komputer bekerja untuk tugas pengguna sebelum berpindah kepada tugas-tugas pengguna lain. Masa sambutan/reaksi (response time) ialah masa antara pengguna membuat permintaan dan komputer membalas. Sistem ini yang memerlukan pengguna mengikut giliran yang dipanggil penjadualan round-robin.

1.5 Evolusi OS

Dengan komputer-komputer terdahulu (early computer systems) pengaturcara berinteraksi secara terus dengan perkakasan. Mesin-mesin ini dilarikan dari 'console' yang terdiri daripada 'display light', 'toggle switches' sesetengahnya dari peranti input dan printer. Program dalam kod mesin dimasukkan melalui peranti input. Jika program diberhentikan oleh kesalahan, keadaan kesalahan akan ditunjukkan oleh 'display light' tadi. (Jadual 6.1)

Sistem terdahulu mempunyai dua masalah utama:

(a) Pengskedulan (Scheduling) - kebanyakan 'installation' menggunakan 'sign-up sheet' untuk menyediakan masa mesin. Pengguna boleh menggunakan satu blok masa dalam lebih kurang 1/2 jam. Pengguna mungkin menempah untuk satu jam tetapi siap dalam 45 minit. Ini mengakibatkan pembaziran masa.

(b) Masa persedian (Setup time) - sesuatu program dipanggil kerja (task), boleh melibatkan kemasukan ke pengompil dan bahasa pengaturcaraan paras tinggi ke dalam ingatan dan menyimpan program yang telah dikompilkan dan kemudiannya memasukkan dan menghubungkan program objek dengan fungsi biasa. Sejumlah masa diperlukan untuk 'setup' program dilarikan.

1.6 Sistem Kelompok ('batch') yang mudah

Mesin terdahulu adalah mahal, oleh itu adalah penting untuk memaksimumkan penggunaannya. Untuk meningkatkan penggunaan CPU (CPU utilization) OS berkumpulan dibangunkan. Sistem itu juga dikenali sebagai 'monitor', pengguna tidak lagi mempunyai capaian terus kepada mesin. Pengguna menghantar kad dan pita kepada operator komputer, yang mengumpulkan kerja itu secara berturutan dan meletakkan keseluruhan kumpulan kepada peranti input untuk kegunaan monitor.

Dari pandangan monitor, ia yang mengawal turutan kejadian. Untuk ini monitor sentiasa berada dalam ingatan utama dan ia dipanggil ‘resident monitor’ untuk perlaksanaan. (Rajah 6.3) Monitor akan membaca kerja (job) itu satu per satu. Ketika ia dibaca kerja semasa diletakkan dalam daerah program pengguna dan kawalan diberikan kepada kerja ini. Apabila kerja ini selesai, sampokan (interrupt) berlaku yang akan memulangkan kawalan kepada monitor yang akan membaca kerja seterusnya.

Dari pandangan CPU pula, ia melaksanakan arahan dari ingatan utama yang mengandungi monitor. Apabila kerja telah dibaca, CPU akan temui dalam monitor satu cabang arahan yang mengarahkan CPU untuk meneruskan perlaksanaan di lokasi lain dalam ingatan. CPU kemudiannya melaksanakan arahan tersebut dalam program pengguna sehingga ia temui pengakhir atau keadaan kesalahan. Mana-mana kejadian tersebut akan menyebabkan CPU mengambil arahan seterusnya daripada program monitor. Frasa 'control is passed to a job' bermaksud CPU mengambil dan melaksanakan arahan dalam program pengguna dan 'control is returned to the monitor' bermaksud CPU mengambil dal melaksanakan arahan daripada program monitor. Sudah jelas bahawa monitor menguruskan masalah pengskedulan (scheduling). Sekumpulan kerja akan diatur dan dilaksanakan sekerap mungkin.

Monitor juga menguruskan masalah persedian (setup). Dengan setiap kerja, arahan dimasukkan bersama dalam 'job control language'. Ini adalah jenis istimewa bahasa pengaturcaraan yang digunakan untuk menyediakan arahan kepada monitor. (Rajah 6.4) menunjukkan input kerja melalui kad.

Monitor atau 'batch operating system' hanyalah program komputer biasa. Ia bergantung kepada CPU untuk mengambil arahan daripada beberapa bahagian ingatan utama untuk mengambil alih dan melepaskan kawalan. Beberapa ciri perkakasan lain yang diperlukan ialah:

(a) Perlindungan ingatan - sementara pengguna melaksanakan program, ia tidak boleh mengubah bahagian ingatan yang mengandungi monitor. Jika ini berlaku, perkakasan CPU mengesan kesalahan dan memindahkan kawalan kepada monitor. Monitor membatalkan kerja, mencetak mesej kesalahan dan memasukkan kerja baru.

(b) Timer - ia digunakan untuk mengelakkan sesuatu kerja daripada memonopoli sistem. Timer disetkan pada permulaan setiap kerja. Jika timer sudah habis tempoh, sampokan (interrupt) akan berlaku dan kawalan kembali kepada monitor.

(c) Arahan-arahan khas (special commands) - beberapa arahan tertentu adalah istimewa dan hanya boleh dilaksanakan oleh monitor. Ini termasuk arahan I/O, supaya monitor mempunyai kawalan terhadap semua peranti I/O. Ini mengelakkan program pengguna secara tidak sengaja membaca arahan kawalan kerja daripada kerja seterusnya. Jika program pengguna mahu melaksanakan I/O, ia perlu membuat permintaan supaya monitor melaksanakan untuknya. Jika arahan istimewa ini ditemui oleh CPU ketika ia melaksanakan program pengguna, perkakasan CPU menganggapnya sebagai kesalahan dan memindahkan kawalan kepada monitor.

Masa mesin bertukar-tukar antara perlaksanan program pengguna dan perlaksanaan monitor. Sebahagiandari ingatan utama akan diberikan kepada monitor dan sebahagian dari masa CPU akan diambil oleh monitor. Kedua-dua ini adalah dipanggil 'overhead'.

Tiada ulasan:

Catat Ulasan