Update

Monday, November 5, 2018

November 05, 2018

Data Transfer with a DMA Controller


1.     I/O interface mengirimkan DMA controller untuk permintaan layanan DMA.
2.     Permintaan bus dibuat oleh pin HOLD pada mikroprosessor dan DMA controller mendapatkan control bus.
3.     Bus dikembalikan ke DMA controller dari pin HLDA pada mikroprosesor.
4.     DMA controller menempatkan isi alamat register kedalam address bus.
5.     DMA controller mengirimkan I/O interface pengakuan DMA, yang memberi tahu I/O interface untuk menempatkan data pada data bus.
6.     Data di transfer kelokasi memori yang ditunjukan oleh address bus.
7.     I/O interface mengaitkan data.
8.     Perminaan bus dojatuhkan, pin HOLd menjadi rendah dan DMA controller melepaskan bus.
9.     Bus dari mikroprosesor dijatuhkan dan pin HLDA menjadi rendah.

Ket:
·      Register tambahan bertambah 1
·      Hitungan byte dikurangi 1
·      jika jumlan byte tidak nol, kembali kelangkah 1
·      jika tidak, hentikan

Sumber: https://www.slideshare.net/ashwiniawatare/dma-and-dma-controller-8237 

Friday, October 26, 2018

October 26, 2018

Manajemen Proses Pada Sistem Operasi

Nama : Dede Syahrul Muadhom
NIM   : 8020170345
Kelas  : 01PT3


Assalamu'alaikum Warahmatullahi Wabarakatuh, selamat datang kembali di blog pribadi saya. Dalam artikel kali ini saya ingin berbagi pengetahuan tentang Sistem pada Manajemen Proses Pada Sistem Operasi beserta Contohnya.

            Beberapa Sistem pada Manajemen Proses Diantaranya :


Thursday, October 25, 2018

October 25, 2018

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 thread berbagi 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.

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].

Keuntungan Thread
Beberapa keuntungan dari penggunaan thread adalah sebagai berikut:

a. Responsif. Aplikasi interaktif menjadi tetap responsif meski pun sebagian dari program sedang diblok atau melakukan operasi yang panjang kepada pengguna. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan gambar.
b. Berbagi sumber daya. Thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungan dari berbagi kode adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.

c. Ekonomis. Pembuatan sebuah proses memerlukan dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan konteks penukaran thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan konteks penukaran proses lima kali lebih lama dibandingkan konteks penukaran thread.

d. Utilisasi arsitektur multiprocessor. Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel, tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu (satusatuan waktu pada CPU biasa disebut time slice atau quantum).


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 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 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.
Persoalan dalam Thread
System Calls fork() dan exec()
Terdapat dua kemungkinan dalam sistem UNIX jika fork dipanggil oleh salah satu thread dalam proses:
a. Semua thread diduplikasi.
b. Hanya thread yang memanggil fork.

Jika suatu thread memanggil System Call exec maka program yang dispesifikasi dalam parameter exec, akan mengganti keseluruhan proses termasuk thread. Penggunaan dua versi dari fork di atas tergantung dari aplikasi. Kalau exec dipanggil seketika sesudah fork, maka duplikasi seluruh thread tidak dibutuhkan, karena program yang dispesifikasi dalam parameter exec akan mengganti seluruh proses. Pada kasus ini cukup hanya mengganti thread yang memanggil fork. Tetapi jika proses yang terpisah tidak memanggil exec sesudah fork maka proses yang terpisah tersebut hendaknya menduplikasi seluruh thread.

Pembatalan Thread

Pembatalan thread merupakan penghentian tugas sebelum prosesnya selesai, sebagai contoh dalam web page, pemanggilan suatu gambar menggunakan beberapa thread. Jika penggambaran belum sempurna sedangkan user menekan tombol stop, maka seluruh penggambaran oleh tiap-tiap thread tersebut akan dibatalkan secara kesuluruhan.

