Sabtu, 02 Maret 2024

Sistem operasi berkaitan erat dengan pengoperasian komputer. Konsep dan teknologi sistem operasi berkembang sejalan dengan perkembangan teknologi komputer. Komputer merupakan perangkat elektronik yang dirancang untuk membantu penyelesaian permasalahan yang dihadapi manusia. Dewasa ini, komputer digunakan untuk menyelesaikan perhitungan akuntasi, komputasi numerik, pengelolaan berkas basisdata perusahaan, dan hiburan, seperti memutar video dan memainkan games. Dengan kata lain, komputer dapat digunakan untuk berbagai tujuan. Sifat multiguna (general purpose) dari komputer ini dikarenakan pengoperasian komputer tidak mengandalkan pada perangkat kerasnya semata, tetapi komponen lainnya.

Untuk mencapai keragaman penggunaannya, sistem komputer diorganisasi seperti terlihat pada Gambar 1.1. Gambar tersebut menjelaskan bahwa untuk dapat berfungsi, sistem komputer harus memiliki 3 komponen, yaitu perangkat keras (hardware), perangkat lunak (software) dan pengguna (brainware). Manusia sebagai pengguna bertindak sebagai operator yang berinteraksi dengan sistem komputer menggunakan peranti input seperti papan ketik (keyboard), peranti penunjuk (mouse), dan peranti output seperti monitor. Aksi penguna akan diterjemahkan oleh perangkat lunak rnenjadi instruksi untuk menjalankan perangkat keras komputer.

Gambar 1.l Komponen Penyusun Sistem Komputer

Umumnya komponen-komponen perangkat keras komputer dirangkaikan pada suatu papan induk (motherboard) sepefti ditunjukkan pada Gambar 1.2. Prosesor, memori utama, kartu grafis umumnya dipasangkan langsung ke papan ini. Sementara peranti penyimpan, seperti harddisk ataupun CDROM drive, dipasangkan ke papan ini dengan suatu kabel data. Adapun komponen perangkat keras eksternal lainnya seperti printer dan scanner dihubungkan secara tidak langsung ke papan ini lewat suatu gerbang (port), seperti gerbang serial, parallel ataupun USB (Universal Serial Bus).




Gambar 1.2 Perangkat Keras Komputer Pada Motherboard

Bagian perangkat lunak sendiri, terdiri atas sejumlah komponen, yaitu firmware, sistem operasi, dan program aplikasi. Firmware adalah komponen perangkat lunak yang disertakan pada masing-masing perangkat keras komputer oleh perusahaan pembuat (vendor) perangkat keras bersangkutan. Komponen ini berfungsi mengatur cara kerja perangkat keras dan cara berinteraksi dengan bagian lain dari sistem komputer.

Berikutnya, sistem operasi adalah perangkat lunak yang berfungsi mengelola penggunaan perangkat keras dan menyediakan antarmuka serta layanan bagi pengguna maupun program aplikasi. Sistem operasi umumnya disimpan pada media penyimpan. Pada saat komputer dihidupkan, kode instruksi sistem operasi akan dibaca, dipindahkan ke memori utama, serta dijalankan. selanjutnya sistem operasi ini akan mengendalikan interaksi dengan pengguna komputer.


Bagian perangkat lunak lainnya adalah progrem aplikasi, yang menyediakan fungsi-fungsi khusus yang berkaitan dengan kebutuhan pengguna komputer, seperti pembuatan surat, kalkulasi tabel akuntasi, pembuatan presentasi, games, pemutaran video ataupun lagu. Program aplikasi umumnya disimpan dalam media penyimpan. Program aplikasi akan dibaca, dipindahkan ke memori utama, dan dijalankan dengan bantuan sistem operasi atas permintaan pengguna komputer (brainware).


Ketiga komponen sistem komputer yang dijelaskan di atas (hardware, software, brainware) harus ada agar komputer dapat berfungsi. Ketiganya memiliki hubungan yang erat. Jika hardware yang digunakan tergolong canggih dan terbaru, sedangkan software yang digunakan seadanya maka brainware akan sangat dibatasi dalam penggunaan komputer. Sementara jika hardware canggih, software canggih, tetapi brainware kurang maka penggunaan komputer juga tidak maksimal. Sisa bagian ini akan menjelaskan lebih jauh masing-masing komponen sistem komputer tersebut.


Perangkat keras adalah komponen yang berada pada tingkatan paling bawah dari sistem komputer dan merupakan komponen sistem komputer yang berwujud fisik. Yang paling kasat mata adalah peranti input-output (I/O) dari komputer seperti monitor, keyboard, mouse, printer, dan scanner. Namun, komponen perangkat keras yang paling vital adalah prosesor (CPU, Central Processing Unit), memori utama, serta komponen fisik internal lainnya yang biasanya diletakkan dalam suatu kotak tertutup yang disebut dengan casing. Bagaimana komponen fisik ini diorganisasi sebagai suatu unit yang disebut komputer? Komputer yang umumnya digunakan dewasa ini memiliki arsitektur yang sesuai dengan Arsitektur Von Neuman seperti vang ditunjukkan pada Gambar 1.3.

Gambar 1.3 Arsitektur Komputer Von Neuman

Komponen perangkat keras terdiri atas prosesor, memori utama, modul I/O, saluran bus (sistem interkoneksi), serta peranti I/O.

