SOALAN 2
Anda dikehendaki menyelidik tentang sistem pengoperasian UNIX dan jawab soalan-soalan berikut:
1. Bagaimanakah UNIX menjalankan pengurusan Proses?
Subsistem ini mengendalikan urusan penciptaan proses, komunikasi antara proses, pengurusan ingatan dan penskedulan proses.
1.1Model Proses
Model proses dalam UNIX adalah berasaskan proses serentak, iaitu beberapa proses dapat dilaksanakan pada satu masa. Proses boleh mencipta proses baru. Proses yang mencipta dikenali sebagai proses induk, manakala proses yang dicipta dipanggil proses anak. Proses anak adalah salinan daripada proses induk tetapi masing-masing mempunyai imej ingatannya sendiri.
1.2Komunikasi antara Proses
Proses boleh berkomunikasi dengan proses lain dengan menggunakan mekanisma komunikasi seperti pertukaran perutusan dan semafor. Selain daripada itu dua proses juga boleh berkomunikais dengan menggunakan paip. Kebanyakan komunikasi proses dalaman berlaku secara terancang. Walau bagaimanapun, kadang-kadang terdapat komunikasi yang tidak dijangka. Sebagai contohnya, jika seorang pengguna tersilap memberitahu teks editor untuk menyenaraikan kesemua kandungan bagi fail yang panjang dan kemudiannya menyedari wujudnya kesalahan, suatu cara diperlukan untuk menghentikan tindakan teks editor tersebut. Komunikasi seperti ini dikenali sebagai isyarat. Isyarat boleh juga digunakan untuk melaporkan sebarang perangkap yang dikesan oleh perkakasan seperti arahan yang tidak sah ataupun nombor perpuluhan yang melebihi had.
1.3Penskedulan Proses
UNIX adalah suatu sistem multipengaturcaraan yang membenarkan lebih daripada satu proses dilaksanakan pada satu masa. Proses yang ingin menggunakan CPU, akan disusun dalam filiran proses. Penskedulan dalam UNIX dilakukan dengan giliran prosesmulti-paras yang disusun berasaskan kepada keutamaan proses.
2. Bagaimanakah UNIX menjalankan pengurusan Ingatan?
Penggunaan ingatan maya dalam UNIX adalah cukup mudah. Ia membantu supaya UNIX dapat dipindahkan kepada pelbagai jenis mesin. Setiap proses disediakan tiga segmen iaitu kod, data dan timbunan. Segmen data meningkat ke atas manakala timbunan pula menurun .
Di antara timbunan dan data terdapatnya gap iaitu ruang alamat yang tidak digunakan. Disebabkan saiz ingatan utama tidak mencukupi, UNIX juga menggunakan konsep ingatan maya. Pada masa mula-mula UNIX dibangunkan, ingatan maya ini dilaksanakan dengan menggunakan konsep tukar ganti. Apabila suatu proses baru dicipta dan memerlukan ingatan, proses yang sedia ada di dalam ingatan perlu dipindahkan ke dalam storan sekunder.
Kebanyakan versi UNIX pada masa ini, bermula daripada 3BSD menggunakan kaedah berhalaman. Penggunaan kaedah ini bermakna tidak semua bahagian bagi suatu proses berada di dalam ingatan utama, sebahagian daripadanya boleh berada dalam storan sekunder.
3. Bagaimanakah UNIX menjalankan pengurusan I/O?
Pengurusan I/O dalam UNIX juga dilakukan dengan mudah. Peranti I/O dibahagikan
kepada dua jenis:
(a) peranti blok – misalnya cakera
(b) peranti aksara – misalnya papan kunci, tetikus dan pemplot
Setiap peranti dikendalikan oleh satu perisian yang dikenali sebagai pengendali peranti. Kesemua peranti ini dibahagikan kepada dua bahagian:
(a) Bahagian atas – mengendalikan antara muka dengan keseluruhan bahagian UNIX yang lain.
(b) Bahagian bawah – bahagian yang benar-benar berinteraksi dengan peranti
Kesemua capaian kepada I/O dalam UNIX dilakukan melalui sistem fail.
3.1 Peranti Blok
Peranti blok, misalnya cakera, dicapai blok demi blok. Bagi mengurangkan capaian kepada peranti blok, UNIX menyediakan satu penimbal antara pemacu cakera dengan sistem fail. Apabila suatu blok diperlukan, penimbal akan disemak bagi menentukan sama ada blok tersebut telah ada dalam penimbal. Jika ya, blok tersebut diambil dan capaian ke atas cakera dapat dielakkan. Jika tiada, beberapa blok (blok tersebut dan beberapa blok bersebelahan) akan dibaca dan dimasukkan ke dalam penimbal.
3.2 Peranti Aksara
Pengendalikan peranti aksara tidak melibatkan penggunaan penimbal. Aksara yang dibaca atau ditulis dihantarkan terus kepada proses yang memerlukannya.
3.3 Rangkaian
Satu lagi tugas pengurusan I/O dalam UNIX adalah untuk menguruskan capaian kepada rangkaian. Dalam UNIX, capaian ini dilakukan dengan menggunakan “soket”.
Soket dalam UNIX boleh dicipta dan dihapuskan secara dinamik. Penciptaan soket akan mengembalikan suatu penghurai fail, yang diperlukan bagi membina sambungan, membaca data, menulis data dan juga untuk memutuskan sambungan. Apabila suatu soket telah disambung, ia berfungsi sama seperti suatu paip.
4. Bagaimanakah UNIX menjalankan pengurusan Fail?
Subsistem pengurusan fail bertanggungjawab menguruskan sistem fail, menyediakan
ruang untuk fail, mentadbir ruang kosong pada cakera dan mengawal capaian fail. Disebabkan juru aturcara hanya boleh berinteraksi dengan subsistem I/O melalui subsistem pengurusan fail, semua peranti I/O dalam UNIX dilayan sama seperti satu fail.
4.1 Sistem Fail
Setiap fail dapat dicamkan dengan menggunakan konsep penghurai fail. Bagi setiap fail yang dibuka oleh suatu proses, terdapat satu penghurai fail bagi fail tersebut. Setiap proses dihadkan kepada suatu bilangan penghurai fail yang tertentu, maknanya suatu proses hanya boleh membuka sebilangan fail pada suatu masa.
4.2 Direktori
Dalam UNIX, direktori juga dianggap sebagai suatu fail, yang mengandungi entri direktori bagi setiap fail yang terdapat di dalamnya. Setiap entri direktori mengandungi nama fail dan i-number, iaitu indeks kepada jadual i-list. Setiap entri dalam i-list ialah satu i-node, yang menyimpan maklumat tentang status dan kedudukan fail dalam cakera. Sistem fail dalam UNIX adalah berasaskan kepada konsep sistem fail yang disatukan (mounted file system).
4.3 Bentangan Sistem Fail
Bentangan sistem fail yang berada dalam satu cakera ditunjukkan seperti berikut:
(a) Blok 0 tidak digunakan oleh UNIX kerana ia biasanya digunakan bagi melakukan proses booting.
(b) Blok 1 – menyimpan superblok, yang mengandungi maklumat tentang bentangan system fail.
(c) Blok yang menyimpan i-node
(d) Blok yang menyimpan data
4.4 NFS (N e t w o r k F i l e S y s t e m )
Satu bentuk sistem fail yang menarik telah diperkenalkan oleh Sun Microsystem, dikenali sebagai NFS. Konsep ini membenarkan satu gabungan komputer berkongsi menggunakan sistem fail yang sama. Satu komputer yang menyimpan fail (disebut komputer pelayan) boleh membenar satu atau lebih direktori yang ada di dalamnya digunakan oleh komputer yang lain (komputer pelanggan). Senarai direktori yang dibenarkan ini disimpan dalam satu fail, biasanya / etc/export.
4.5 Panggilan Sistem Bagi Pengurusan Sistem Fail
Antara contoh panggilan sistem utama yang berkaitan dengan pengurusan fail ialah:
creat: mencipta fail
open: membuka fail
close: tutup fail
read: baca fail
write: tulis fail
chdir: tukar direktori
mkdir: cipta direktori
5. Berikan contoh 8 bahasa perintah dalam UNIX. Jelaskan bagaimana ia
digunakan dalam sistem pengoperasian tersebut.
Sistem pengoperasian UNIX pada masa ini menyediakan dua bentuk bahasa perintah sama ada berasaskan GUI ataupun berasaskan baris perintah.
1) $ ls
2) $ man
3) $ ls –l ; who Shell membenarkan pengguna memberikan lebih daripada satu perintah pada satu baris, iaitu, dengan menggunakan tanda “;” sebagai pengasing perintah,
4) $ cc –c fail.c & Pengguna juga boleh mengarahkan sistem melaksanakan beberapa tugas pada satu masa, iaitu dengan memberikan perintah yang diakhiri oleh tanda “&”,
5) $ tbl fail | nroff - yang bermakna tbl akan memproses fail dan outputnya akan menjadi input kepada nroff. tbl dan nroff adalah dua peralatan perisian yang boleh digunakan bagi mengformat fail: tbl bagi mengformat jadual manakala nroff bagi mengformat text.
6) $ ed fail1 < fail2 - akan melakukan penyuntingan ke atas fail1 dengan menggunakan perintah yang disediakan dalam fail2.
7) $ ls –l > fail3 - akan menghantar output ls –l kepada fail3 dan tidak kepada skrin.
8) $ ed fail1 < fail2 | tbl | nroff > fail3 - Ketiga-tiga kemudahan ini boleh digabungkan di dalam satu perintah, Maknanya, Edit fail1 dengan menggunakan perintah penyunting yang diberikan dalam fail2, kemudian formatkan jadualnya, diikuti oleh formatkan teks dan output akhir disimpan dalam fail3.
Soalan 3
1.0 Sejarah UNIX
Sistem pengoperasian UNIX telah dibangunkan di Makmal Bell, Amerika Syarikat, pada tahun 1970 sebagai suatu sistem pengoperasian yang tidak terikat dengan sebarang mesin. Sebelum ini, kesemua sistem pengoperasian dikeluarkan oleh pengeluar komputer dan terikat dengan sistem komputer tersebut sahaja.
UNIX kemudiannya telah melalui dua perkembangan utama. Pertama ialah perpindahan daripada mesin pdp-7 kepada mesin yang lebih besar dan lebih moden iaitu pdp-11, mula-mula pada mesin pdp-11/20, kemudian pdp-11/45 dan pdp-11/70. Mesin ini mempunyai saiz ingatan utama yang lebih besar. Ia juga dilengkapi dengan perkakasan pemeliharaan ingatan yang membolehkannya menyokong beberapa pengguna pada satu masa.
Perkembangan kedua ialah perkembangan dalam bahasa pengaturcaraan. UNIX yang awal telah ditulis sepenuhnya dalam bahasa mesin. Ken Thompson dan Denis Ritchie telah memperkenalkan bahasa paras tinggi yang dikenali sebagai C. Mereka kemudiannya menulis semula UNIX dengan menggunakan bahasa tersebut.UNIX v6
telah dikeluarkan pada tahun 1976. Manakala UNIX v7 telah dikeluarkan pada tahun
1978. UNIX v7 ini adalah merupakan versi UNIX pertama yang boleh dipindahkan. Ia boleh digunakan pada mesin pdp-11 dan mesin Interdata 8/32.
Disebabkan syarikat AT&T yang memiliki Makmal Bell tidak boleh terlibat dalam industri komputer, mereka telah mengambil keputusan untuk memberikan system pengoperasian ini secara percuma kepada universiti. Langkah ini telah menjadikan UNIX begitu popular. Kebanyakan syarikat yang mengeluarkan komputer juga telah menjadikan UNIX sebagai sistem pengoperasiannya dengan menggunakan pelbagai nama seperti HI-UX (mesin Hitachi), HP-UX (mesin HP) dan SunOS yang kemudiannya dikenali sebagai Solaris (untuk mesin Sun Microsystem).
2.0 Struktur UNIK
Falsafah di belakang UNIX adalah menyediakan UNIX dalam bahagian-bahagian kecil yang tidak terikat antara satu sama lain (modular). Dengan cara ini setiap fungsi UNIX mempunyai perisiannya sendiri yang adakala dipanggil utiliti. Dengan cara ini juga setiap utiliti atau perisian dapat digabungkan untuk menghasilkan fungsi yang baru di dalam UNIX. Inilah kelebihan utama UNIX
Lakaran di atas adalah gambaran bahagian-bahagian penting di dalam UNIX. Kernel, Shell dan Aplikasi/utiliti pengguna atau arahan penggunaan.
2.1 Kernel adalah jantung kepada UNIX dan GNU/Linux. Kernel mengawal kemasukan ke sistem komputer, menguruskan penggunaan memori komputer, menjaga sistem fail dan membuat pembahagian sumber komputer kepada pengguna dan perisian. Kernel paling banyak mempunyai kod-kod yang bergantung kepada perkakas komputer. Sama seperti fungsi CPU, fungsi kernel tidak dapat dilihat oleh pengguna.
2.2 Shell adalah perisian atau aplikasi yang menjadi alat untuk kita berhubung dengan sistem operasi. Shell akan membaca apa yang anda masukkan dan memahaminya sebagai arahan untuk menjalankan perisian lain, manipulasi fail dan memberikan output. Shell juga turut dikenali sebagai "Command Line Interface".
Terdapat pelbagai jenis shell untuk Unix/Linux. Korn shell atau POSIX shell adalah shell yang biasa dikebanyakan jenis Unix dan Linux juga memilikinya. Bash (Born again Shell) adalah shell yang biasa didapati di dalam distribusi Linux (sebab ia GNU). Kebanyakan Shell adalah mematuhi standard yang sama. Perbezaan mungkin pada fungsi logik atau tambahan fungsi.
Arahan (commands) perisian adalah satu kumpulan arahan untuk komputer. Sebagai pengguna Unix/Linux anda mempunyai pelbagai perisian, alatan dan utiliti yang boleh anda gunakan. Sama ada anda sebagai pembangun perisian yang memerlukan alatan dan utiliti, seperti gcc, make dan bison. Atau sebagai pengendali sistem yang memerlukan fsck, df ,file dan pelbagai lagi arahan. Atau sebagai pengguna biasa yang mahu menggunakan perisian dalam X, OpenOffice, vi dan pelbagai lagi. Semua arahan boleh digolongkan sebagai "programming environment", manipulasi teks, pengurusan maklumat, utiliti tambahan dan komunikasi.
2.3 Sistem fail adalah cara bagaimana UNIX mengendalikan informasi, mendapatkan informasi dan mengendalikannya. Sistem fail juga dirujuk kepada ruang dalam cakera keras. Sistem fail utama bagi Linux adalah ext2 dan versi terbarunya ext3
3.0 Keunikan dan kelebihan UNIX berbanding Sistem Pengoperasian lain
Kemampuan-kemampuan yang dimiliki oleh UNIX antara lain sebagai berikut:
3.1Multiuser
Sistem dapat digunakan oleh lebih dari satu orang pada satu masa. Tentunya untuk melakukan hal ini harus digunakan lebih dari satu terminal yang dihubungkan. Selanjutnya, kita dapat memakai file, program bahkan peranti-peranti yang terhubung dengan komputer secara bersama.
3.2 Multitasking
Sistem dapat melakukan beberapa tugas atau proses pada waktu yang bersamaan. Dengan demikian seseorang dapat memiliki satu proses yang sedang berkomunikasi langsung dengan terminal, tetapi juga memiliki proses lain dengan keutamaan yang lebih rendah.
3.3 Sistem File
Organisasi file di UNIX memiliki struktur pohon (tree) yang terdiri dari file dan direktori. Struktur tersebut diawali oleh akar (root) sebagai awal dari seluruh direktori yang ada. Ciri-ciri dari sistem file UNIX antara lain:
- konsisten dalam memproses data dan peralatan
- pertumbuhan file dan direktori secara dinamis
- dilengkapi dengan proteksi
3.4 Shell
Shell merupakan antar muka pemakai dengan sistem UNIX. Shell memiliki kemampuan menterjemahkan perintah-perintah untuk dilaksanakan oleh kernel UNIX. Disamping itu, shell memiliki kemampuan sebagai bahasa pemprograman.
3.5 Utiliti-utiliti
UNIX memiliki lebih dari 200 utilitas yang dapat digunakan untuk mengelola sistem. UNIX memiliki sejumlah utiliti yang agak sederhana yang dapat dikombinasikan dengan memakai pipa dan filter.
3.6 Surat Elektronik
UNIX dilengkapi dengan fasiliti untuk pengiriman surat antara pemakai di lingkungan sistem UNIX.
3.7 Konsep Perangkat Keras
Perangkat keras yang terhubung pada sistem UNIX akan dianggap sebagai file biasa. UNIX tidak membedakan antara perangkat keras dan file biasa. UNIX mengenal keyboard sebagai masukan standard dan layar terminal sebagai keluaran standard.
3.8 Komunikasi antara Proses
Keluaran dari suatu proses dapat diproses langsung oleh proses lainnya
3.9 Jaringan
Pengguna UNIX dapat berhubungan dengan pengguna lain dalam satu komputer (hubungan antar terminal). Disamping itu pemakai UNIX juga dapat berkomunikasi dengan pemakai lain pada komputer lainnya dalam satu jaringan lokal atau LAN. Bahkan pemakai UNIX dapat berhubungan dengan pengguna lain pada jaringan lain dalam lingkup jaringan luas atau WAN. Data ditransfer dari PC ke UNIX, UNIX ke UNIX dan UNIX ke mesin atau komputer lain melalui:
- kabel komunikasi langsung RS232 (serial comm)
- ethernet
- dial up modem, leased line, public switched data
network.
4.0 Keselamatan Rangkaian dengan UNIX
Telah dijelaskan bahawa system pengoperasian UNIX mempunyai cirri-ciri yang selamat digunakan. Banyak kepakaran boleh diperolehi dari UNIX untuk memastikan rangkaian keselamatan terjamin.
Perkara yang menjadikan UNIX unik adalah berdasarkan Kebolehan Pelbagai Tugas (Multitasking capability )dimana operasi system dapat menjalankan tugas lebih dari satu tanpa menganggu system yang lain. Malahan , kebolehannya memberikan akses kepada ramai pengguna menggunakannya adalah satu kelebihn UNIX. Antara lain ialah, UNIX berbentuk mudah alih. Ini cukup memberikan keselesaan kepada ramai pengguna.
Keselamatan UNIX menyediakan fasiliti keamanan untuk pemakai biasa, pengembang sistem, dan administrator sistem serta jaringan sistem. Perlindungan dilakukan melalui password (login), kebenaran file dan direktori, enkripsi data, usia password otomatis, shell terbatas dan identifikasi jaringan.
Selain itu,karena keterbukaannya,UNIX membuat para system administrator di seluruh dunia mencoba memperbaiki kelemahan-kelemahan sekuriti yang dimliki oleh sistem UNIX.Hal ini menjadikan UNIX hampir bebas dari Bug yang menganggu,dan karena setiap eksploitasi UNIK telah dibukukan,atau paling tidak didokumentasikan,maka setiap Sistem Admin dapat mengetahui cirri-ciri keselamatan keamanan yang ada.
5.0 Penutup
Kesimpulannya,baik untuk jaringan kecil,sedang,dan besar yang memerlukan O/S yang memiliki kemampuan untuk menjaga kesinambungan dan kestabilan kerja di jaringannya,jaringan berasaskan UNIX adalah pilihan yang paling tepat.
Mengapa?
“Karena,dari hasil uji coba yang dilakukan oleh sebuah organisasi independen,pada lingkungan yang memiliki jumlah client yang relatif tidak terlalu banyak,Windows Server 2003 unggul.Akan tetapi pada lingkungan di mana jumlah clientnya lebih banyak,GNU/Unix memperlihatkan kemampuannya.Pada lingkungan dimana terdapat lebih dari 5-10 terminal,windows memperlihatkan performa terbaiknya.Akan tetapi, ketika uji coba dengan 11-20 terminal,windows mulai melambat.Ketika uji coba dilakukan lebih dari 20 terminal atau lebih,windows kembali melambat hingga akhirnya mencapai kecepatan transmisi server – client – server, windows mencapai kecepatan diba ah kecepatan GNU/Unix. Dimana GNU/Unix menunjukkan kecepatan yang stabil pada lingkungan yang Uji coba diatas dilakukan mengunakan cliemt computer yang sama satu sama lainnya. Distro yang digunakan pada uji coba kali ini adalah “Red Hat Advance Server ” dan Microsoft Windows Server 2003 ”.
http://www.Sekolah%20Web%20Indonesia.htm
- Sekian –
Rujukan
Graham,Steven and Shah,Steve.2003.Linux Administration A Beginner's
Guide ,edisi ke 3:Mc Graw Hill,Osborne
MALAYSIA, Open University. (2006). CBOS2203 Sistem Pengoperasian. Kuala Lumpur: UNITEM Sdn. Bhd
http://www.Sekolah%20Web%20Indonesia.htm