Pembatalan suatu thread dapat terjadi dalam dua skenario yang berbeda, yaitu:
a. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread.
b. Deferred cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara berurutan. Kejaidan yang sulit dari pembatalan suatu thread adalah ketika terjadi situasi dimana sumber daya sudah dialokasikan untuk thread yang akan dibatalkan. Selain itu kesulitan lain adalah ketika thread yang dibatalkan sedang meng-update data yang ia bagi dengan thread lain. Hal ini akan menjadi masalah yang sulit apabila menggunakan asynchronous cancellation. Sistem operasi akan mengambil kembali sumber daya dari thread yang dibatalkan namun seringkali sistem operasi tidak mengambil kembali seluruh sumber daya dari thread tersebut. Alternatifnya adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered cancellation adalah dengan menggunakan satu thread yang berfungsi sebagai pengindikasi bahwa target thread akan dibatalkan. Tetapi pembatalan hanya akan terjadi jika target thread telah memeriksa apakah ia harus batal atau tidak. Hal ini memperbolehkan thread untuk memeriksa apakah ia harus berhenti pada titik tersebut secara aman.

Penanganan Sinyal

Sinyal yang digunakan pada sistem UNIX untuk memberitahukan sebuah proses kalau suatu peristiwa telah terjadi. Sebuah sinyal dapat diterima secara synchronous atau asynchronous tergantung dari sumber dan alasan suatu event memberikan sinyal. Semua sinyal (asynchronous dan synchronous) mengikuti pola yang sama, yaitu:
a. Sebuah sinyal dimunculkan oleh kejadian dari suatu event.
b. Sinyal yang dimunculkan tersebut dikirim ke proses.
c. Sesudah dikirim, sinyal tersebut harus ditangani.

Contoh dari sinyal synchronous adalah ketika suatu proses melakukan pengaksesan memori secara ilegal atau pembagian dengan nol, sinyal dimunculkan dan dikirim ke proses yang melakukan operasi tersebut. Contoh dari sinyal asynchronous misalnya kita mengirimkan sinyal untuk mematikan proses dengan keyboard (CTRL+C) maka sinyal asynchronous dikirim ke proses tersebut. 


Setiap sinyal dapat ditangani oleh salah satu dari dua penanganan sinyal, yaitu:
1. Penanganan sinyal default.
2. Penanganan sinyal yang didefinisikan sendiri oleh user.

Penanganan sinyal pada program yang hanya memakai thread tunggal cukup mudah yaitu hanya dengan mengirimkan sinyal ke prosesnya. Tetapi mengirimkan sinyal lebih rumit pada program multithreading, karena sebuah proses dapat memiliki beberapa thread.

Secara umum ada empat pilihan kemana sinyal harus dikirim, yaitu:
1. Mengirimkan sinyal ke thread yang dituju oleh sinyal tersebut.
2. Mengirimkan sinyal ke setiap thread pada proses tersebut.
3. Mengirimkan sinyal ke thread tertentu dalam proses.
4. Menugaskan thread khusus untuk menerima semua sinyal yang ditujukan pada proses.


Metode untuk mengirimkan sebuah sinyal tergantung dari jenis sinyal yang dimunculkan. Sebagai contoh sinyal synchronous perlu dikirimkan ke thread yang memunculkan sinyal tersebut bukan thread lain pada proses itu. Tetapi situasi dengan sinyal asynchronous menjadi tidak jelas. Beberapa sinyal asynchronous seperti sinyal yang berfungsi untuk mematikan proses (contoh: Alt-F4) harus dikirim ke semua thread. Beberapa versi UNIX yang multithreading mengizinkan thread menerima sinyal yang akan ia terima dan menolak sinyal yang akan ia tolak. Karena itu sinyal asynchronouns hanya dikirimkan ke thread yang tidak memblok sinyal tersebut. Solaris 2 mengimplementasikan pilihan ke-4 untuk menangani sinyal. Windows 2000 tidak menyediakan fasilitas untuk mendukung sinyal, sebagai gantinya Windows 2000 menggunakan asynchronous procedure calls (APCs).