1.1.1  PROSESOR
Prosesor adalah tempat eksekusi kode instruksi program. Prosesor terdiri atas:
1. Control Unit(CU)
2. Arithmetic Logic Unit(ALU)
3. Register
Kode instruksi program beserta data-data tersimpan dalam memori. Instruksi dan data dari memori diambil saru per satu dan disirnpan di register untuk dieksekusi. Ketika dieksekusi, instruksi di register akan menentukan apa yang akan dilakukan oleh CU maupun ALU. CU bertugas untuk mengatur eksekusi dan mengendalikan seluruh komponen komputer lainnya, seperri memori maupun modul I/O. Sementara ALU bertugas untuk mengeksekusi operasi arithmerika dan logika. Operasi aritmetika meliputi penjumlahan, pengurangan, perkalian, dan pembagian. Sementara contoh operasi logika adalah perbandingan lebih besar, lebih kecil, kesamaan, ataupun ketidaksamaan. Secara garis besar, jenis instruksi yang dijalankan oleh prosesor antara lain:
1. Pertukaran data antara prosesor dan memori utama. Instruksi ini dilakukan ketika data harus dibaca/ditulis ke memori utama,
2. Pertukaran data antara Prosesor dan modul I/O. Instruksi ini dilakukan ketika data harus dibaca/ditulis ke peranti I/O. Umumnya data-data untuk operasi I/O akan disimpan sementara di memori utama sebelum diproses oleh prosesor.
3. Pemrosesan data oleh Prosesor.
Instruksi ini dilakukan jika diperlukan operasi-operasi aritmetika ataupun logika.
4. Operasi kendali.
Instruksi ini dilakukan jika diperlukan pengaturan alur eksekusi instruksi, seperti operasi lompat (jump) ke instruksi tertentu.
Untuk menjalankan tugasnya, prosesor membutuhkan tempat menampung instruksi, data, maupun alamat data. Memori semacam ini disebut dengan register. Jenis-jenis register yang umumnya terdapat pada suatu prosesor antara lain:
1. Register Pengguna
Yaitu register yang dapat digunakan alamat data program,yang terdiri atas:
a. Register Data
Register data digunakan untuk menyimpan data yang dibaca dari memori ataupun yang akan diproses di ALU. Yang termasuk register data antara lain register AX, BX, CX, DX
b. Register Alamat
Register alamat digunakan untuk rnenyimpan alamat memori dari data ataupun kode instruksi Program yang akan diakses oleh prosesor. Register alamat dapat dikelompokkan ke dalam register indeks (Index Register seperti register SI, DI), register segmen (Segment Register, seperti register ES, DS, SS) dan register pointer (Pointer Register, seperti BP, SP)
2. Register Status and Kontrol
Yaitu register yang digunakan unruk mengonrrol eksekusi kode instruksi program, yang terdiri atas:
a. Register Penghitung (PC, Program Counter Register)
Register ini menyimpan alamat memori (aramat relatif/logika)
dari kode instruksi yang sedang dieksekusi.
b. Register Segmen Kode Instruksi (CS, Code Segment Register)
Register ini menyimpan alamat segmen memori dari kode in-
struksi yang sedang dieksekusi.
c. Register Instruksi (IR, Instruction Register)
Register ini menyimpan kode instruksi yang sedang/akan dieksekusi. Kode instruksi ini dibaca dari memori fisik menggunakan alamat yang ditunjukkan oleh register CS dan PC.
d. Register Status (F, Flag Register)
Register ini menyimpan sejumlah starus hasir eksekusi kode
instruksi yang sedang berlangsung. Misalkan jika terjadi pembagian dengan bilangan nol maka kondisi tersebur akan dicatat di register status.
Berikutnya, marilah kita lihat bagaimana prosesor melakukan eksekusi intruksi program. secara garis besar, sikrus eksekusi dari prosesor dapat dilukiskan seperri Gambar 1.4
Gambar 1.4 Siklus Eksekusi Prosesor

Pertama, prosesor mengambil kode instruksi (siklus fetch), kemudian dieksekusi (siklus execute). Jika interupsi aktif (enabled) maka prosesor akan melakukan pengecekan interupsi (siklus interrupt), sedangkan jika interupsi tidak aktif (disabled), prosesor akan mengambil instruksi selanjutnya (siklus fetch). Jika instruksi yang dijalankan adalah HALT maka prosesor akan menghentikan siklus eksekusinya sama sekali (akhir eksekusi suatu program).
Interupsi adalah sinyal perangkat keras, terutama peranti I/O ataupun perangkat lunak untuk meminta prosesor melakukan suatu tugas tertenfu. Interupsi juga merupakan mekanisme komunikasi antara prosesor dengan perangkat keras lainnya. Interupsi dapat dikelompokkan atas:
1. Interupsi Perangkat Lunak (Software Interrupt),
yaitu interupsi yang diakibatkan oleh kode instruksi atau efek dari perangkat lunak. Interupsi ini sering juga disebut dengan system call karena umumnya digunakan untuk meminta layanan atau penanganan dari sistem operasi. Contoh kondisi yang memicu terjadinya interupsi perangkat lunak adalah: Program meminta sistem untuk mencetak hasil keluaran atau output ke printer, atau terjadi kondisi pembagian dengan bilangan nol (division by zero) ataupun hasil operasi aritmatika melebihi presisi tipe data penyimpan (arithmetic overflow).

2. Interupsi perangkat keras (Hardware Intenupt),
yaitu interupsi yang diakibatkan aksi pada perangkat keras. Ada dua kategori untuk interupsi ini, yaitu:
a. Maskable Interrupt, yaitu interupsi yang disela, misaikan: interupsi oleh timer, penekanan keyboard atat) mouse.
b. Non-Maskable Interrupr, yaitu interupsi yang tidak dapat disela, misalnya terjadi kegagalan perangkat keras seperti penyuplai tenaga (power failure) ataupun memori (memory parity error).
Cara kerja interupsi ditunjukkan Gambar 1.5. Setiap interupsi memiliki rutin interupsi (ISR, Interrupt Service Routine), yaitu kumpulan instruksi yang akan dieksekusi jika interupsi tersebut terjadi. Rutin interupsi atau ISR disimpan di memori pada saat kompurer dihidupkan. Alamar memori dari ISR ini disimpan sebagai referensi dalam suatu tabel interupsi (IST, Interrupt Services Table). Ketika interupsi terjadi (l), prosesor akan menunda program yang sedang dieksekusi, kemudian menyimpan isi register-register prosesor, disebut juga dengan konteks prosesor, ke memori.

