Kamis, 05 Februari 2015

DEFINISI *timesharing,multiprogramming*

Definisi Timesharing
Time sharing juga disebut sebagai Multitasking, dimana pengertian ini bisa disamakan dengan multiprogramming, hanya saja waktu prosesnya dibatasi. Waktu maksimum yang digunakan CPU disebut quantum time. Keuntungan time sharing adalah tingkat kebersamaannya menjadi tinggi. Time sharing memerlukan pengaturan kerja input dan output. Secara normal, CPU sanggup memproses lebih dari satu data dalam setiap detik. Dimana pada saat itu, input dan output device juga harus siap untuk memberikan data ataupun menerima hasil proses secara cepat. Oleh karena itu diperlukan adanya penjadwalan kerja yang baik. Banyak “switched” yang bisa bekerja secara otomatis untuk mengatur semuanya dalam waktu yang bersamaan.
Time-sharing adalah metode dimana banyak pengguna dapat melakukan processing dalam satu komputer.

Christopher Strachy pada tahun 1959 telah memberikan ide mengenai pembagian waktu yang dilakukan oleh CPU. Baru pada tahun 1961, pertama kali sistem yang benar-benar berbentuk time sharing system dilakukan di MIT (Massachusetts Institute of Technology) dan diberi nama CTSS (Compatible Time Sharing System) yang bisa melayani sebanyak 8 pemakai dengan menggunakan omputer IBM 7090. Pada TSS tiap-tiap User dilayani oleh komputer dengan bergiliran dalam waktu yang sangat cepat. Sehingga tiap pemakai komputer tidak merasa bahwa komputer melayani beberapa pemakai sekaligus secara bergiliran.

Contoh penggunaan Time Sharing System

Salah satu penggunaan time sharing system ini dapat dilihat dalam pemakaian suatu teller terminal pada suatu bank. Bilamana seorang nasabah datang ke bank tersebut untuk menyimpan uang atau mengambil uang, maka buku tabungannya ditempatkan pada terminal. Dan oleh operator pada terminal tersebut dicatat melalui papan ketik (keyboard), kemudian data tersebut dikirim secara langsung ke pusat komputer, memprosesnya, menghitung jumlah uang seperti yang dikehendaki, dan mencetaknya pada buku tabungan tersebut untuk transaksi yang baru saja dilakukan.

Time sharing adalah pengembangan dari sistem multiprogram. Beberapa job yang berada pada memory utama dieksekusi oleh CPU secara bergantian. CPU hanya bisa menjalankan program yang berada pada memory utama. Perpindahan antar job terjadi sangat sering sehingga user dapat berinteraksi dengan setiap program pada saat dijalankan. Suatu job akan dipindahkan dari memori ke disk dan sebaliknya.
Sistem time sharing juga disebut dengan sistem komputasi interaktif, dimana sistem komputer menyediakan komunikasi on-line antara user dengan sistem. User memberikan instruksi pada sistem operasi atau program secara langsung dan menerima respon segera. Perangkat input berupa keyboard dan perangkat output berupa display screen, seperti cathode-ray tube (CRT) atau monitor. Bila sistem operasi selesai mengeksekusi satu perintah, makan sistem akan mencari pernyataan berikutnya dari user melalui keyboard. Sistem menyediakan editor interaktif untuk menulis program dan sistem debug untuk membantu melakukan debugging program.
Agar user dapat mengakses data dan kode program dengan nyaman, system menyediakan sistem file online. Suatu file adalah kumpulan informasi yang berhubungan yang didefinisikan oleh pembuatnya. Biasanya, file berupa program (baik bentuk source dan object) dan data. Data file berupa teks dengan format tertentu. Secara umum, file adalah kumpulan bit, bite, baris atau record. Sistem operasi mengimplementasikan konsep abstrak dari file dengan mengatur perangkat program dengan nyaman, system menyediakan sistem file online. Suatu file adalah kumpulan informasi yang berhubungan yang didefinisikan oleh pembuatnya. Biasanya, file berupa program (baik bentuk source dan object) dan data. Data file berupa teks dengan format tertentu. Secara umum, file adalah kumpulan bit, bite, baris atau record. Sistem operasi mengimplementasikan konsep abstrak dari file dengan mengatur perangkat penyimpan seperti tape dan disk. File secara normal diorganisasikan dalam logical cluster atau directory, untuk memudahkan lokasi dan akses file.

