Kamis, 24 November 2022

OPERATING SYSTEM

 OPERATING SYSTEM

I. PENGENALAN SISTEM OPERASI

Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. 
Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.

A. Definisi Sistem Operasi

Sistem komputer pada dasarnya terdiri dari empat komponen utama, yaitu perangkat keras, program aplikasi, system operasi, dan para pengguna. Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta para pengguna. Sistem operasi berfungsi ibarat pemerintah dalam suatu negara, dalam arti membuat kondisi komputer agar dapat menjalankan program secara benar. Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber daya. Sistem operasi juga sering disebut resource allocator. Satu lagi fungsi penting sistem operasi adalah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dari penggunaan komputer yang tidak perlu.

B. Layanan Sistem Operasi

Sebuah sistem operasi yang baik menurut Tanenbaum, harus memiliki layanan sebagai seperti : 
1. Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program. 

2. Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkatparangkat masukan/keluaran dan berkas harus diinisialisasi, serta sumber-daya yang ada harus disiapkan, semua itu harus ditangani oleh sistem operasi.

3. Pengaksesan I/O Device, artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali agar pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi.

4. Pengaksesan terkendali terhadap berkas, yang artinya disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan terhadap berkas. 

5. Pengaksesan sistem, artinya pada pengaksesan digunakan bersama (shared system). 

6. Fungsi pengaksesan, yaitu menyediakan proteksi terhadap sejumlah sumber-daya dan data dari pemakai serta menyelesaikan konflik-konflik dalam perebutan sumber-daya. 

7. Deteksi dan pemberian tanggapan pada kesalahan, yaitu jika muncul permasalahan muncul pada sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan. 

8. Akunting, yang artinya sistem operasi harus bisa mengumpulkan data statistik penggunaan beragam sumber-daya dan memonitor parameter kinerjanya. 

C. Struktur Komputer

Struktur komputer didefinisikan sebagai cara-cara dari setiap komponen yang saling terkait. Struktur sebuah komputer secara sederhana, dapat digambarkan dalam diagram blok pada gambar dibawah.

Struktur sebuah sistem komputer dapat dibagi menjadi: 

1. Sistem Operasi Komputer 

Dewasa ini sistem komputer multiguna terdiri dari CPU (Central Processing Unit), serta sejumlah device controller yang dihubungkan melalui bus yang menyediakan akses ke memori. Setiap device controller bertugas mengatur perangkat yang tertentu (contohnya disk drive, audio device, dan video display). CPU dan device controller dapat dijalankan secara bersamaan, namun demikian diperlukan mekanisme sinkronisasi untuk mengatur akses ke memori.

2. Struktur I/O

Bagian ini akan membahas struktur I/O, interupsi I/O, dan DMA, serta perbedaan dalam penanganan interupsi.

a. Interupsi I/O
Untuk memulai operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan. Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai. Sehingga proses I/O dan proses pengguna dapat dijalankan secara bersamaan.

b. Struktur DMA 
Direct Memory Access (DMA) suatu metoda penanganan I/O dimana device controller langsung berhubungan dengan memori tanpa campur tangan CPU. Setelah men-set buffers, pointers, dan counters untuk perangkat I/O, device controller mentransfer blok data langsung ke penyimpanan tanpa campur tangan CPU. DMA digunakan untuk perangkat I/O dengan kecepatan tinggi. 

3. Struktur Penyimpanan

Program komputer harus berada di memori utama (biasanya RAM) untuk dapat dijalankan. Memori utama adalah satu-satunya tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. 

Idealnya program dan data secara keseluruhan dapat disimpan dalam memori utama secara permanen. Namun demikian hal ini tidak mungkin karena ukuran memori utama relatif kecil untuk dapat menyimpan data dan program secara keseluruhan.  

Memori utama juga bersifat volatile, sehingga tidak bisa menyimpan secara permanen dan apabila komputer dimatikan maka data yang tersimpan di memori utama akan hilang.

a. Memori Utama
Hanya memori utama dan register merupakan tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan dieksekusi harus disimpan di memori utama atau register. Untuk mempermudah akses perangkat I/O ke memori, pada arsitektur komputer menyediakan fasilitas pemetaan memori ke I/O. Dalam hal ini sejumlah alamat di memori dipetakan dengan device register. Membaca dan menulis pada alamat memori ini menyebabkan data ditransfer dari dan ke device register. Metode ini cocok untuk perangkat dengan waktu respon yang cepat seperti video controller.

