Sabtu, 20 Oktober 2018

Istilah-istilah dari Sistem Operasi dan contohnya

Jika Anda ingin membeli sebuah perangkat komputer maupun laptop, maka OS ini menjadi penting untuk diperhatikan. Sebab OS memiliki fungsi penting bagi kinerja komputer/ laptop tersebut. Kali ini saya tidak akan membahas tentang fungsi OS secara luas, namun saya akan memaparkan beberapa istilah yang ada pada Sistem Operasi ( Operating Systems ), Karena istilah yang ada pada Sistem Operasi itu sungguh jumlahnya sangat banyak. Maka saya hanya memilih beberapa istilah saja :D
Berikut beberapa istilah yang ada pada system operasi beserta contoh.

Batch System



Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara perkelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan.
Jadi bisa disimpulkan, bahwa komputer generasi ke-2 ini merupakan generasi pertama Sistem Operasi.

Ada 2 cara dalam Batch System yaitu :
1.     Resident Monitor
a.  Operator bertugas mengatur urutan job
b.  Job-job yg sama cukup dicetak sekali saja, cara inilah yg disebut “Batch system”

Teknik pengurutan job secara manual ini akan menyebabkan tingginya waktu
menganggur CPU. Muncul teknik pengurutan job otomatis yg mampu mentransfer secara otomatis dari suatu proses ke proses lainnya.Program kecil dan bersifat residen dimemori serta berisi urutan-urutan job yg akan berpindah secara otomatis, inilah “Resident Monitor”

2.      Overlap Operasi antara I/O dg CPU
a. Off line processing, data yang dibaca dari card reader disimpan dulu dalam tape driver sebelum dibawa ke CPU, demikian pula informasi yang mau dicetak, disimpan dulu di tape.
b. Spooling adalah suatu program dapat dikerjakan walaupun I/O masih mengerjakan proses lainnya dan disk secara bersamaan menggunakan data untuk n=banyak proses.

Contoh :
Contoh dari penggunaan Batch processing adalah e-mail dan transaksi batch processing. Dalam suatu sistem batch processing, transaksi secara individual dientri melalui peralatan terminal, dilakukan validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut dan kemudian digunakan untuk meng-up date master file yang berkaitan.

Contoh Real-time processing
Sebuah contoh aplikasi beberapa sistem real-time dalam elektronik konsumen adalah: set-top box, peralatan audio,
telepon Internet, oven microwave, mesin cuci cerdas, sistem keamanan rumah, AC dan
pendinginan, mainan, dan ponsel.


Critical Section
Critical Section

Critical section adalah sebuah segmen kode dimana sebuah proses yang mana sumber daya bersamaan diakses.
Critical section terdiri dari :
Entry section, yang digunakan untuk masuk ke dalam critical section
Exit Section, kode dimana hanya ada satu proses yang dapat dieksekusi pada satu waktu
Remainder Section, kode istirahat setelah masuk ke critical section

Solusi dari critical section harus memenuhi 3 syarat, yaitu:
a. Mutual Exclusion
b. Terjadi Kemajuan (Progress)
c. Ada batas waktu tunggu (bounded waiting)

1. Mutual Exclusion.
Jika suatu proses sedang menjalankan critical section-nya, maka proses-proses lain tidak dapat menjalankan critical section mereka. Dengan kata lain, tidak ada dua proses yang berada di critical section pada saat yang bersamaan.

2. Terjadi kemajuan (progress).
Jika tidak ada proses yang sedang menjalankan critical section-nya dan ada proses-proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang yang sedang berada dalam entry section saja yang dapat berkompetisi untuk mengerjakan critical section.

3. Ada batas waktu tunggu (bounded waiting).
Jika seandainya ada proses yang sedang menjalankan critical section, maka proses lain memiliki waktu tunggu yang ada batasnya untuk menjalankan critical section-nya, sehingga dapat dipastikan bahwa proses tersebut dapat mengakses critical section-nya (tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan).

Contoh Critical Section :

Printer, Barisan Program & File



