Pengenalan Sistem Operasi
Sebuah sistem operasi adalah sebuah software yang menggunakan resources dari hadrware yang berupa satu atau lebih processor dalam komputer untuk menyediakan berbagai services atau jasa untuk sistem user (end user). Operating sistem juga bertanggung jawab untuk memanage secondary memory dan Input Output devices sesuai dengan apa yang diinginkan
Perlu diketahui apa saja elemen - elemen dasar dari sebuah operating sistem yaitu :
- Processor
untuk mengontrol kegiatan dari komputer dan menyediakan data processing function.
biasa disebut sebagai CPU (Central Processing Unit) - Main Memory
merupakan tempat penyimpanan data dan program, bersifat volatile dan biasa
direferensikan sebagai real memory atau primary memory atau RAM. - I/O Modules
alat - alat atau modul - modul untuk perpindahan data antara komputer dan
lingkungan eksternal yang terdiri dari berbagai jenis devices dan terminal. - System Bus
merupakan sistem jalur yang menyediakan arus komunikasi antara processor, main
memory, dan I/O modul.
Setelah mengetahui komponen - komponen dasar dari sebuah komputer, dalam sebuah komputer perlu diketahui juga cara sebuah komputer mengeksekusi perintah atau command dari luar agar diproses. Oleh karena itu, kita mengenal yang namanya Arsitektur Komputer.
Secara garis besar, alur instruksi dasar dalam sebuah komputer seperti gambar:
Sebuah instruksi akan memasuki tahap start lalu menuju ke tahap fetch untuk dieksekusi dan jikalau telah selesai akan berhenti, namun dalam process execute , bisa saja perintah tadi dibawa lagi ke fetch agar diproses kembali.
Untuk tahap eksekusi perintah diatas, dikenal juga adanya proses Pipelining (berlangsung satu eksekusi perintah dalam satu satuan waktu, seperti linier dan tidak bisa balik ke tahap selenjutnya). Namun ada juga yang berupa Superscalar yaitu masing - masing fetch unit akan dimasukkan bersama dalam sebuah penampung agar diurutkan, fetch mana yang akan dijalankan duluan.
Terdapat beberapa elemen yang bekerja di dalam proses fetch dan execute. Elemen - elemen tersebut adalah :
- PC (Program Counter)
yang bertugas untuk men-track instruksi selanjutnya yang akan dieksekusi (menambah
count) dan akan ditempatkan instruksi tadi ke dalam IR (instruction register)
- AC (Accumulator)
kerjanya untuk menambah / mengeksekusi data yang dimiliki dalam sebuah memory yang
sedang diakses.
- IR (Instruction register)
tempat penyimpanan perintah atau instruksi yang akan dijalankan.
- MAR (Memory Address Register)
adalah tempat penyimpanan yang menyimpan alamat memory yang mengandung
potongan data selanjutnya atau sebuah instruksi atau perintah yang akan dilaksanakan.
- MBR (Memory Buffer Register)
tempat register penyimpanan sementara isi atau value memory dari alamat yang
dimiliki oleh MAR.
- I/O AR (Input Output Address Register)
menspesifikasikan perangkat input / output yang akan diakses.
- I/O BR (Input Output Buffer Register)
menyimpan data yang akan dituliskan ke dalam sebuah port dengan alamat dari
I/O AR.
Gambar diatas menjelaskan bahwa untuk process fetch pertama kali, PC akan mencatat alamat memory yang akan diakses dan value dari memory yang ditunjuk alamat tadi akan disimpan di IR. Value di IR akan diambil untuk dijadikan alamat yang menunjuk alamat memory lain yang berisi value baru. AC bertugas mengambil value tersebut lalu menyimpannya. Setelah itu, PC akan diincrement sehingga menunjuk ke alamat memory yang baru dengan isi data yang berbeda untuk diprose oleh AC. Pada akhirnya, hasil perhitungan tadi akan disimpan kembali dalam sebuah alamat memory oleh AC.
Setelah mengetahui proses sebuah perintah di eksekusi di dalam komputer, muncul pula yang namanya interupsi atau gangguan karena adanya proses pengeksekusian perintah tersebut.
Jenis - Jenis Interupsi :
- Program
Jenis interupsi karena adanya kondisi yang kurang tepat dalam eksekusi perintah contoh : Arithmetic overflow, Division by zero, illegal machine instruction, references outside allowed memory space. - Timer
Interupsi yang dihasilkan oleh timer dalam processor - I/O
Jenis interupsi yang dihasilkan oleh Input Output controller, berupa signal yang mengandung makna tertentu. - Hardware Failure
Jenis interupsi karena kegagalan hardware.
Berikut gambar untuk proses eksekusi perintah dengan interupsi.
Salah satu komponen yang penting dalam proses pengeksekusian perintah adalah memory.
Memory dalam hal ini berarti adalah tempat untuk menyimpan sementara data yang akan diproses maupun data yang telah diproses untuk penyimpanan.
Hirarki dari memory itu sendiri adalah
Salah satu jenis memory yang sering digunakan untuk buffer temporary data sebelum disimpan ke dalam disk adalah Cache Memory.
Mengapa cache memory digunakan ?? Karena cache memory lebih dekat dengan CPU jika dilihat dari arsitekturnya. Tugas cache memory seperti penyimpanan informasi sementara yang biasanya diakses oleh Processor dari memory, sehingga jika data yang akan diakses oleh processor tersebut telah ada sebelumnya dalam cache memory, main memory tidak perlu mengirimkan secara langsung data tersebut ke processor, cukup cache memory yang mengirimkannya sehingga process komputesi menjadi lebih cepat ketimbang tanpa cache memory.
3 Tipe Cache Memory
- L1
Berupa built in dalam CPU. contoh Intel Pentium memiliki 16 K cache memory
- L2
Merupakan fast access memory (SRAM) yang terletak antara CPU dan Main Memory.
- L3
Umumnya diketahui sebagai High Access Memory yang terletak diantara Motherboard dan CPU.
Setelah memngetahui proses yang terjadi dalam komputer kita saat mengeksekusi sebuah perintah atau program, kembali dapat menjadi bahan pertanyaan yaitu, Sebenarnya Operating System diciptakan untuk apa ??
Operating System adalah sebuah program yang mengendalikan proses eksekusi dari aplikasi dan merupakan jembatan antara aplikasi (software) dan hardware (Interface) dan memiliki tujuan atau goal sebagai berikut :
- Kenyamanan (Convenience)
Operating system akan membuat sebuah hardware (komputer) lebih nyaman untuk digunakan dengan berbagai tampilan yang eye catching dan fungsi - fungsi yang mudah untuk digunakan.
- Efisiensi
Membuat komputer resources digunakan seefisien mungkin sehingga komputer dapat bekerja mencapai performa maksimalnya.
- Kemampuan untuk berevolusi (Ability to evolve)
Sebuah OS perlu kemampuan untuk berkembang menyesuaikan dengan perkembangan jaman dan teknologi sehingga tetap laku dipasaran dan mempunyai fitur - fitur yang membuat user lebih nyaman memakainya.
- Program development
- Program execution
- Access to I/O devices
- Controlled access to file
- System access
- Error detection and response
- Accounting
- Instructioin set of architecture
- Application binary interface
- Application programming interface
Komputer yang kita kenal sekarang yang begitu canggih pun merupakan evolusi dari komputer - komputer sebelumnya. Berikut sejarahnya
Serial Processing (late 1940 - mid 1950)
Pada jaman ini belum ditemukan OS oleh karena itu, programmer langsung berinteraksi
dengan hardware secara langsung. Masalah yang dihadapi saat itu adalah tentang
Scheduling dan Setup time
dengan hardware secara langsung. Masalah yang dihadapi saat itu adalah tentang
Scheduling dan Setup time
Simple Batch System (mid 1950)
Konsep Batch OS mulai dikembangkan oleh General Motors untuk digunakan di IBM 701.
Meskipun OS sudah mulai digunakan untuk mempermudah penggunaan komputer,
penggunyanya masih ingin hal - hal seperti : Memory protection, Timer, Priviledge
Instruction dan Interrupts sehingga konsep ini masih akan dikembangkan.
Meskipun OS sudah mulai digunakan untuk mempermudah penggunaan komputer,
penggunyanya masih ingin hal - hal seperti : Memory protection, Timer, Priviledge
Instruction dan Interrupts sehingga konsep ini masih akan dikembangkan.
Job Control Language (JCL)
Konsep ini dikenalkan dengan penggunaan bahasa pemrograman khusus dan mampu
menyediakan perintah ke monitor berupa kompiler apa yang harus digunakan ?
data apa yang perlu digunakan ?
menyediakan perintah ke monitor berupa kompiler apa yang harus digunakan ?
data apa yang perlu digunakan ?
Uniprogramming
Konsep OS ini adalah linier processing atau processor harus menunggu perintah
Input / Outpu selesai dikerjakan lalu processor dapat melanjutkan pekerjaannya.
Input / Outpu selesai dikerjakan lalu processor dapat melanjutkan pekerjaannya.
Multiprogramming
Operating system ini merupakan evolusi dari uniprogramming yang telah support
multiprocess seperti contoh : jika ada salah satu jon yang harus menunggu hasil dari
Input / Output, processor dapat switch ke proses yang lain , sehingga tidak ada antrian
multiprocess seperti contoh : jika ada salah satu jon yang harus menunggu hasil dari
Input / Output, processor dapat switch ke proses yang lain , sehingga tidak ada antrian
panjang , dan lebih cepat dari uniprogramming.
Time Sharing
Operating system yang lebih canggih dari multiprogramming (Batch Multiprogramming)
yang menekankan pada minimalisasi respon time, dan perintah - perintah di masukkan
yang menekankan pada minimalisasi respon time, dan perintah - perintah di masukkan
lewat terminal.
Dalam operating system yang baik, memory management adalah hal yang harus dipertimbangkan agar penggunaan resources komputer dapat seefisien mungkin sesuai dengan goal dari operating system.
Memory itu sendiri memiliki prinsip management storage.
Proses terpisah
Alokasi dan management memory secara otomatis
Mendukung programming modular
Access kontrol dan keamanan
Penyimpanan jangka panjang
Sementara, kita sering mendengar kata virtual memory. Namun apa itu virtual memory ?
Virtual memory adalah memory bayangan atau dapat dibilang memory yang dibuat secara logical / software yang membantu process pengolahan data dan dapat dibuat dari space hard disk penyimpanan kita. Virtual memory membantu programmer untuk menunjuk memory dari sudut pandang logical dan membantu melancarkan eksekusi process.
Masalah security merupakan hal yang patut diperhatikan dari sebuah OS. Pada umunya masalah security yang berkaitan dengan OS adalah :
- Availability (sistem perlindungan terhadap interupsi)
- Confidentiality (user hanya mengakses hak aksesnya)
- Data integrity (melindungi data yang ada, dari modifikasi pihak tak dikenal)
- Authenticity (berbicara soal verifikasi dan validase)
- Fairness : Tiap proses yang ingin minta resources diberikan seperty yang dialokasikan
- Diferential responsive : respon yang dinamis sesuai pola yang seing terjadi.
- Efisien : memaksimalkan throughput, mengurangi waktu response.
File System
File system adalah sebuah system yang mengorganisir file dan mengatur access menuju data. Konsern pertama dari file system adalah memanage penyimpanan secondary (disk storage).Meta data dalam file system meliputi
- Informasi mengenai Owner dan group
- Time
- Permission
- UFS (Unix File System)
- EXT2
- FAT32
- HFS+
- Elephant FS
Tipe - tipe object dalam sebuah file system :
File regular
Adalah sebuah file yang bisa berbentuk atau berekstention apa saja
Direcktori
Adalah sebuah file yang mengandung satu atau lebih file / object di dalamnya dan
dapat diatur file - file didalamnya berdasarkan hierarchy.
Link
Adalah sebuah tautan atau shortcut program maupun file ataupun direktori yang
mempermudah kita untuk mengakses file tersebut. Terdiri dari 2 jenis yaitu
Softlink dan Hardlink.
Saat dibuat sebuah link di suatu tempat tertentu, jika menggunakan softlink
saat dihapus file shortcutnya, file aslinya juga akan ikut terhapus, namun
tidak berlaku untuk hardlinks.
Special file
Sebuah file yang tidak mengandung data didalamnya, namun digunakan untuk mapping
physical device atau menyediakan services untuk file system.
Named Pipes
Merupakan tipe special file yang bukan menunjuk pada blok memory, melainkan
langsung menunjuk ke struktur dalam memory.
Command - command dalam file operation : create, delete, open, close, read, write, append, seek,
get attributes, setattributes, rename.
Command - command dalam directory operation
create, delete, opendir, closedir, readdir, rename, link, unlink.
File Special
Named Pipes
Process & Threads
Process adalah sebuah atau gabungan dari beberapa aktifitas termasuk eksekusi sebuah program, sebuah instance dari program yang berjalan di komputer maupun sebuah entitas yang dapat di assign untuk dieksekusi dalam sebuah processor. Proses berbeda dengan program karena program adalah kumpulan instruksi untuk melakukan sebuah tugas sementara process adalah eksekusi dari sebuah program.2 state process model terdiri dari
State transition diagram & Queueing diagram
Awal dan akhir dari sebuah process dapat disebut juga dengan Process creation dan Process termination. Process creation terjadi saat process baru ditambah ke dalam process yang sedang berjalan atau sedang di manage, sementara process termination terjadi saat sebuah proses telah selesai dikerjakan.
Salah satu process model adalah Five state process model.
Masalah yang sering muncul adalah Suspended proses yaitu ada proses yang mengantri untuk dapat mengakses memory sehingga dapat berjalan semestinya. Ada 2 status orang yang tertinggal
Binus & Sky Connectiva
Tidak ada komentar:
Posting Komentar