Prosesor selanjutnya akan membaca (lookup) di IST (2) untuk mengetahui alamat ISR interupsi bersangkutan. Dalam pembacaan ini, prosesor menggunakan nomor interupsi yang dibangkitkan perangkat keras sebagai nomor indeks untuk membaca IST. Setelah mengetahui alamat ISR, prosesor mulai membaca kode instruksi ISR dan mengeksekusinya (3).

Setelah eksekusi ISR selesai, prosesor akan kembali mengeksekusi program yang tertunda, yang diawali dengan mengisi kembali regisrer-register prosesor sehingga kondisinya sama seperti sebelum terjadi interupsi.
Gambar 1.5 Cara Kerja Interupsi

Contoh fisik dari fabrikasi chip prosesor dapat dilihat pada Gambar 1.6. Umumnya prosesor yang beredar di pasaran diidentifikasikan menggunakan nama perusahaan pembuatnya (vendor), nama dagang teknologi prosesornya, serta frekuensi clock-nya. Contoh spesifikasi chip prosesor: Intel Pentium IV 1,6 GHz, atau AMD Sempron 1,8 Ghz+, Spesifikasi prosesor dapat juga menggunakan nomor seri produksi seperti M740 1,7 GHz yang dipakai sebagai prosesor laptop. Belakangan ini, vendor prosesor seperti Intel memproduksi chip prosesor yang memiliki dua inti prosesor, dan spesifikasi prosesornya ditambah akhiran Core 7 Duo.

Gambar 1.6 Contoh Chip Prosesor


1.1.2 MEMORI UTAMA
Selain prosesor, komponen perangkat keras komputer yang tak kalah penting adalah memori utama. Memori utama adalah tempat peyimpanan utama kode-kode instruksi serta data program. Kode instruksi dan data ini tidak dapat disimpan seluruhnya di register prosesor karena kapasitas register yang terbatas. ltu sebabnya hanya kode-kode instruksi dan data yang akan segera dieksekusi yang akan disalin ke register prosesor. Selain itu, memori utama digunakan sebagai tempat penampungan sementara (buffer) ketika prosesor membaca ataupun menulis data dari/ke peranti I/O. Wujud fisik dari memori urama yang digunakan pada komputer dapat dilihat pada Gambar 1.7.


Gambar 1.7 Contoh Memori Utama

Umumnya spesifikasi memori utama di pasaran menggunakan nama vendornya, kapasitas simpannya, teknoroginya serta frekuensi crock transfer datanya. Contoh spesifikasi memori utama: Corsair 1GB DDR3 1800 PC3-14100 CL7 atau Kingston 512MB CL2.5 PC2100 DDR 266MHz.

1.1.3 SISTEM BUS
Selain prosesor dan memori utama, komponen lainnya dari perangkat keras kornputer adalah sistem bus. Sistem bus merupakan saluran komunikasi antar komponen internal komputer. Sistem bus terdiri atas bus kendali, bus alamat, dan bus data.

Bus kendali berfungsi sebagai jalur komunikasi informasi kendali dari prosesor ke komponen lainnya. Informasi kendali ini akan menentukan komponen mana yang akan aktif dan modus operasi apa yang akan dijalankan, misalkan operasi baca atau tulis. Misalnya, operasi baca atau tulis ke memori ditentukan oleh bit-bit informasi yang dikirimkan lewat bus kendali. Selain itu pengendalian operasi I/O juga dilakukan oleh prosesor dengan mengirimkan bit-bit kendali ke modul I/O melalui bus kendali.

Bus lainnya yaitu bus alamat berfungsi mengirimkan informasi alamat memori maupun modul I/O yang akan diakses, baik untuk pembacaan ataupun penulisan. sementara bus data merupakan saluran yang digunakan untuk mengirimkan data ataupun kode instruksi yang dibaca/tulis ke memori ataupun modul I/O.

Dalam eksekusi suatu kode instruksi, umumnya ketiga saluran bus di atasakan aktif. Misalnya pada operasi pembacaan memori ke register, bus kendali digunakan untuk menginformasikan jenis operasinya adalah pembacaan (read), bus alamat ur1tuk menginformasikan alamat memori yang hendak diakses, sedangkan bus data digunakar-r untuk mengirimkan data dari alamat memori tersebut ke register yang telah ditentukan dalam kode instruksi.

1.1.4 MODUL l/O
Peranti-peranti I/O dapat dilihat sebagai subsistem eksternal bagi Prosesor. Pengendalian peranti-peranti I/O oleh prosesor dilakukan secara tidak langsung melalui Modul l/O. Pengisolasian prosesor dari subsistem I/O sangat penting mengingat sangat beragamnya karakteristik peranti I/O. Dengan pemisahan yang demikian, struktur internal komputer dapat dipertahankan tetap sederhana.
Ketika suatu peranti input urengirimkan data maka modul I/O akan mengirimkan interupsi kepada prosesor. Prosesor akan mengalihkan eksekusi ke rutin penanganan interupsi (ISR) untuk interupsi tersebut. Umumnya suatu interupsi dapat dikenali prosesor berdasarkan nomor interupsinya. ISR yang berkaitan dengan suatu interupsi I/O pada dasarnya merupakan intruksi kendali ke modui I/O. ISR bersangkutan mengatur komunikasi dengan peranti I/O lewat instruksi kendali ke modul I/O. Selama eksekusi ISR, bus data, bus alamat, dan bus kendali digunakan bersama untuk mengalirkan data dari/ke peranti I/O bersangkutan, lewat modul I/O.


1.1.5 PERANTI INPUT/OUTPUT (I/O)
Data-data yang hendak diproses umumnya dimasukkan dari suatu peranti input seperti keyboard, mouse, scanner ataupun dibaca dari suatu media penyimpanan seperti floppy disk,harddisk, flashdisk seperti pada Gambar 1.8
Gambar 1.8 Peranti Input dan Media Penyimpan

Data hasil pemrosesan prosesor dapat ditampilkan di peranti output seperti monitor lewat kartu grafis, atau dicetak dengan printer, atau disimpan kembali ke media penyimpanan. Contoh peranti output dapat dilihat pada gambar 1.9.