Process Control Block
PCB Layout


Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Process control block

Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block PCB - juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini:

  1. Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
  2. Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
  3. 3.CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register  tersebut termasuk accumulator , indeks register, stack pointer , general-purposes register , ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (lihat Gambar 2-3).
  4. 4.Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (lihat Bab Managemen memori).
  5. Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.
  6. Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.
  7. PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.



Elemen-elemen dari Process Control Block (PCB) :
  1. Identifier : menjelaskan proses yang sedang terjadi
  2. State : kondisi yang terjadi pada proses
  3. Priority : urutan perintah yang jelas pad suatu proses
  4. Program counter : instruksi pada proses
  5. Memory pointers : media penyimpanan (penunjuk alamat) pada proses
  6. Context data : data yang berkaitan dengan proses
  7. I/O status information : terdapat masukan dan keluaran yang diinginkan
  8. Accounting information : memberikan informasi yang dibutuhkan

Macam-Macam Jenis Status Proses

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
  1. Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya
  2. Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor
  3. Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
Contoh :

Distributed Processing


Komputasi terdistribusi adalah suatu sistem pada jaringan komputer yang dihubungkan dengan cara tertentu sehingga tampak seperti satu komputer bagi pemakai individual. Komputasi terdistribusi menggunakan sumber data komputer yang ada dan melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis yang bertujuan untuk memecahkan berbagai macam persoalan komputasi dalam skala besar.

Komputasi terdistribusi mentransformasikan banyak komputer dalam satu jaringan yang dapat digunakan secara efektif seperti halnya sebuah komputer saja, sehingga memaksimalkan penggunaan sumber daya komputasi. Hal ini berarti bahwa setiap klien dalam jaringan dapat mengakses setiap file data yang terdapat dalam jaringan, menjalankan program komputer yang ada dalam jaringan (baik yang ada dalam server maupun yang ada dalam klien).

Komputasi terdistribusi adalah jaringan, tetapi tidak semua jaringan merupakan komputasi terdistribusi. Jaringan hanya akan merupakan sistem komputasi terdistribusi apabila unsur-unsur data, file, dan komputer di dalam jaringan dapat diakses melalui setiap klien berdasarkan nama, bukan berdasarkan lokasi fisik. Ada 2 buah komponen penting dalam komputasi terdistribusi yaitu server atau komputer pusat yang secara konstan menyediakan dan menjalankan program komputer dan database yang dibutuhkan oleh komputer lain di dalam jaringan tersebut serta workstation atau client yang berisi program yang ditempatkan pada server jaringan.

Contoh :
Dalam komputasi terdistribusi, sebuah perusahaan sering berarti menempatkan berbagai langkah dalam proses bisnis tempat yang paling efisien pada jaringan komputer. Sebagai contoh, dalam distribusi khas menggunakan tingkat 3 model, proses antarmuka pengguna yang dilakukan pada PC di lokasi pengguna, bisnis pengolahan dilakukan pada komputer remote dan mengakses database dan pengolahan dilakukan pada komputer lain yang akses terpusat untuk banyak proses bisnis. Biasanya, ini semacam komputasi terdistribusi menggunakan klien/server model komunikasi.




Handheld

Example of Handheld

Handheld computer adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard tersebut diganti dengan electronic pen. Bagaimanapun, electronic pen ini masih bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap pengembangan

Kelebihan dari komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan antara komputer genggam dengan mobile printer. Tidak hanya dengan printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui koneksi Bluetooth.

Komputer genggam dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk bekerja lebih efisien. Komputer genggam yang paling banyak digunakan adalah komputer yang khusus dirancang untuk menyediakan fungsi PIM (Personal Information Manager), seperti kalender, agenda, dan buku alamat.


Contoh :


According to CNet, the top twenty handhelds are: . Garmin iQue 3600 . Palm TX . Palm Tungsten E . Nokia N800 Internet Tablet . Palm Tungsten E2 . Palm Life Drive . Mio DigiWalker H610 . HP iPaq Pocket PC rz1710 . Pharos Traveler GPS 525 . Palm Zire 21 . Mobile Crossing WayPoint 200 . Palm Z22 . Mio digiWalker P550 . Palm Zire . Garmin iQue 3000 . Nokia 770 Internet Tablet . Palm Visor Prism . HP iPaq Pocket PC H3635 . Palm m105 . HP iPaq Pocket PC H3630