b. Magnetic Disk 
Magnetic Disk berperan sebagai secondary storage pada sistem komputer modern. Magnetic Disk disusun dari piringan-piringan seperti CD. Kedua permukaan piringan diselimuti oleh bahan-bahan magnetik. Permukaan dari piringan dibagi-bagi menjadi track yang memutar, yang kemudian dibagi lagi menjadi beberapa sektor. 

II. STRUKTUR SISTEM OPERASI

Sistem komputer modern yang semakin kompleks dan rumit memerlukan sistem operasi yang dirancang dengan sangat hati-hati agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi. Pada kenyataannya tidak semua sistem operasi mempunyai struktur yang sama. Namun menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:

A. Manajemen Proses

Proses adalah keadaan ketika sebuah program sedang dieksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses, seperti:
1. Pembuatan dan penghapusan proses pengguna dan sistem proses. 
2. Menunda atau melanjutkan proses. 
3. Menyediakan mekanisme untuk proses sinkronisasi. 
4. Menyediakan mekanisme untuk proses komunikasi. 
5. Menyediakan mekanisme untuk penanganan deadlock.

B. Manajemen Memori Utama

Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. 
Memori Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan. 
Sistem operasi bertanggung jawab atas aktivitasaktivitas yang berkaitan dengan managemen memori seperti:
1. Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya. 
2. Memilih program yang akan di-load ke memori. 
3. Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan. 

C. Manajemen Secondary Storage

Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage yang bersifat permanen dan mampu menampung banyak data.  
Contoh dari secondary-storage adalah harddisk, disket, dll. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan disk-management seperti: free-space management, alokasi penyimpanan, penjadualan disk.

D. Manajemen Sistem I/O

Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). 
Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM, dan floppy disk. Komponen Sistem Operasi untuk sistem I/O: 
1. Buffer: menampung sementara data dari/ ke perangkat I/O. 
2. Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.). 
3. Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.

E. Manajemen Berkas

Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi bertanggung-jawab: 
1. Pembuatan dan penghapusan berkas. 
2. Pembuatan dan penghapusan direktori. 
3. Mendukung manipulasi berkas dan direktori. 
4. Memetakan berkas ke secondary storage. 
5. Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).

F. Sistem Proksi

Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus: 
1. Bisa membedakan antara penggunaan yang sudah diberi izin dan yang belum. 
2. Bisa menentukan pengontrolan yang akan dilakukan terhadap sumber daya. 
3. Bisa memberikan punishment terhadap kesalahan yang terjadi.

G. Jaringan

Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori atau clock. Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi. Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut dapat menyebabkan: 
1. Meningkatnya proses komputasi. 
2. Meningkatnya ketersediaan data. 
3. Meningkatnya kehandalan. 

H. Command Interpreter System

Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter, dan UNIX shell. 
 Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.

I. Layanan Sistem Operasi 

Sistem operasi memberikan layanan sebagai berikut;
1. Eksekusi program, yaitu kemampuan sistem untuk "load" program ke memori dan menjalankan program. 
2. Operasi I/O, yaitu sistem operasi harus menyediakan mekanisme untuk melakukan operasi I/O atas nama pengguna. 
3. Sistem manipulasi, berkas yaitu kemampuan program untuk operasi pada berkas (membaca, menulis, membuat, and menghapus berkas). 
4. Komunikasi, yaitu pertukaran data/informasi antar dua atau lebih proses yang berada pada satu komputer (atau lebih). 
 5. Deteksi error yaitu menjaga kestabilan sistem dengan mendeteksi "error" pada perangkat keras mau pun operasi. 

Dalam efesiensi penggunaan sistem, sistem operasi memberikan pelayanan: 
1. Resource allocator, yaitu SO mengalokasikan sumber daya ke beberapa pengguna atau job yang jalan pada saat yang bersamaan. 
2. Proteksi yaitu SO menjamin akses ke sistem sumber daya dikendalikan (pengguna dikontrol aksesnya ke sistem). 
3. Accounting yaitu SO merekam kegiatan pengguna dan jatah pemakaian sumber daya (berdasarkan prinsip keadilan atau kebijaksanaan).