Gambar 1.9 Peranti Output (graphic card, monitor, printer)

Pengiriman data antara peranti I/O dan modul I/O dilakukan melalui suatu bus I/O. Modul I/O yang bertanggung jawab untuk meneruskan data dari/ke sistem bus internal komputer. Umumnya kecepatan bus I/O lebih lambat dibanding kecepatan sistem bus internal komputer. Contoh standar bus I/O adalah ISA (Instruction Set Architecture), PCI (Peripheral
Component Interconnect), PCI Express dan AGP (khusus untuk kartu grafis)







Seperti yang telah dijelaskan sebelumnya, penggunaan perangkat keras komputer memerlukan komponen perangkat lunak. Sistem perangkat lunak pada komputer terdiri atas komponen firmware, sistem operasi dan program aplikasi.

1.2.1 FIRMWARE

Firmware merupakan perangkat lunak yang disertakan pada perangkat keras dari pabrik/vendornya. Dengan kata lain, kode instruksinya disimpan di dalam perangkat keras itu sendiri. Instruksi-instruksi BIOS (Basic Input Output System) yang terdapat pada flash ROM motherboard merupakan contoh suatu firmware. Contoh lainnya adalah flash ROM yang terdapat pada suatu kartu grafis. Firmware umumnya berupa instruksi untuk inisialisasi dan pengendalian operasi perangkat keras yang bersangkutan. Misalnya BIOS pada motherboard berisi instruksi untuk berkomunikasi dan melakukan inisialisasi kerja dari prosesor, memori utama, dan subsistem I/O lainnya yang terintegrasi dalam motherboard tersebut.

1.2.2 SISTEM OPERASI




Selain firmware yang mengatur kerja suatu perangkat keras, diperlukan komponen perangkat lunak lainnya untuk mengoordinasikan penggunaan berbagai komponen perangkat keras komputer lainnya.
Sistem operasi merupakan komponen perangkat lunak yang berfungsi untuk mengelola seluruh komponen dan sumber daya komputer, fisik maupun nonfisik (misalkan data) agar dapat digunakan secara optimal.
Selain itu, sistem operasi bertanggung jawab untuk menyediakan antarmuka bagi pengguna maupun program aplikasi. Sistem operasi memiliki posisi yang sangat menentukan dalam sistem komputer. Seperti halnya tubuh tanpa jiwa adalah mati maka perangkat keras kompurer tanpa adanya sistem operasi adalah tidak berguna. Ada berbagai macam sistem operasi seperti DOS (Disk Operating System), Windows (95, 98, Milenium, XP, 2000 Proffesional, NT, 2003 Server, Vista, Win7, Win8,Win10), Linux (distro : Red Hat, Mandriva, Open SuSe, Ubuntu, Fedora).
Komponen perangkat lunak ini merupakan topik utama dari buku ini. Mengenai komponen fungsionalitas dari sistem operasi akan dibahas lebih Ianjut di Bab II dan bab-bab selanjutnya.

1.2.3 PROGRAM APLIKASI

Tujuan akhir dari penggunaan komputer adalah membantu pekerjaan manusia. Karena keperluan manusia sangat beragam maka komputer dirancang untuk membantu berbagai macam aktivitas manusia. Untuk mencapai tujuan ini maka komponen perangkat lunak lainnya harus ada yaitu program aplikasi.
Program aplikasi berjalan di atas sistem operasi. Artinya eksekusi program aplikasi difasilitasi dan diatur oleh sistem operasi. Sejumlah program aplikasi dapat berjalan secara konkuren atau bersama di atas sistem operasi. Dalam kondisi seperti ini, sistem operasi bertanggung jawab agar eksekusi program-program aplikasi tersebut tidak saling mengganggu satu sama lain.
Contoh program aplikasi dan kegunaannya adalah aplikasi spreadsheet seperti Ms Excel yang menyediakan fungsi-fungsi untuk perhitungan tabular data keuangan dan statistik, aplikasi Microsoft Word yang menyediakan fungsi-fungsi untuk menulis berbagai macam surat dan dokumen. Contoh lainnya adalah aplikasi winAmp yang menyediakan fasilitas untuk memutar lagu-lagu di komputer, aplikasi WinZip vang menyediakan fungsi untuk mengkompresi data sehingga berkas data berukuran lebih kecil.

Secara garis besar program aplikasi dibedakan atas dua kategori besar yaitu:
1. Aplikasi Pengguna
Yaitu aplikasi yang dikembangkan khusus untuk membantu pengguna menyelesaikan suatu permasalahan yang sifatnya khusus. Contoh: aplikasi perkantoran seperti Microsoft Word, MS Excel, MS Power, ataupun Star Office, aplikasi aplikasi bisnis seperti MYOB, Lotus Suite, aplikasi multimedia seperti WinAmp, Media Player, dan lain sebagainya.
2. Aplikasi Utilitas/sistem
Yaitu aplikasi yang dikembangkan untuk membantu pengelolaan penggunaan sumber daya komputer. Contoh: WinZip digunakan untuk mengkompresi berkas sehingga menghemat ruang penyimpanan berkas, Defragmenter digunakan untuk mengatur alokasi berkas di media penyimpan, Antivirus digunakan untuk membersihkan sistem operasi dari gangguan program perusak.
Selain itu secara bebas, aplikasi dapat dikelompokkan berdasarkan berbagai fungsionalitasnya secara khusus seperti pada Tabel 1.1

Tabel l.l Berbagai Kategori Program Aplikasi

Komponen lain dari sistem komputer adalah aktor pengguna atau operator komputer. Pengguna rnerupakan suatu integral dari suatu sistem komputer. Sistem komputer tidak akan bermanfaar jika tidak ada pengguna yang berkepentingan menggunakannya. Sejarah perkembangan komputer menunjukkan bahwa usaha pengembangan komputer, baik perangkat keras dan perangkat lunaknya diarahkan pada usaha mempermudah pengguna dalam menggunakan komputer. pengguna sistem komputer dapat dibedakan atas:
1. Pemrogram sistem,
2. Pemrogram aplikasi, dan
3. Pengguna aplikasi.