Thread

Relationships Thread


Proses merupakan sebuah program yang mengeksekusi thread tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk mengeksekusi multi-threads. Misalnya user melakukan pekerjaan secara bersamaan yaitu mengetik dan menjalankan pemeriksaan ejaan didalam proses yang sama. Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread ID, program counter, register set, dan stack. Sebuah threadberbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaannya ialah proses dengan thread yang banyakmengerjakan lebih dari satu tugas pada satu satuan waktu.

Pada umumnya, perangkat lunak yang berjalan pada komputer modern dirancang secara multithreading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.

Contoh :
Terkadang ada sebuah aplikasi yang perlu menjalankan beberapa tugas yang serupa. Sebagai contohnya sebuah web server dapat mempunyai ratusan klien yang mengaksesnya secara concurrent. Kalau web server berjalan sebagai proses yang hanya mempunyai thread tunggal maka ia hanya dapat melayani satu klien pada pada satu satuan waktu. Bila ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu sampai klien sebelumnya selesai dilayani. Solusinya adalah dengan membuat web server menjadi multi-threading. Dengan ini maka sebuah web server akan membuat thread yang akan mendengar permintaan klien, ketika permintaan lain diajukan maka web server akan menciptakan thread lain yang akan melayani permintaan tersebut [MDGR2006]. 

a. Single thread dan multi thread
1.Single thread: process hanya mengeksekusi satu thread saja pada satu waktu
2.Multi thread: process dapat mengeksekusi sejumlah thread dalam satu waktu

b. Model Multithreading
Dukungan thread disediakan pada tingkat user yaitu user threads atau tingka kernel untuk kernel threads. User Threads disediakan oleh kernel dan diatur tanpa dukungan kernel, sedangkan kernel therads didukung dan diatur secara langusng oleh sistem operasi. Hubungan antara user threads dan kernel threads terdiri dari tiga model relasi, yaitu:
  • Model Many to One: Model Many-to-One memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi, multiple thread tidak dapat berjalan secara paralel pada multiprocessor. Thread tingkat pengguna yang diimplementasi pada sistem operasi yang tidak mendukung thread kernel menggunakan model Many-to-One.

Model Many to One

  • Model One to One: Model One-to-One memetakan setiap thread tingkatan pengguna ke thread kernel. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahannya model ini ialah setiap pembuatan thread pengguna memerlukan pembuatan thread kernel. Karena pembuatan thread dapat menurunkan kinerja dari sebuah aplikasi maka implmentasi dari model ini jumlah thread dibatasi oleh sistem. Contoh sistem operasi yang mendukung model One-to-One ialah Windows NT dan OS/2.
Model One to One

  • Model Many To Many: Model ini me-multipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. thread. Jumlah thread kernel spesifik untuk sebagian aplikasi atau sebagian mesin. Many-to-One model mengizinkan developer untuk membuat user thread sebanyak yang ia mau tetapi concurrency (berjalan bersama) tidak dapat diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu waktu. One-to-One menghasilkan concurrency yang lebih tetapi developer harus hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi (dalam beberapa hal, developer hanya dapat membuat thread dalam jumlah yang terbatas). Model Many-to-Many tidak mengalami kelemahan dari dua model di atas. Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat bejalan secara paralel pada multiprocessor. Dan juga ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi. Contoh sistem operasi yang mendukung model ini adalah Solaris, IRIX, dan Digital UNIX.

Reference :

http://bustami.blogspot.com/2014/04/pengertian-batch-system-multiprograming.html
http://andriansyah.ilearning.me/2015/09/25/perbedaan-batch-processing-dan-metode-realtime-processing/
http://pengertian-istilah.blogspot.com/2014/12/pengertian-critical-section.html
http://www.infomugi.com/2013/07/penjelasan-solusi-critical-section.html
http://femmifirdausahdiat.blogspot.com/2012/09/pcb-process-control-block.html
http://flamekaizer.blogspot.com/2012/09/apa-itu-multi-programming-multi.html
https://id.wikipedia.org/wiki/Handheld_computer
http://mayangadi.blogspot.com/2012/10/konsep-kerja-proses-dan-threads-sistem.html

0 komentar:

Posting Komentar