Thread Pools

Dalam situasi web server multithreading ada dua masalah yang timbul, diantaranya adalah:
a. Ukuran waktu yang diperlukan untuk menciptakan thread dalam melayani permintaan yang diajukan akan berlebih. Pada kenyataannya thread dibuang ketika sudah menyelesaikan tugasnya.
b. Pembuatan thread yang tidak terbatas jumlahnya dapat menurunkan performa dari sistem.

Solusinya adalah dengan penggunaan Thread Pools, cara kerjanya adalah dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools, dimana thread tersebut menunggu untuk bekerja. Jadi ketika server menerima permintaan maka akan membangunkan thread dari pool dan jika thread tersebut tersedia, permintaan akan dilayani. Ketika thread sudah selesai mengerjakan tugasnya maka thread tersebut kembali ke pool dan
menunggu pekerjaan lainnya. Bila tidak thread yang tersedia pada saat dibutuhkan, maka server menunggu sampai ada satu thread yang bebas.

Keuntungan menggunakan thread pool adalah:

·      Umumnya lebih cepat dalam melayani permintaan thread yang sudah ada dibandingkan dengan menunggu thread baru yang sedang dibuat.

·      Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini penting pada sistem yang tidak dapat mendukung banyak thread yang berjalan secara bersamaan.
·      Jumlah thread dalam pool dapat tergantung dari jumlah CPU dalam sistem, jumlah memori fisik, dan jumlah permintaan klien yang bersamaan. Thread yang dimiliki oleh suatu proses memang berbagi data tetapi setiap thread mungkin membutuhkan duplikat dari data tertentu untuk dirinya sendiri dalam keadaan tertentu. Data ini disebut thread-specific data

 Sumber :
http://wandiso.blogspot.com/2011/04/thread.html

October 25, 2018

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.

Sistem handheld adalah sebuah komputer yang mudah dapat disimpan di saku (dari ukuran yang cukup) dan digunakan saat Anda sedang me-megangnya. Komputer genggam saat ini, yang juga disebut personal digital assistant (PDA), dapat dibagi menjadi mereka yang menerima tulisan tangan sebagai masukan dan mereka dengan keyboard kecil. Handheld asli yang diterima tulisan tangan adalah Apple Newton, yang kemudian ditarik dari pasar. Hari ini, handheld paling populer yang menerima input tulisan tangan adalah PalmPilot dari 3Com. Philips, Casio, NEC, Compaq, dan perusahaan lain membuat handheld dengan keyboard kecil.

Windows CE dan EPOC adalah dua sistem operasi yang paling banyak digunakan dalam komputer genggam. Komputer genggam biasanya di-gunakan manajer informasi pribadi (PIM) jenis aplikasi: mempertahankan jadwal, menjaga nama dan nomor telepon, melakukan perhitungan sederhana, mencatat, dan, dengan modem, saling berkirim e-mail dan mendapatkan informasi dari Web. Keyboard memiliki kunci kecil yang mengambil membiasakan diri. Mereka yang menangani tulisan tangan juga memberlakukan kendala dan me-merlukan beberapa pembelajaran. Namun demikian, kelas ini komputer banyak dijual dan dihargai oleh banyak pengguna.

a) PDA (Personal Digital Assistants) 


Personal Digital Assistants disingkat PDA adalah sebuah alat elektronik yang berbasis komputer dan berbentuk kecil serta dapat dibawa kemana-mana. PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena perkembangannya, kemudian ber-tambah banyak fungsi kegunaannya, seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video, dan pencatat memo. Selain dari itu dengan PDA (komputer saku) ini, kita dapat menggunakan buku alamat dan menyimpan alamat, membaca buku-e, menggunakan GPS dan masih banyak lagi fungsi yang lain. Bahkan versi PDA yang lebih canggih dapat digunakan sebagai telepon genggam, akses internet, intranet, atau extranet lewat Wi-Fi atau Jaringan Wireless. Salah satu ciri khas PDA yang paling utama adalah fasilitas layar sentuh.

