Kamis, 22 Agustus 2019

Paralel (multiprocessor)


PARALEL (multiprocessor)


Tugas 1


     Sistem multiprosesor adalah, suatu sistem dengan lebih dari satu CPU yang memiliki sebuah memori bersama, seperti sekelompok orang dalam suatu ruangan yang memili papan tulis bersama. Karena setiap CPU dapat membaca atau menulis bagian apa saja dari memori, mereka harus berkoordinasi (dalam software) agar tidak saling berebut jalurnya masing -masing.

Berbagai skema implementasi dapat dilaksanakan. Salah satu skema paling sederhana adalah memiliki sebuah bus tunggal dengan banyak CPU dan satu memori yang seluruhnya dipasang ke dalam bus tersebut.

Semua prosesor dapat melakukan komputasi secara paralel dan masing-masing dapat mengakses memori melalui bus. Bus bertanggung jawab mengatur permintaan pemakaian memori yang berlangsung secara simultan oleh beberapa prosesor. Bus juga bertanggung jawab untuk meyakinkan bahwa semua prosesor dilayani secara adil dengan waktu tunda (delay) akses yang minimum.

Dengan sejumlah besar prosesor cepat yang selalu berusaha mengakses memori melalui bus yang sama, konflik - konflik akan terjadi. Para perancang multiprosesor telah mengajukan berbagai macam skema untuk mengurangi konflik ini guna meningkatkan kinerja seperti ditunjukan oleh gambar 14.8.

Multiprosesor memiliki keunggulan dibanding jenis - jenis komputer paralel yaitu:

a) Peningkatan throughput, karena lebih banyak proses / thread yang berjalan dalam satu waktu sekaligus (jika proses yang antri di ready queue sedikit). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat ialah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.

b) Economy of scale (ekonomis), ekonomis dalam devices yang dibagi bersama – sama. Prosesor - prosesor terdapat dalam satu komputer dan dapat membagi peripheral (ekonomis) seperti disk dan catu daya listrik.

c) Peningkatan kehandalan (reliabilitas), Jika satu prosesor mengalami suatu gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini dikenal dengan istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau failoft system.

Penjadwalan Multiprocessor
Kita perlu mempelajari penjadwalan pada prosesor jamak berhubung sistem
dengan prosesor jamak akan semakin banyak digunakan karena kemampuannya yang
lebih baik dari sistem dengan prosesor tunggal. Seperti halnya pada prosesor tunggal,
prosesor jamak juga membutuhkan penjadwalan. Namun pada prosesor jamak,
penjadwalannya jauh lebih kompleks dari pada prosesor tunggal. Dalam penjadwalan
prosesor jamak, tiap proses dapat mengakses memori dengan cara yang sama [uniform
memory access].
Pembatasan dalam penjadwalan juga terjadi dalam multiprosesor. Hal ini
disebabkan karena:

a) kemungkinan adanya load sharing. Load sharing terjadi jika ada beberapa prosesor
yang identik. Untuk mengatasi hal itu maka tiap prosesor memiliki kemampuan
penjadwalan mandiri (self schedulling).