MULTIPROGRAMMING
Multiprogramming adalah suatu metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam waktu yang berlainan.Konsep multiprogramming bisa diibaratkan sebagai pekerja yang tak hanya menangani satu pekerjaan,tetapi juga menangani pekerjaan lain,sehingga tak ada waktu yang terbuang.
Konsep dasar dari multiprogramming ini adalah: suatu proses akan menggunakan CPU sampai proses tersebut dalam status wait (misalnya meminta I/O) atau selesai. Pada saat wait , maka CPU akan nganggur (idle). Untuk mengatasi hal ini, maka CPU dialihkan ke proses lain pada saat suatu proses sedang dalam wait, demikian seterusnya. (www.info-teknologi.com/konsep-dasar-penjadwalan-cpu/)
proses perhitungan waktu tunggu CPU pada multiprogramming, rumusnya adalah sebagai berikut:
http://rahmanerama.blog.ugm.ac.id/files/2010/09/ScreenHunter_01-Jun.-05-11.54-300x289.gif
(http://aqwamrosadi.staff.gunadarma.ac.id/Downloads/files/12797/SISOPS+4.doc)
Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat mengalokasikan memory untuk beberapa job. Beberapa job yang sudah siap dieksekusi akan dipilih oleh system, job mana yang akan dieksekusi oleh CPU. Perangkat apa saja yang diperlukan oleh setiap job juga harus dialokasikan oleh sistem.

Multi programming system adalah dimana job-job disimpan di main memory di waktu yang sama dan CPU dipergunakan bergantian. Hal ini membutuhkan beberapa kemampuan tambahan yaitu : Penyediaan I/O routine oleh sistem, Pengaturan memori untuk mengalokasikan memory pada beberapa Job, penjadwalan CPU untuk memilih job mana yang akan dijalankan, serta pengalokasian hardware lain.

Multiprogramming berarti meletakkan lebih dari sebuah program di main memory. Cara ini dilakukan dengan membagi main memory menjadi beberapa partisi. Tiap partisi akan menyimpan sebuah program. Foreground partitions akan berisi program dengan prioritas yang lebih tinggi sedang background partitions akan berisi program dengan prioritas yang lebih rendah.

Meskipun setiap proses merupakan Entitiy yang berdiri sendiri, dan masing-masing memiliki program Counter dan status internal, beberapa proses sering kali harus berinteraksi dengan proses yang lain. Keluaran dari suatu proses dapat menjadi masukan bagi proses yang lain. Jika proses yang sedang menunggu masukan tidak menemukan masukan yang dikehendaki, proses tersebut diblok sampai masukan tersedia.

Pada saat proses diblok, secara logika proses tersebut tidak dapat dilanjutkan karena menuggu masukan yang belum tersedia. Dapat terjadi bahwa proses yang Ready dan dapat di-run terpaksa harus dihentikan karena sistem operasi arus mengalokasikan CPU ke proses lain untuk sementara waktu.

Proses dapat berada pada status berikut:

1. Submitt: Proses baru saja dikirimkan oleh user dan masih menunggu untuk dilayani.
2. Running: Proses benar-benar menggunakan CPU pada saat itu.
3. Ready: Proses berhenti sementara untuk memberikan kesempatan pada proses lain untuk menggunakan CPU.
4. Blocked: Proses tidak dapat di-Run sampai terjadi kejadian eksternal yang sesuai (misalkan selesainya operasi input/output atau telah tersedianya data input).
5. Finished: Proses telah dilaksanakan secara sempurna.

Di antara status Running, Ready dan Blocked, hanya terdapat 4 kemungkinan perubahan status, yaitu:

1. Running ke Blocked: Terjadi jika proses diblok, karena menunggu masukan atau menunggu selesainya aktivitas I/O.
2. Running ke Ready: Terjadi jika Process Scheduler menghentikan proses yang sedang running untuk memberikan kesempatan pada proses lain menggunakan CPU.
3. Blocked ke Ready: Terjadi jika ada kejadian eksternal yang menyebabkan proses dapat dijalankan kembali. Misalnya datangnya input atau selesainya suatu aktifitas I/O.
4. Ready ke Running: Terjadi jika proses siap untuk menggunakan CPU dan masukan yang sesuai untuk proses tersebut telah tiba.

Tambahan:
Multitasking
Multitasking adalah adalah pemrosesan beberapa tugas pada waktu yang bersamaan.

Cara Kerja Multitasking

Dewasa ini, penggunaan time-sharing jarang digunakan, dan digantikan dengan multitasking.
Contoh sistem operasi jenis ini antara lain adalah linux. Linux adalah sistem operasi yang multitasking dan multiuser seperti kebanyakan SO yang ada pada saat ini. Multitasking pada linux artinya linux bisa atau mampu menjalankan beberapa proses dalam waktu yang bersamaan.

Seperti contoh pada saat kita menjalan kan aplikasi web browser kita juga bisa menjalankan aplikasi kompresi file. Sedangkan multiuser pada linux adalah user bisa login ke dalam sistem secara bersamaan, dengan artinya user bisa menggunakan satu sistem secara bersamaan dalam satu waktu. Multitasking dan multiuser pada sistem operasi merupakan satu keharusan dalam masa ini.

Keuntungan sistem ini adalah :
1. Suatu perintah dapat dilaksanakan secara tuntas sampai berakhir dengan prioritas tertinggi.
2. Mampu memproses lebih dari satu perintah dalam waktu yang bersamaan.hal ini dapat terjadi karena kemampuan membagi sumber daya yang tersedia. Jika suati perintah datang membutuhkan sumber daya media simpan menyelesaikan perintah/pekerjaan yang telah ditentukan, apabila datang perintah lain yang membutuhkan sumber daya memori misalnnya, perintah tersebut dapat langsung dikerjakan tanpa menunggu perintah sebelumnya selesai dierjakan.

Kelemahan dari sistem ini adalah jika terdapat banyak perintah, maka akan terjadi antian perintah yang cukup panjang. Pengguna harus menunggu perintah selesai dilaksanakan untuk memasukkan perintah selanjutnya.

Manfaat metode ini akan terasa ketika banyak terdapat perintah
yang menggunakan sumber daya yang berbeda, sehingga rangkaian perintah dapat diselesaikan dengan lebih cepat.

Time Sharing System
Time-sharing adalah metode dimana banyak pengguna dapat melakukan processing dalam satu komputer.

Christopher Strachy pada tahun 1959 telah memberikan ide mengenai pembagian waktu yang dilakukan oleh CPU. Baru pada tahun 1961, pertama kali sistem yang benar-benar berbentuk time sharing system dilakukan di MIT (Massachusetts Institute of Technology) dan diberi nama CTSS (Compatible Time Sharing System) yang bisa melayani sebanyak 8 pemakai dengan menggunakan omputer IBM 7090. Pada TSS tiap-tiap User dilayani oleh komputer dengan bergiliran dalam waktu yang sangat cepat. Sehingga tiap pemakai komputer tidak merasa bahwa komputer melayani beberapa pemakai sekaligus secara bergiliran.

Contoh penggunaan Time Sharing System

Salah satu penggunaan time sharing system ini dapat dilihat dalam pemakaian suatu teller terminal pada suatu bank. Bilamana seorang nasabah datang ke bank tersebut untuk menyimpan uang atau mengambil uang, maka buku tabungannya ditempatkan pada terminal. Dan oleh operator pada terminal tersebut dicatat melalui papan ketik (keyboard), kemudian data tersebut dikirim secara langsung ke pusat komputer, memprosesnya, menghitung jumlah uang seperti yang dikehendaki, dan mencetaknya pada buku tabungan tersebut untuk transaksi yang baru saja dilakukan.

Real Time System
Real time system adalah suatu sistem yang mengharuskan suatu komputasi selesai dalam jangka waktu tertentu. Jika komputasi ternyata belum selesai maka sistem dianggap gagal dalam melakukan tugasnya.

Arsitektur Real-time System

Arsitektur sistem real-time merupakan suatu blog diagram yang mengambarkan interkoneksi antar sistem yang ada pada real-time. Secara garis besar dibedakan menjadi dua, yaitu bagian statistik dan algoritma. Pada bagian algoritma terdapat sejumlan n algoritma. Semakin kompleks suatu program, maka akan semakin banyak punya algoritma yang bisa digunakan untuk menyelesaikan program tersebut.

Pada bagian masukan terdapat saklar selector yang digunakan untuk memilih input mana yang akan dieksekusi menggunakan algoritma 1 – n, tergantung dari keinginan kita atau tingkat komplektifitas program. Agar bisa diperoleh konsep real-time, maka ditambahkan suatu kontrol /pencatat kapan program mulai start dan kapan program tersebut harus berhenti dengan menghasilkan nilai dan waktu sesuai dengan kesepakatan batas waktu (deadline).
Suatu hasil dikatakan tepat waktu :

- Yang meminta hasil memberitahu, hasilnya harus diserahkan sesuai dengan waktu yang telah disepakati / ditentukan. Misalnya seorang dosen memberikian ulangan kepada sejumlah mahasiswa dan memberikan waktu pengerjaan selama 1 jam. Apabila waktu pengerjaan telah mencapai 1 jam, maka seluruh pekerjaan yang diberikan tadi harus segera dukumpulkan.
- Bisa memberikan jawaban setiap kali diminta.
- Harus bisa memberikan jawaban yang dapat memuaskan penanya dan jawabannya harus akurat.
- Selalu siap sedia kapanpun peminta memerintahkan dan kapan harus diberikan oleh sistem serta dapat menjawab pada setiap saat

Pengertian dan Tujuan Pembuatan System Call
System call adalah jembatan yang menghubungkan antara user dengan sistem operasi.
Fungsi dari system call adalah menyediakan interface antara program (program pengguna yang berjalan) dan bagian OS

Fungsi dari System Call
  1. mengakhiri (end) dan membatalkan (abort)
  2. mengambil (load) dan mengeksekusi (execute)
  3. menentukan dan mengeset atribut proses
  4. membuat dan menghapus file
  5. membuka dan menutup file
  6. membaca, dan menulis reposisi file