b) Symbian OS 


Symbian bisa dibilang sebagai sistem operasi paling populer di dunia mengingat jumlah peng-gunanya mencapai lebih dari 50% dari pengguna smartphone. Sistem operasi ini dikembangkan oleh Symbian, Ltd.–yang merupakan kolaborasi vendor ponsel Ericsson, Nokia, Motorola, dan Psion–dan memang dikhususkan sebagai mobile operating system. Sistem operasi ini ditulis dengan bahasa C++. Awalnya sistem operasi ini merupakan OS yang close source, namun dalam perkembangannya, sistem operasi ini berubah menjadi open source dan memungkinkan banyak pihak untuk mengembangkan aplikasi yang bisa dioperasikan di ponsel ber-OS symbian. Versi stabil terbaru dari Symbian OS adalah Symbian OS 9.5 dan versi tak-stabil terbarunya adalah Symbian^2 platform / Q3 yang dirilis pada tahun 2009. 

Dalam perkembangannya Symbian OS memiliki beberapa versi, yaitu :
·      Symbian OS 6.0 dan 6.1. contohnya adalah Nokia 9210 Communicator.
·      Symbian OS 7.0 dan 7.0s. Pada versi ini muncul berbagai versi user interface seperti UIQ (Sony Ericsson P800, P900, P910, Motorola A925), Series 60 (Nokia 7650, 3230, 6260, 6600, 6670, 7610, N-Gage, N-Gage QD), Series 80 (Nokia 9210, 9300, 9500), series 90 (Nokia 7710), dan MOAP–Mobile Oriented Application Platform (Contohnya ponsel NTT DoComo). Symbian OS 7.0s adalah versi 7.0 yang diadaptasi agar memiliki kompatibilitas yang lebih baik dengan versi 6.x.
·      Symbian OS 8.0 dan 8.1. Contohnya adalah Nokia N91.
·      Symbian OS 9. Digunakan untuk keperluan internal Symbian.
·      Symbian OS 9.1. Termasuk ponsel Nokia seri S60 3rd edition dan beberapa tipe Sony Ericsson seperti M600 dan P990.
·      Symbian OS 9.2. Contohnya Nokia E90, Nokia N95, Nokia N82, dan Nokia 5700.
·      Symbian OS 9.3. Misalnya Nokia E72, E75, E79, dan N96.
·      Symbian OS 9.4. Contohnya Samsung OMNIA HD, Nokia N97, Nokia 5800 XpressMusic, Sony Ericsson Satio, dan ponsel S60 5th edition lainnya..

Sistem operasi Symbian juga rentan terhadap ancaman sekuriti berupa virus. Contoh virus yang sering menyerang ponsel ber-OS Symbian adalah Cabir, yang me-ngirimkan dirinya dari ponsel ke ponsel lain via bluetooth.

c) Windows Mobile 



Windows mobile adalah versi mobile dari sistem operasi PC paling populer, Windows, keluaran Microsoft. Sistem operasi ini didesain khusus agar bisa berjalan pada smartphone dan perangkat mobile. Sistem operasi yang awalnya dirilis dengan nama Pocket PC 2000 ini hampir semuanya dilengkapi stylus pen yang digunakan sebagai ‘mouse’ pada layar ponsel. OS ini sudah berkali-kali di-update versinya dengan versi terbarunya saat ini adalah Windows Mobile 6.5 yang dirilis 5 Oktober 2009. Ke depannya akan dirilis Windows Mobile 7.0 yang akan keluar sekitar pertengahan 2010. User interface dari perangkat Windows Mobile menyerupai Windows pada PC, namun sayangnya, seperti halnya Windows pada PC, sistem operasi ini bersifat close source sehingga agak menyulitkan pihak ketiga untuk menyediakan aplikasi yang mendukung.