b) kemungkinan terlewatinya sebuah proses dari antrian [ready queue] atau beberapa
prosesor memilih untuk mengeksekusi proses yang sama. permasalahan seperti itu
bisa dijawab dengan sebuah master-slave structure, yaitu suatu struktur dimana
satu prosesor ditunjuk sebagai master. Master inilah yang akan bertanggung jawab
dalam hal penjadwalan, memproses I/O, dan sebagainya. Sedangkan prosesor yang
lain [slave] hanya bertugas untuk mengeksekusi user code. Hal ini disebut juga
sebagai Asymmetric Multiprocessing karena hanya satu prosesor yang dapat
mengakses struktur data dari sistem.
Ada beberapa jenis dari sistem penjadualan prosesor jamak, namun yang akan
dibahas dalam bab ini adalah penjadwalan pada sistem prosesor jamak yang memiliki
fungsi-fungsi prosesor yang memiliki fungsi yang sama (Homogeneous processors within

a multiprocessor). Diantaranya ada 2 yaitu:
1. Penjadwalan Asymmetric MultiProcessing (AMP)

Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan
asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan Master
Slave MultiProcessor. Dimana pada metode ini satu prosesor bertindak sebagai
master dan prosesor lainnya sebagai slave. Master Processor bertugas untuk
menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave
Processors. Master Processor melakukan pekerjaan yang berhubungan dengan
System, Slave Processor melayani user requests dalam pengeksekusian program.
Pemrosesan yang banyak tidak menyebabkan penurunan performance. Metode ini
sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan
juga mengurangi data sharing. Sebagai contoh, prosesor master memilih proses yang
akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan
instruksi start processor. Prosesor slave memulai eksekusi pada lokasi memori yang
dituju. Saat slave mengalami sebuah kondisi tertentu, prosesor slave memberi
interupsi kepada prosesor master dan berhenti untuk menunggu perintah
selanjutnya. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan
untuk suatu proses yang sama pada waktu yang berbeda. Master processor dapat
mengeksekusi OS dan menangani I/O, sedangkan sisanya processor tidak punya
kemampuan I/O dan disebut sebagai Attached Processor (Aps). APs mengeksekusi kodekode
user dibawah pengawasan master processor.

2. Penjadwalan Symmetric MultiProcessing (SMP)

Penjadwalan SMP adalah pendekatan kedua untuk penjadwalan prosesor jamak.
Pada metode ini setiap prosesor menjadwalkan dirinya sendiri (self scheduling).
Penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa
antrian ready dan memilih suatu proses untuk dieksekusi. Jika suatu sistem prosesor
jamak mencoba untuk mengakses dan mengupdate suatu struktur data, penjadwal
dari prosesor-prosesor tersebut harus diprogram dengan hati-hati, kita harus yakin
bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak
hilang dari antrian. Secara virtual, semua sistem operasi modern mendukung SMP,
termasuk Windows XP, Windows 2000, Windows Vista, Solaris, Linux, dan Mac OS X.
Lock digunakan untuk proses sinkronisasi, apabila ada 2 atau lebih proses yang ingin
mengakses alamat memori yang sama dan mengubah shared memory. Dalam skema
tersebut, salah satu penjadwalan akan digunakan. Salah satu cara menggunakan
symmetric multiprocessing(SMP). Dimana setiap prosesor menjadwalkan diri sendiri.
Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi.

Tugas 1
Batch System
(tugas 1) :
https://brigaspangestu504.blogspot.com/2018/10/batch-system.html 