1.3.1 PEMROGRAM SISTEM
Salah satu keistimewaan sistem komputer adalah perangkat lunak yang akan dijalankan pada komputer dapat dikembangkan rangsung dengan komputer juga. Pengguna yang menggunakan sistem komputer untuk membuat perangkat lunak seperti sistem operasi dan aplikasi sistem disebut sebagai pemrogram sistem.
Pengguna pada level ini harus memiliki pengetahuan yang memadai mengenai cara kerja perangkat keras komputer, konsep yang kuat mengenai perangkat lunak sistem serta menguasai tool-tool pengembangan perangkat lunak yang tersedia.

1.3.2 PEMROGRAM APLIKASI
Pemrogram aplikasi adalah pengguna sistem komputer yang membuat aplikasi-aplikasi pengguna vang dijalankan diatas sistem operasi' Setiap uptit uri berkaitan dengan suatu permasalahan khusus yang hendak diseleuikun dengan bantuan komputer. Misalnya adalah Microsoft Word adalah aplikasi khusus untuk pengolahan surat dan dokumen, sedangkan MS Excel ditujukan untuk penyelesaian masalah akuntansi, statistik dengan memakai perhitungan tabular.
Pengguna pada level ini harus menguasai salah satu bahasa pemrograman' dupur menggunakan salah satu tool pemrograman serta menguasai permasalahan serta solusi untuk aplikasi yang hendak dikembangkannya.
1.3.3 PENGGUNAAPLIKASI

Pengguna ini menggunakan aplikasi yang dibuat oleh pemrogram aplikasi maupunpemrogramsistem.Penggunapadaleveiinitidakdituntutuntuk memiliki pengetahuan mengenai perangkat keras dan perangkat lunak sistem. Persyaratan minimalnya, Pengguna aplikasi mamPu bekerja dengan peranti I/O pada komputer serta memahami penggunaan program aplikasinya.