J. System Calls

System call menyediakan interface antara program (program pengguna yang berjalan) dan bagian OS. System call menjadi jembatan antara proses dan sistem operasi. System call ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang dapat mengendalikan mesin (Bahasa C).
 Contoh: UNIX menyediakan system call: read, write => operasi I/O untuk berkas. Sering pengguna program harus memberikan data (parameter) ke OS yang akan dipanggil. 
Contoh pada UNIX: read(buffer, max_size, file_id);

K. Mesin Virtual 

Mesin Virtual/Virtual Machine (VM) adalah sebuah mesin yang mempunyai dasar logika yang menggunakan pendekatan lapisan-lapisan (layers) dari sistem komputer. Sehingga sistem komputer dengan tersendiri dibangun atas lapisan-lapisan tersebut, dengan urutan lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah sebagai berikut: 
1. Perangkat keras (semua bagian fisik komputer) 
2. Kernel (program untuk mengontrol disk dan sistem file, multi-tasking, load-balancing, networking dan security) 
3. Sistem program (program yang membantu general user) 

Kernel yang berada pada lapisan kedua ini, menggunakan instruksi perangkat keras untuk menciptakan seperangkat system call yang dapat digunakan oleh komponen-komponen pada level sistem program. 

Sistem program kemudian dapat menggunakan system call dan perangkat keras lainnya seolah-olah pada level yang sama. Meskipun sistem program berada di level tertinggi, namun program aplikasi bisa melihat segala sesuatu pada tingkatan di bawahnya seakan-akan mereka adalah bagian dari mesin. Pendekatan dengan lapisanlapisan inilah yang kemudian menjadi kesimpulan logis pada konsep Virtual Machine. 

L. Perancangan Sistem dan Implementasi

Target untuk pengguna sebuah sistem operasi harus nyaman digunakan, mudah dipelajari, dapat diandalkan, aman dan cepat. Sedangkan target untuk sistem, sebuah sistem operasi harus gampang dirancang, diimplementasi, dan dipelihara, sebagaimana fleksibel, error, dan efisien. 

Sebuah Sistem Operasi mempunyai mekanisme dan kebijaksanaan: 
1. Mekanisme menjelaskan bagaimana melakukan sesuatu kebijaksanaan memutuskan apa yang akan dilakukan. Pemisahan kebijaksanaan dari mekanisme merupakan hal yang sangat penting, ini mengizinkan fleksibilitas yang tinggi bila kebijaksanaan akan diubah nanti. 
2. Kebijaksanaan memutuskan apa yang akan dilakukan. Pemisahan kebijaksanaan dari mekanisme merupakan hal yang sangat penting, ini mengizinkan fleksibilitas yang tinggi bila kebijaksanaan akan diubah nanti. 

Implementasi Sistem biasanya menggunakan bahasa assembly, sedangkan sistem operasi sekarang dapat ditulis dengan menggunakan bahasa tingkat tinggi. Kode yang ditulis dalam bahasa tingkat tinggi dapat dibuat dengan cepat, lebih ringkas, lebih mudah dimengerti dan di-debug. Sistem operasi lebih mudah dipindahkan ke perangkat keras yang lain bila ditulis dengan bahasa tingkat tinggi.

M. System Generation

Sistem operasi dirancang untuk dapat dijalankan diberbagai jenis mesin yang mana setiap sistemnya harus dikonfigurasi untuk tiap komputer. Program SYSGEN mendapatkan informasi mengenai konfigurasi khusus dari sistem perangkat keras, seperti: 
1. Booting, yaitu memulai komputer dengan me-load kernel. 
2. Bootstrap program, yaitu kode yang disimpan di code ROM yang dapat menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya. 

Sumber :
Watrianthos, Ronal; Purnama, Iwan. (2018). Buku Ajar Sistem Operasi. Ds. Sidoarjo, Kec. Pulung, Kab. Ponorogo. Uwais Inspirasi Indonesia

Tidak ada komentar:

Posting Komentar

Jurnal Perkuliahan 3 Jaringan Komputer

 Kabel Unshielded Twisted Pair (UTP)      Unshielded twisted-pair (disingkat UTP) adalah sebuah jenis kabeljaringan yang menggunakan bahan ...