Multiprograming (tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/normal-0-false-false-false-en-us-x-none.html

Time Sharing
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/time-sharing-system.html

Paralel (multiprocessor)
tugas 1
https://brigaspangestu504.blogspot.com/2019/08/paralel-multiprocessor.html

Sistem Terdistribusi
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/sistem-terdistribusi.html

Sistem Clusrer
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/cluster.html

Real Time
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/sistem-real-time.html

Handheld (tugas 1) :
https://brigaspangestu504.blogspot.com/2018/10/handheld-system.html


                                                                                                                                                                            

Time Sharing System


TIME SHARING

Tugas 1

Sejarah Time Sharing

Time Sharing Sistem sendiri ditemukan oleh Christopher Strachy pada tahun 1959. 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 komputer IBM 7090. Pada Time Sharing Sistem 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.Konsep ini pertama kali dijelaskan publik pada awal 1957 oleh Bob Bemer sebagai bagian dari sebuah artikel di Majalah Kontrol Otomatis. Proyek pertama untuk menerapkan sistem time-sharing diprakarsai oleh John McCarthy pada tahun 1957 akhir, pada IBM dimodifikasi 704, dan kemudian pada komputer IBM 7090 tambahan diubah.
Meskipun ia pergi untuk bekerja pada proyek MAC dan proyek lainnya, salah satu hasil proyek, yang dikenal sebagai Sistem Compatible Time-Sharing atau CTSS, telah didemonstrasikan pada bulan November 1961. CTSS memiliki klaim yang baik untuk menjadi sistem time-sharing pertama dan tetap digunakan sampai 1973. Lawan lain untuk sistem time-sharing pertama menunjukkan adalah PLATO II, diciptakan oleh Donald Bitzer pada demonstrasi publik di Robert Allerton Park dekat University of Illinois pada awal 1961.
Bitzer telah lama mengatakan bahwa proyek PLATO akan mendapatkan hak paten pada waktu-sharing jika hanya University of Illinois sudah tahu bagaimana proses aplikasi paten lebih cepat, tetapi pada waktu paten universitas sangat sedikit dan jauh antara, mereka mengambil waktu yang lama untuk disampaikan. Sistem time-sharing pertama yang sukses adalah Dartmouth Time Sharing System.


Pengertian Time Sharing
Time-sharing adalah berbagi sumber daya komputasi antara banyak pengguna melalui multiprogramming dan multi-tasking. Time sharing memungkinkan komputer komputer besar memproses banyak tugas secara simultan, dengan memberikan potongan waktu pada masing-masing tugas, dan beralih dari satu tugas ke tugas lainnya dengan cepat.
Time Sharing merupakan Metode yang dipakai dalam sistem operasi yang memungkinkan sejumlah pemakai dapat berinteraksi dengan proses yang dibuatnya secara bergantian dengan jumlah waktu yang sama, Time sharing merupakan pengembangan lebih lanjut dari multiprogramming.
Dengan memungkinkan sejumlah besar pengguna untuk berinteraksi bersamaan dengan satu komputer, time-sharing secara dramatis menurunkan biaya menyediakan kemampuan komputasi, memungkinkan bagi individu dan organisasi untuk menggunakan komputer tanpa memiliki satu, dan mempromosikan penggunaan komputer dan interaktif pengembangan aplikasi interaktif baru.

Proses Time Sharing
Pada Time Sharing System beberapa terminal terhubung secara seri ke sebuah host komputer. Dalam proses TSS mulai nampak perpaduan teknologi komputer dan teknologi telekomunikasi yang pada awalnya berkembang sendiri- sendiri. Dalam proses ini beberapa host komputer mengerjakan sebuah pekerjaan besar secara paralel untuk melayani beberapa terminal yang tersambung secara seri disetiap host komputer.
Dalam proses distribusi mutlak diperlukan perpaduan atau kerjasama yang mendalam antara teknologi komputer dan telekomunikasi, karena selain proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer pusat.

Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi. Setelah sebuah program dimuat dari media penyimpanan, sebuah instance dari program dijalankan. Instance ini disebut sebuah proses. Sebuah proses memiliki memorinya sendiri, disebut ruang alamat proses (process address space). Ruang alamat proses memiliki dua area penting: area teks dan area data.
Area teks adalah kode program yang sebenarnya; digunakan untuk memberitahukan sistem apa yang harus dilakukan. Area data digunakan untuk menyimpan data konstan dan juga runtime. Sistem operasi memberikan waktu bagi setiap proses untuk dieksekusi. Pada sistem dengan prosesor tunggal, proses tidak sepenuhnya berjalan secara bersamaan. Pada kenyataannya, sebuah penjadwal pada kernel membagi waktu CPU pada semua proses, memberikan sebuah ilusi bahwa proses-proses dijalankan secara bersamaan.
Proses ini disebut dengan time-sharing. Pada sistem dengan lebih dari satu CPU atau inti CPU, lebih dari satu proses dapat berjalan bersamaan, tetapi konsep time-sharing masih dipakai untuk membagi waktu CPU yang ada pada setiap proses. Proses-proses baru dibuat dengan menduplikasi proses yang sedang berjalan dengan system call fork system call.
Kernel akan merespon terhadap panggilan ini dengan menduplikasi proses, menamai proses lain sebagai induk (parent), dan proses lain sebagai anak (child).
Fork bisa digunakan oleh sebuah program untuk membuat dua proses yang berjalan secara bersamaan pada mesin dengan banyak prosesor. Namun, hal ini seringkali tidak ideal, karena kedua proses akan memiliki alamat ruang prosesnya masing-masing. Duplikasi pertama dari memori proses cukup memakan waktu, dan sangat susah untuk melakukan share data diantara dua proses.
Masalah ini diselesaikan oleh sebuah konsep yang disebut multithreading. Multithreading berarti banyak instance dari area teks dapat dijalankan pada waktu yang bersamaan, melakukan pertukaran area data. Instance ini disebut thread dapat dieksekusi secara parallel pada banyak CPU.

Time Sharing System (TSS) merupakan konsep distribusi proses berdasarkan waktu, ini merupakan bentuk pertama pengaplikasian jaringan (network) komputer. Pada sistem TSS beberapa terminal terhubung secara seri ke sebuah host komputer. Time-sharing dikembangkan dari kesadaran bahwa sementara setiap pengguna tunggal tidak efisien, sekelompok besar pengguna bersama-sama tidak.
Hal ini disebabkan pola interaksi, dalam banyak kasus pengguna masuk semburan informasi diikuti oleh jeda yang panjang, tapi sekelompok pengguna yang bekerja pada saat yang sama akan berarti bahwa jeda dari satu pengguna akan digunakan oleh aktivitas yang lain .
Mengingat ukuran kelompok yang optimal, proses keseluruhan bisa sangat efisien. Demikian pula, irisan kecil dari waktu yang dihabiskan menunggu disk, tape, atau input jaringan dapat diberikan kepada pengguna lain.
Beberapa perusahaan mulai menyediakan layanan time-sharing sebagai biro jasa. Awal digunakan sistem Teletype K/ASR-33s atau K/ASR-35s dalam lingkungan ASCII, dan Selectric mesin tik IBM terminal berbasis di lingkungan EBCDIC. Mereka akan terhubung ke komputer pusat dengan dial-up modem Bell 103A atau modem akustik ditambah beroperasi pada 10-15 karakter per detik.
Kemudian terminal dan modem didukung 30-120 karakter per detik. Sistem time-sharing akan menyediakan lingkungan operasi yang lengkap, termasuk berbagai bahasa pemrograman prosesor, berbagai paket perangkat lunak, penyimpanan file, pencetakan massal, dan penyimpanan off-line. Pengguna yang dibebankan sewa terminal, biaya selama berjam-jam waktu terhubung, biaya untuk detik waktu CPU, dan biaya untuk kilobyte-bulan penyimpanan disk.
Sistem yang umum digunakan untuk time-sharing termasuk SDS 940, PDP-10, dan IBM 360. Perusahaan yang menyediakan layanan ini termasuk GE GEISCO, IBM anak Layanan Biro Corporation, Tymshare (didirikan pada 1966), Nasional CSS (didirikan pada 1967 dan dibeli oleh Dun & Bradstreet di 1979), Dial Data (dibeli oleh Tymshare pada tahun 1968), dan Bolt , Beranek, dan Newman.
Pada tahun 1968, ada 32 biro jasa seperti melayani NIH sendiri [1]. Panduan Auerbach untuk Timesharing 1973 Edisi 125 daftar layanan timesharing berbeda dengan menggunakan peralatan dari Burroughs, CDC, DEC, HP, Honeywell, IBM, RCA, Univac dan XDS.
Banyak pemikiran diberikan pada tahun 1970 untuk sumber daya komputer terpusat yang ditawarkan sebagai utilitas komputasi, sama dengan utilitas listrik atau telepon. asli Ted Nelson “Xanadu” hypertext repositori dibayangkan sebagai layanan tersebut. Ini menjadi jelas sebagai industri komputer tumbuh bahwa tidak ada konsolidasi seperti sumber daya komputasi akan terjadi sebagai sistem time sharing.
Beberapa berpendapat bahwa bergerak melalui komputasi client-server ke server terpusat dan virtualisasi menyajikan pasar untuk utilitas komputasi lagi. Keamanan tidak menjadi isu utama untuk sistem pemrosesan batch terpusat yang umum saat paradigma time-sharing muncul. Tidak jauh lebih dari username keamanan diperlukan pada berbagai kampus. User Komersial, terutama di kategori keuangan dan ritel, menuntut keamanan jauh lebih tinggi dan juga mengangkat isu-isu yang sedang dibahas saat ini sebagai perusahaan mempertimbangkan outsourcing .
Dengan bangkitnya microcomputing pada awal tahun 1980, time-sharing memudar ke latar belakang karena mikroprosesor individu cukup murah yang satu orang bisa memiliki semua waktu CPU yang didedikasikan sepenuhnya untuk kebutuhan mereka, bahkan ketika idle. Internet telah membawa konsep umum kembali waktu-sharing ke popularitas. peternakan Mahal server perusahaan costing jutaan dapat host ribuan pelanggan semua berbagi sumber daya umum yang sama.
Seperti dengan terminal serial awal, website beroperasi terutama di semburan kegiatan diikuti oleh periode waktu idle. Sifat meledak memungkinkan layanan yang akan digunakan oleh pelanggan banyak situs sekaligus, dan tidak satupun dari mereka melihat adanya keterlambatan dalam komunikasi sampai server mulai menjadi sangat sibuk.


Contoh Penggunaan TSS
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

Tugas 1
Batch System
(tugas 1) :
https://brigaspangestu504.blogspot.com/2018/10/batch-system.html 

Multiprograming (tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/normal-0-false-false-false-en-us-x-none.html

Time Sharing
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/time-sharing-system.html

Paralel (multiprocessor)
tugas 1
https://brigaspangestu504.blogspot.com/2019/08/paralel-multiprocessor.html

Sistem Terdistribusi
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/sistem-terdistribusi.html

Sistem Clusrer
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/cluster.html

Real Time
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/sistem-real-time.html

Handheld (tugas 1) :
https://brigaspangestu504.blogspot.com/2018/10/handheld-system.html



MULTI PROGRAMING


MULTI PROGRAMING

Tugas 1

Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.

Pada masa-masa awal dunia perkomputeran, CPU cukup mahal dan peripherals sangat lamban. Saat komputer menjalankan sebuah program yang membutuhkan akses ke peripheral, CPU harus menghentikan instruksi-instruksi program lainnya selama peripheral memproses data. Hal ini dianggap sangat tidak efisien.

Usaha pertama untuk membuat sistem operasi berbasis multi-program dilakukan pada tahun 1960an. Beberapa program yang berlainan di dalam batch di-load ke memori komputer, dan program yang pertama akan dijalankan. Saat program tersebut mencapai instruksi untuk menunggu akses ke peripheral, konteks dari program ini disimpan, dan program berikutnya di memori mulai dijalankan. Proses ini berulang terus sampai semua program selesai dijalankan.

Multi-program tidak memberi garansi bahwa program-program akan berjalan bersamaan. Bisa saja program pertama yang dijalankan tidak membutuhkan akses ke peripheral sehingga program tersebut berjalan terus berjam-jam. Namun demikian multiprogramming cukup mengurangi waktu user untuk menunggu karena user tinggal memasukan sederetan program ke komputer dan kembali beberapa jam kemudian untuk melihat hasilnya.

Primary Control Program (PCP) pada OS/360 versi awal menggunakan sistem multiprogramming seperti yang disebut barusan, namun kemudian diganti pada tahun berikutnya oleh MFT dengan sistem multi-program yang membatasi waktu proses bagi CPU sebelum mengganti dengan proses lainnya.

Tugas 1
Batch System
(tugas 1) :
https://brigaspangestu504.blogspot.com/2018/10/batch-system.html 

Multiprograming (tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/normal-0-false-false-false-en-us-x-none.html

Time Sharing
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/time-sharing-system.html

Paralel (multiprocessor)
tugas 1
https://brigaspangestu504.blogspot.com/2019/08/paralel-multiprocessor.html

Sistem Terdistribusi
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/sistem-terdistribusi.html

Sistem Clusrer
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/cluster.html

Real Time
(tugas 1) :
https://brigaspangestu504.blogspot.com/2019/08/sistem-real-time.html

Handheld (tugas 1) :
https://brigaspangestu504.blogspot.com/2018/10/handheld-system.html



TUGAS 5

TEKNIK  PENGUMPULAN DATA MENGGUNAKAN METODE WAWANCARA   Wawancara adalah tanya jawab antara dua pihak yaitu pewawancara dan narasu...