Versi-versi yang telah dirilis meliputi:
·      Pocket PC 2000
·      Pocket PC 2002
·      Windows Mobile 2003 yang memiliki 4 edisi, yaitu : Windows Mobile 2003 for Pocket PC Premium Edition, Windows Mobile 2003 for Pocket PC Professional Edition, Windows Mobile 2003 for Smartphone, dan Windows Mobile 2003 for Pocket PC Phone Edition.
·      Windows Mobile 2003 Second Edition (Windows Mobile 2003 SE).
·      Windows Mobile 5
·      Windows Mobile 6 yang memiliki 3 versi, yaitu : Windows Mobile 6 Standard for Smartphone (phone without touchscreen), Windows Mobile 6 Professional for Pocket PC with phone functionality, dan Windows Mobile 6 Classic for Pocket PCs without cellular radio. 

Contoh dari perangkat yang memiliki sistem operasi ini antara lain Audiovox SMT 5600, iMate SP3i, Samsung SCH-i600, Mio 8390, Sagem myS-7, Orange SPV C500, HP iPAQ rw6100, Motorola MPx220, O2 Xphone, dan O2 Xphone II. UPDATE 08-02-2011: Saat ini versi terbaru dari Windows Mobile adalah Windows Phone 7.

d) Palm OS 


Palm OS adalah sistem operasi mobile yang dikembangkan oleh Palm, Inc. yang awalnya dikhususkan sebagai sistem operasi untuk PDA. Namun dalam perkembangannya, Palm OS juga dibuat untuk smartphone. Sistem operasi ini didesain untuk kemudahan penggunaan dengan GUI (Graphical User Interface) berbasis touchscreen. Sistem operasi ini ditulis dengan bahasa pemrograman C/C++ dan bersifat close source. Contoh perangkat yang meng-gunakan sistem operasi Palm adalah Palm Treo 680. Smartphone ini menggunakan system operasi Palm OS 5.4.9. Beberapa fitur yang ditawarkan adalah Pocket Express, Microsoft Media Player, Palm files, PDF viewer, Adobe Acrobat reader, eReader, Pocket Tunes, dan Document To Go.

e) Android 


Android adalah sistem operasi mobile yang berjalan pada kernel Linux, yang dirilis pada 21 Oktober 2008. Awalnya, sistem operasi ini dikembangkan oleh Android, Inc, yang kemudian dibeli oleh Google, dan yang terakhir, sistem operasi ini dibeli oleh Open Handset Alliance, sebuah consortium dari 47 perusahaan hardware, software, dan telecom (termasuk Google) yang didirikan untuk membuat open standard bagi perangkat lunak mobile. Sistem operasi ini bersifat free dan open source. Perangkat mobile yang mendukung sistem operasi ini di antaranya adalah HTC Dream dan HTC Magic, ponsel keluaran vendor asal Taiwan, HTC.

f) Blackberry OS 



Blackberry OS adalah sistem operasi mobile yang dikembangkan oleh perusahaan Kanada, Research in Motion (RIM) yang dibuat untuk handheld andalan mereka dengan nama yang sama. Sistem operasi ini ditulis dalam bahasa Java dan bersifat Close Source. Versi stabil terakhir yang dikeluarkan adalah versi 5.0.0.419 (Blackberry Storm 9530). Perangkat yang menggunakan Blackberry OS sebagai sistem operasi tentu saja adalah semua varian Blackberry seperti Blackberry Bold, Storm, Curve, Pearl, dan Tour.

g) Iphone OS (iOS). 