1. Sistem komputer terdiri dari tiga komponen utama yang saling terkait satu dengan yang lainnya, yaitu hardware, software, dan brainware.
2. Firmware merupakan komponen perangkat lunak, yang dibuat oleh pembuat perangkat keras (Vendor) dan terdapat pada masing-masing perangkat keras komputer, untuk mengatur cara kerja perangkat keras tersebut dan berhubungan dengan bagian lain dari sistem komputer.
3. Prosesor merupakan tempat kode instruksi program dieksekusi.
Prosesor ini terdiri dari CU, ALU, dan register.
4. Ketika terjadi pembacaan/penulisan ke peranti I/O, biasanya data
tersebut ditampung sementara di memori utama yang berfungsi untuk menjembatani perbedaan kecepatan antara keduanya.
5. Prosesor memiliki banyak jenis register, antara lain register alamat yang digunakan untuk menyimpan alamat memori (alamat relatif dari instruksi/data yang akan dieksekusi.
6. Interupsi adalah sinyal yang dibangkitkan oieh perangkat keras atau perangkat lunak untuk meminta prosesor menghentikan sementara eksekusi yang sedang dilakukan dan memintanya untuk melakukan tugas tertentu.
7. Interrupt dapat dikenali prosesor berdasarkan nomornya.
8. Sebelum di letakkan di register-register prosesor, kode instruksi
program dan data yang akan dieksekusi akan disimpan dulu di memori utama.
9. Komponen-komponen internal pada perangkat keras komputer akan saling berkomunikasi dalam melaksanakan tugasnya melalui sistem bus.
10. Sistem bus pada komputer terdiri dari bus data, bus alamat, dan bus kontrol.
11. Pengaksesan peranti-peranti I/O oleh prosesor tidak boleh dilakukan secara langsung, tetapi harus melalui modul I/O karena beragamnya karakteristik peranti I/O.

12. Umumnya kecepatan bus I/O lebih lambat dibandingkan kecepatan sistem bus internal komputer.

13. BIOS pada motherboard berisi instruksi untuk inisialisasi dan komunikasi dari prosesor, memori, dan subsistem I/O lainnya yang terintegrasi dalam motherboard tersebut.

14. Perangkat lunak yang berfungsi untuk mengelola seluruh komponen dan sumber daya komputer agar dapat digunakan secara optimal disebut sistem operasi.

15. Program aplikasi merupakan program yang berjalan di atas sistem operasi dan
menyediakan fasilitas dan antarmuka langsung ke pengguna serta
ditujukan untuk membantu menyelesaikan pekerjaan pengguna.

EVALUASI PEMAHAMAN MATERI TINJAUAN UMUM SISTEM KOMPUTER

Setelah membaca materi Bab 1 tentang Tinjauan Sistem Komputer maka silakan mengerjakan Evaluasi Bab 1 untuk mengukur sejauh mana pemahaman Anda tentang materi tersebut.


Dari sejarah perkembangan sistem operasi terlihat bahwa sistem operasi dirancang sedemikian rupa untuk memenuhi dua fungsi utama seperti pada Gambar 2.7, yaitu sebagai mesin abstraksi (extended machine) bagi pengguna dan program aplikasi serta pengelola sumber daya komputer (resource manager)


Gambar 2.7 Fungsi Utama Sistem Operasi

2.2.1 SISTEM OPERASI SEBAGAI EXTENDED MACHINE
Sistem operasi sebagai perpanjangan tangan dalam pengaksesan sumber daya komputer sehingga tersedia lingkungan (antarmuka) dan layanan yang nyaman dan mudah bagi program aplikasi maupun pengguna.
Komputer terdiri atas berbagai macam perangkat keras seperti prosesor (CPU), memori, pewaktu, media penyimpan, dan peranti I/O lainnya. Pada awal perkembangan komputer, di mana belum ada sistem operasi, semua operasi komputer dilakukan secara manual menggunakan panel kontrol oleh para ahli saja.
Sistem operasi kemudian dikembangkan secara bertahap untuk mengotomatisasi hal-hal yang tadinya harus dilakukan secara manual. Selain itu, sistem operasi menyembunyikan detil operasi perangkat keras serta menyediakan antarmuka operasi yang lebih sederhana dan mudah dimengerti oleh pengguna. Dengan kata lain, sistem operasi melakukan abstraksi terhadap pengaksesan sumber daya komputer.
Sistem-operasi ibaratnya sebagai sistem otomotif pada kendaraan bermotor seperti mobil. Sistem otomotif melakukan abstraksi bagi pemakai mobil terhadap pengendalian elemen-elemen mobil dengan menyediakan antarmuka seperti kemudi, pedal rem, pedal gas, stop kontak, dan gigi persneling. Pengemudi tidak butuh mengendalikan detil operasi elemen otomotif yang sesungguhnya, seperti memutar tuas roda, memperbanyak debit pembakaran bensin, mengerem roda dengan bantalan rem. Semua detil operasi tersebut dikendalikan secara tidak langsung lewat antarmuka seperti kemudi, pedal gas, dan pedal rem. Pengemudi hanya butuh belajar bagaimana mengemudikan mobil dengan menggunakan antarmuka tersebut.
Demikian pula dengan sistem operasi. Sistem operasi melakukan perpanjangan tangan (abstraksi) terhadap pengaksesan sumber daya komputer sehingga pengoperasian komputer menjadi mudah bagi pengguna. Dengan adanya sistem operasi, pengguna hanya melihat komputer sebagai mesin yang dapat menjalankan tugas-tugas yang diberikan kepadanya, seperti memutar lagu, melakukan perhitungan matematis, membaca basisdata dengan cara yang sangat mudah. Pengguna tidak perlu tahu bagaimana sesungguhnya mekanisme kerja internal komputer seperti menyalin kode instruksi program ke memori, melakukan perhitungan di prosesor, menyimpan data ke suatu alamat di disk, dan bagaimana caranya data-data dikirim ke printer lewat kabel paralel serta detil operasi lainnya.

2.2.2 SISTEM OPERASISEBAGAI RESOURCE MANAGER
Sistem operasi mengelola seluruh sumber daya komputer sehingga terpakai secara efisien, efektif, dan aman. Pada sistem komputer dimungkinkan beberapa job dijadwal secara bergantian untuk menggunakan prosesor. Sumber daya komputer dibagi pakai oleh job-job tersebut. Caranya adalah dengan melakukan multipleks (multipleksing) pada penggunaan sumber daya, baik dari segi waktu maupun ruang.
Contoh sumber daya yang dimultipleks secara waktu adalah prosesor dan printer. Multi programming pada prosesor tunggal dicapai dengan melakukan alokasi prosesor kepada masing-masing job secara bergantian. Setiap kali terjadi pergantian job, status eksekusi dari job sebelumnya harus disimpan sehingga jika eksekusi kembali lagi kepadanya, job tersebut dapat melanjutkan eksekusinya dari keadaan terakhirnya. Ini merupakan tugas sistem operasi. Contoh lainnya, jika suatu printer sedang melayani pencetakan dari suatu job, sebaiknya printer tidak dialokasikan ke job lain jika job pencetakan itu belum selesai. Ini untuk menghindari kondisi di mana halaman pencetakan berisi satu baris keluaran dari job A, kemudian satu baris berikutnya berisi keluaran dari job B, dan disusul lagi satu baris berikutnya dari job A dan seterusnya. Sistem operasi dalam hal ini bertugas menjamin penggunaan printer secara ekslusif oleh suatu job sampai selesai.

Contoh sumber daya yang dimultipleks secara ruang adalah memori dan disk. Ruang memori dipartisi untuk menyimpan beberapa job secara bersamaan. Sistem operasi harus memastikan program yang satu tidak menulis atau memodifikasi partisi memori job lainnya. Selain itu, disk yang sama digunakan untuk menyimpan berkas-berkas yang berbeda penyimpanan berbagai berkas di disk butuh dilakukan secara baik sehingga mudah dibaca kembali dan tidak saling tumpang tindih. Inipun menjadi tanggung jawab sistem operasi.

Sebagai resource manager, sistem operasi menyediakan rutin-rutin penanganan sumber daya komputer. Rutin-rutin tersebut dapat dikelompokkan dalam empat kategori besar, yaitu komponen manajemen proses, manajemen memori, manajemen device, dan manajemen berkas. Hubungan antar ke empat komponen di atas dapat dilihat pada Gambar 2.8.
Komponen manajemen memori bertugas mengelola penggunaan memori utama. Komponen manajemen device bertugas mengelola Penggunaan berbagai device termasuk peranti I/O yang terdapat pada komputer seperti pewaktu, disk, keyboard, adapter monitor, dan CD drive.
Komponen manajemen berkas bertugas melakukan pengelolaan berkas dan dalam operasinya memanfaatkan rutin-rutin serta layanan yang disediakan oleh manajemen memori dan device. Ini karena berkas senantiasa dibaca/tulis dari/ke disk sehingga memerlukan mtin-rutin manajemen device dan datanya disalin bolak-balik dari/ke memori utama sehingga memerlukan rutin-rutin mamajemen memori.
Komponen manajemen proses merupakan sentral dari sistem operasi dan menggunakan seluruh komponen manajemen lainnya. Secara khusus, manajemen proses bertugas mengelola sumber daya komputer yang paling penting, yaitu prosesor.

Gambar 2.8 Hubungan Antarkomponen Sistem Operasi

2.3.1 MANAJEMEN PROSES

Job-job yang dieksekusi oleh prosesor secara teknis disebut dengan proses. Tugas dari manajemen proses adalah membuat proses-proses yang berjalan tidak saling menggangu bahkan dapat saling bekerja sama. Proses adalah program. yang sedang di eksekusi, yang berarti bahwa program tersebut sedang dijadwal untuk menggunakan Prosesor. Suatu proses atau program yang sedang dieksekusi akan membutuhkan sumber daya yang lain seperti memori, berkas, dan peranti lainnya untuk menyelesaikan tugasnya.
Tugas-tugas komponen manaiemen proses antara menciptakan dan menghentikan proses, menunda dan melanjutkan kembali proses, serta menyediakan mekanisme penjadwalan, komunikasi, sinkronisasi, dan penanganan deadlock bagi proses-proses yang berjalan secara bersamaan. Secara rinci manajemen proses akan dibahas pada Bab III dan IV.

2.3.2 MANAJEMEN MEMORI
Tugas utama komponen manajemen memori adalah mengatur pemakaian ruang memori utama yang terbatas agar dapat digunakan secara bersamaan oleh sebanyak mungkin proses tanpa saling mengganggu satu sama lain. Memori utama adalah tempat penyimpanan yang bersifat volatile dan memiliki struktur sebagai senarai byte atau word. Memori utama dapat diakses (tulis/baca) oleh prosesor maupun peranti I/O.
Tugas-tugas yang menjadi tanggung jawab manajemen memori antara lain mengelola memori kosong, mengalokasikan dan membebaskan ruang memori kepada proses sesuai kebutuhan, melakukan proteksi dan bagi pakai memori utama. Secara rinci manajemen memori akan dibahas pada Bab V.

2.3.3 MANAJEMEN DEVICE
Tugas utama komponen manajemen device adalah mengelola beragam device ataupun peranti I/O yang berbeda karakteristiknya dapat digunakan dengan baik oleh proses-proses. Menggunakan device driver dari masing-masing peranti, manajemen device menyediakan pengaksesan yang lebih mudah dan sederhana ke berbagai peranti I/O.
Tugas-tugas yang dilakukan oleh manajemen device antara lain: penjadwalan peranti I/O, buffering, caching, spooling, reservasi device serta penanganan kesalahan pengaksesan peranti I/O. Manajemen device akan dibahas secara lebih rinci pada Bab VI.

2.3.4 MANAJEMEN BERKAS
Komponen manajemen berkas terkait erat dengan pengelolaan berkas pada media penyimpan sekunder. Berkas adalah sekumpulan informasi yang saling berkaitan dan disimpan sebagai suatu entitas tunggal pada media penyimpan sekunder.
Suatu media penyimpan digunakan untuk menyimpan banyak berkas. Oleh sebab itu, diperlukan suatu sistem pengarsipan berkas yang baik pada media penyimpan. Sistem pengarsipan yang digunakan pada suatu sistem operasi disebut Sistem Berkas seperti FAT16 pada MSDOS, FAT32 dan NTFS pada Windows NT serta Ext2, Ext3 pada Linux. Pada kebanyakan sistem berkas, sekumpulan berkas dikelompokkan dalam suatu direktori atau folder secara iteratif sehingga membentuk suatu hierarki pengarsipan. Direktori dapat dilihat sebagai berkas khusus yang menyimpan rekaman atribut berkas-berkas yang secara logika berada di dalamnya.

Tugas-tugas yang dilakukan oleh manajemen berkas antara lain: mendukung pembuatan dan operasi pada berkas dan direktori, melakukan alokasi ruang disk ke berkas, mengelola ruang kosong disk, mengelola isi direktori, melakukan proteksi dan berbagi-pakai berkas, melakukan pemulihan (recovery) terhadap berkas. Manajemen berkas akan dibahas secara lebih rinci pada Bab VII.

Salah satu fungsi dari sistem operasi adalah menyediakan layanan serta antarmuka bagi pengguna maupun program aplikasi. Pengguna berinteraksi dengan sistem operasi menggunakan suatu program antarmuka (Shell). Suatu shell dapat memiliki antarmuka berbasis perintah teks (CUI, Command User Interface) seperti pada Gambar 2.9 ataupun grafis (GUI, Graphical User Interface) seperti pada Gambar 2.10. Program-program shell ini merupakan program pengguna dan umumnya selalu disertakan pada paket instalasi suatu sistem operasi.


Gambar 2.9 Contoh CUI (Command User Interface)



Gambar 2.10 Contoh GUI (Graphical User Interface)

Di lain pihak, program-program aplikasi berinteraksi atau memanggil rutin-rutin sistem operasi menggunakan pustaka API (Application Programing Interface). Prosedur atau rutin yang disediakan oleh pustaka API ini disebut dengan systen call. Setiap sistem operasi umumnya memiliki spesifikasi sistem call standar, misalnya UNIX memiliki POSIX, sebagai standar system call-nya, sedangkan keluarga sistem operasi Windows memiliki spesifikasi Win32 API. Pustaka API atau sistem call, umumnya berisi trap (semacam sinyal interupsi perangkat lunak) untuk memanggilkan rutin-rutin dari sistem operasi.
Pada sistem yang menerapkan sistem proteksi, rutin kernel sistem operasi berjalan dalam modus kernel, tempat seluruh instruksi prosesor dapat dieksekusi secara legal. Rutin-rutin dari program aplikasi berjalan dalam modus user di mana hanya/tidak seluruh instruksi prosesor dapat dieksekusi secara legal. Instruksi seperti pengaksesan peranti I/O tidak dapat dieksekusi jika prosesor dalam modus user. Perpindahan dari modus kernel ke user ataupun sebaliknya hanya terjadi dengan trap, semacam sinyal interupsi perangkat lunak ke prosesor. Sebelum trap dilakukan, parameter-parameter yang mengidentifikasi rutin sistem operasi yang hendak dipanggil (nomor system call) beserta argumennya harus disalinkan ke register prosesor. Instruksi seperti ini umumnya ditulis dalam bahasa assembly. Jadi umumnya pustaka API yang berisi instruksi trap, terdiri atas sebagian kode bahasa C dan sebagian lagi kode assembly. Proses pemanggilan rutin sistem operasi menggunakan system call diperlihatkan Pada Gambar 2.11.


Gambar 2.11 Prosedur pemanggilan rutin sistem operose lewat system call

Pada gambar diilustrasikan pemanggilan system call read unfuk membaca berkas. Pertama, program aplikasi memanggil rutin read (1) yang disediakan oleh pustaka API. Isi dari tutin read adalah mengisi ke register nomor system call yang berkaitan dengan rutin read lalu melakukan fungsi trap. Ketika trap terjadi maka akan dilakukan perpindahan modus eksekusi dari modus user ke modus kernel (2). Ketika berpindah ke modus kernel, komponen sistem operasi yang disebut dengan dispatch, akan memeriksa nomor system call yang disalin ke register lalu memeriksa rutin penanganannya di suatu tabel rutin interupsi (IST, Interrupt Service Table) (3). Selanjutnya rutin penanganan system call (ISR, interrupt Service Routine) akan dieksekusi (4). Setelah selesai, modus eksekusi dikembalikan ke modus user, dan kontrol eksekusi kembali lagi ke rutin pustaka API (5). Jika seluruh instruksi dalam read sudah dieksekusi, kontrol eksekusi dikembalikan ke program aplikasi (6).
Skenario trap dapat dianalogikan dengan mekanisme penarikan uang tunai di bank. Kita sebagai pelanggan (ibaratnya program aplikasi yang meminta layanan penarikan uang tunai, tidak dapat mengambil uang kita yang ada di brankas bank. Yang diperlukan adalah mengisi slip penarikan (ibarat pemanggilan pustaka API dengan mengisi nomor system call dan parameternya), dan menyerahkannya (sinyal trap) ke kasir (ibaratnya sebagai dispatcher). Kasir yang kemudian melakukan pengambilan uang di brankas (ibaratnya melakukan rutin sistem operasi).
Sejumlah layanan yang diberikan oleh sistem operasi Lewat system call pustaka API antara lain:

1. Penciptaan dan penghentian proses
Eksekusi suatu program diawali dengan penciptaan proses. Berkas kode instruksi program aplikasi umumnya disimpan pada media penyimpan sekunder. Ketika suatu program akan dieksekusi, seluruh ataupun sebagian kode instruksi program tersebut disalinkan ke memori, kemudian instruksi dieksekusi satu persatu oleh prosesor. Sistem operasi menyediakan antarmuka dan layanan untuk mengeksekusi program yang diminta oleh pengguna maupun program aplikasi. Seluruh aktivitas penyalinan kode program ke memori utama, eksekusi kode serta pemberhentian eksekusi difasilitasi oleh sistem operasi. Pengguna hanya butuh menentukan lokasi file program yang akan dieksekusi. Di UNIX ada system call bernama fork() dan execve() untuk menciptakan proses baru. Di windows ada fungsi CreateProcess() untuk melakukan hal serupa' untuk penghentian proses, digunakan system call exit() di UNIX, ataupun ExitProcess() di windows. Selain itu masih banyak system call lain yang berkaitan dengan pengelolaan proses seperti waitpid(), atau WaitForSingleObject() untuk operasi sinkronisasi proses.

2. Pengaksesan terhadap sistem berkas
Data-data keluaran program aplikasi maupun kode-kode instruksi program disimpan sebagai berkas pada media penyimpan sekunder seperti harddisk (umumnya magnetic disk), flash disk, CDROM, ataupun floppy disk. Gambar 2.12 menunjukan hierarki penataan sistem berkas pada keluarga sistem operasi windows. Media penyimpan seperti floppy disk dikelola sebagai suatu volume atau drive A. Sedangkan partisi-partisi dari harddisk dikelola sebagai driveC dan D dan F pada contoh diatas. Media optis seperti CDROM/DVDROM dikelola sebagai drive E. Pada setiap volume, berkas-berkas dikelompokkan dalam direktori-direktori sehingga membentuk suatu hierarki berkas.


Gambar 2.12 Hierarki sistem berkas pada sistem operasi Windows

Gambar 2.13 menunjukan contoh hierarki sistem berkas pada sistem operasi turunan UNIX. Pada sistem operasi UNIX, seluruh sistem. Berkas dari berbagai media (floppy,CDROM, disk) dikelola dalam satu hierarki tunggal dibawah direktori root(/). Sistem berkas dari suatu. media missalnya floppy disk ataupun CDROM, dapat dipasang atau dilepas dari hierarki dengan system call mount() ataupun umount(). Pada contoh gambar, diilustrasikan penggabungan sistem berkas floppy disk dengan mengasosiasikannya ke direktori mnt pada hierarki. Hal ini dapat dilakukan dengan perintah mount(‘dev/fd0’, ‘/mnt’,0). Semua media penyimpan diperlakukan sebagai subdirektori pada hierarki tunggal sistem berkas
UNIX.

Gambar 2.13 Hierarki sistem berkas pada sistem operasi Linux

System call memberikan pula layanan seperti membuka atau menutup berkas, mengubah nama, serta menghapus berkas. Selain itu, system call memberikan layanan pengelolan direktori seperti membuat, menghapus, dan mengubah nama direktori.
Untuk operasi I/O seperti pencetakan ke printer ataupun pembacaan dari scanner, UNIX memperlakukan peranti I/O sebagai suatu berkas, sedangkan pada sistem operasi Windows memperlakukan masing-masing peranti sebagai objek khusus. Misalkan pada UNIX, pencetakan data ke printer dapat dilakukan dengan perintah untuk menulis ke berkas printer yang berada dilokasi ‘/dev/lp’. Abstraksi semacam ini menghindarkan pemrogram dari kompleksitas beragam peranti I/O yang terhubung ke komputer.

3. Layanan lainnya

Layanan lain yang disediakan oleh sistem operasi lewat system call antara lain membaca waktu, mengirimkan sinyal ke sistem, mengubah direktori aktif. Pada sistem operasi Windows terdapat pula banyak system call untuk menciptakan elemen antarmuka grafis seperti Windows, warna, garis dan sebagainya.