iPhone OS adalah sistem operasi mobile yang dikembangkan oleh Apple, Inc. yang dibuat untuk produk mereka yaitu iPhone dan iPod Touch. Sistem operasi ini termasuk dalam keluarga Mac OS X / Unix-like operating system. Walaupun sistem operasinya bersifat close source, namun komponennya bersifat open source sehingga memudahkan pihak ketiga untuk mengembangkan aplikasi-aplikasi yang bisa berjalan pada sistem operasi ini.
User interface pada sistem operasi ini menggunakan konsep manipulasi langsung pada layar handheld dengan menggunakan multi-touch gesture. Kontrol pada interfacenya meliputi slider, swith, dan tombol. Aplikasi-aplikasi yang disertakan dalam sistem operasi ini meliputi Messaging, Calendar, Photos, Camera, Youtube, Google Maps, iPhone, Safari, dan beberapa aplikasi standar lainnya.

Sumber :
http://nerozid7.blogspot.com/2011/08/sistem-operasi-handheld.html
http://ekanvynt.blogspot.com/2015/03/sistem-handheld.html

October 25, 2018

PCB (Process Control Block)

Sebagai pendahuluan kita harus mengenal dulu apa itu Sistem Operasi,Sistem operasi adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting.

Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.

Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.

Definisi Proses

Proses adalah program yang sedang dieksekusi. Menurut SilberSchatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section . Proses juga mencakup program counter , yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti parameter method, alamat return dan variabel lokal), dan sebuah data section yang menyimpan variabel global.

Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya ( resource yang dibutuhkan agar sebuah proses dapat dieksekusi.

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).

Proses 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.    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.    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.

Gambar Proses Control Blok


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:
·      Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya
·      Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor
·      Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas

Didalam PCB, kita mengenal 3 kelompok, sebutkan dan berikan penjelasan 3 kelompok tersebut:

·      Process identification data; selalu menyertakan sebuah identifier unik untuk prosesnya (hampir selalu bernilai integer) dan, dalam sebuah sistem multiuser-multitasking, data seperti identifier proses induk, identifier pengguna, identifier grup pengguna, dll. Proses ini sangan relevan, karena itu sering digunakan untuk referensi silang tabel OS, misalnya memungkinkan untuk mengidentifikasi proses yang menggunakan device I/O, atau daerah memori.
·      Processor state data; adalah potongan-potongan informasi yang mendefinisikan status dari suatu proses ketika proses itu ditangguhkan, yang memungkinkan OS untuk melakukan restart proses nantinya dan masih dapat mengeksekusinya dengan benar. Hal ini selalu menyertakan isi dari register CPU tujuan.
·      Process control data; digunakan oleh OS untuk mengelola proses itu sendiri.

Sumber :

http://femmifirdausahdiat.blogspot.com/2012/09/pcb-process-control-block.html
http://ranggafebriansyah69.blogspot.com/2012/10/apa-yang-dimaksud-dengan-pcb-process.html

October 25, 2018

Distributed Processing

Distributed Processing mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih tugasnya.

Karakteristik database terdistribusi yaitu :

1.    Kumpulan data yang digunakan bersama secara logic tersebar pada sejumlah computer yang berbeda
2.    Komputer yang dihubungkan menggunakan jaringan komunikasi.
3.    Data pada masing-masing situs dapat menangani aplikasi-aplikasi local secara otonom.
4.    Data pada masing situs di bawah kendali satu DBMS.

Bentuk-bentuk Topologi Distribusi Data : 


a.  Fully Connected Network





Kalau salah satu node rusak, yang lainnya masih dapat berjalan (biaya
mahal), kontrol manajemen tidak terjamin.


b.  Partialy Connected Network



Reliability rendah, biaya dapat ditekan
Kontrol manajemen tidak terjamin.


c.  Tree Structured Network

Bersifat sentral, control manajemen lebih terjamin
Kalau node pusat rusak, semua akan rusak. (setiap proses dimulai dari
bawah).


d. Ring Network


Rusak satu, yang lain masih berjalan
Kontrol manajemen kurang terjamin karena bersifat dsesentralisasi.


e. Star Network




Rusak satu, yang lain masih berjalan
Kontrol manajemen kurang terjamin karena bersifat dsesentralisasi.


Distributed data processing /  pemrosesan data terdistribusi
Merupakan sekumpulan peralatan pemrosesan yang saling terhubung melalui jaringan yang mengerjakan tugas-tugas tertentu.


Pemrosesan terdistribusi dapat dikelompokan berdasarkan beberapa kriteria yaitu :
1.    Struktur antar hubungan
2.    Kesaling tergantungan komponen-komponen.
3.    Keselarasan antar komponen.


Distributed database system / system database terdistribusi

Merupakan sekumpulan database yang saling terhubung secara logical dan secara fisik terdistribusi pada berbagai tempat melalui jaringan computer.


Sistem yang mengelola  database terdistribusi dan menyediakan mekanisme agar distribusi transparent adalah distributed database management system (DDBMS).


Ciri-ciri untuk system yang bukan merupakan system database terdistribusi :
1.    Sistem yang berisi kumpulan file
2.    Berbagai arsitektur fisik berkait dengan system multiprocessor.

Ciri sistem database distribusi
1.    Data disimpan pada sejumlah tempat. Setiap tempat secara logic terdiri dari processor tunggal.
2.    Processor pada tempat yang berbeda tersebut dihubungkan dengan jaringan computer.
3.    Bukan sekumpulan file yang berada pada berbagai tempat tetapi merupakan database pada berbagai tempat.
4.    Setiap tempat mempunyai kemampuan untuk mandiri memproses permintaan user yang membutuhkan akses kedata ditempat tersebut, dan juga mampu untuk memproses data yang tersimpan di tempat lain

Keuntungan dan Kelemahan sistem database distribusi:


–         Keuntungan :

·      Pengelolaan secara transparan data terdistribusi dan replicated.
·      Mengacu pada struktur organisasi
·      Meningkatkan kemampuan untuk share dan otonomi local
·      Meningkatkan ketersediaan data
·      Meningkatkan kehandalan
·      Meningkatkan unjuk kerja
·      Memudahkan pengembangan system
–         Kelemahan :
·      Kompleksitas manajemen
·      Control integritas lebih sulit
·      Biaya pengembangan
·      Keamanan
·      Kurang standarisasi
·      Menambahkan kebutuhan penyimpanan
·      Lebih sulit dalam mengatur lingkungan data
·      Menambah biaya pelatihan.


Faktor yang dianjurkan untuk digunakan pada basis data:


1. Fragmentasi, tipe fragmentasi:
·      Horizontal fragmentasi
·      Vertical fragmentasi

2. Alokasi, empat strategis alokasi data:
·      Sentralisasi
·      Partisi (fragmentasi)
·      Replikasi yang lengkap
·      Replikasi yang selektif

Contoh Sistem Pengolahan Data terdistribusi:


1. Internet
·      Jaringan komputer dan aplikasi yang heterogen.
·      Mengimplementasikan protokol internet.

2. Intranet
·      Jaringan yang teradminitrasi secara lokal.
·      Terhubung ke internet melalui feriwall.
·      Menyediakan layanan internet dan eksternal.

3. Mobile Computing ( Sistem Komunikasi telepon seluler)
·      Menggunakan frekuensi radio sebagai media transmisi
·      Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya
·      Dapat menghandle/dihububngkan dengan perangkat lain

4. Sistem Telepon
·      ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).
·      PSTN jaringan telepon/telekomunikasi yang semuanya digital.

5. Network File System (NTFS)
·      WWW

6. Arsitektur client server yang diterpakan dalam infrastruktur internet


Sumber :

https://andynovawijaya.wordpress.com/tugas/tugas-study-kasus-distributed-accounting/
https://rezaeka.wordpress.com/2011/10/04/database-terdidtribusi/