pengertian dari beberapa sistem

by M Alfahreza

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.

contoh sebuah Batch System adalah sebuah 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.

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 urutan2 job yg akan berpindah secara otomatis, inilah “Resident Monitor”

2.      Overlap Operasi antara I/O dg CPU
a.  a.  Off line Processing, data yg dibaca dari card reader disimpan dulu dalam tape driver sebelum dibawa ke CPU, demikian pula informasi yg mau dicetak, disimpan dulu di tape 
b.   b.       Spooling  adalah suatu program dapat dikerjakan walaupun I/O masih mengerjakan  proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.

Multiprogramming System
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.



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    

2 Pengertian Critical Section



Critical Section adalah sebuah segmen kode dari sebuah proses yang mana sumber daya diakses bersamaanTerdiri dari: 
  • Entry Section: kode yang digunakan untuk masuk ke dalam critical section
  • Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu
  • Exit Section: akhir dari critical section, mengizinkan proses lain
  • Remainder Section: kode istirahat setelah masuk ke critical section




Solusi untuk mengatasi masalah Critical Section, yaitu:

a). Mutual exclution : Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka.

b). Progress : Jika tidak ada proses yang sedang dieksekusi dalam critical section dan ada beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk ke critical section berikutnya tidak bias ditunda

c). Bounded Waiting :Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum permintaan itu diterima.

Contoh pada algoritma

Cara-cara memecahkan masalah

• Hanya dua proses, Po dan P1

• Struktur umum dari proses adalah Pi (proses lain Pj)

do {
        critical section
         remainder section
       } while(1);



Algoritma 1

Disini kita akan mencoba membuat sebuah rangkaian solusi-solusi dari permasalahan yang makin meningkat kerumitannya.

Pada semua contoh, i adalah proses yang sedang berjalan, j adalah proses yang lain. Pada contoh ini code.

i. Shared variables
   • int turn
           Initially turn=0

     • turn = i, Pi can enter its critical section

ii. Process Pi

do {
        while(turn!=1);
         critical section
         turn=j;
         remainder section
        } while(1);



iii. Memenuhi mutual exclusion, tapi bukan progress.

Algoritma 2

FLAG untuk setiap proses yang memberi STATE:

Setiap proses memantau suatu flag yang mengindikasikan ia ingin memasuki critical section. Dia memeriksa flag poses lain dan tidak akan memasuki critical section bila ada proses lain yang sedang masuk.

i. Shared variables
       • boolean flag[2];
             initially flag [0] = flag [1] = false

       • flag [i] = true , Pi ready to enter its critical section

ii. Process Pi

do {
        flag[i]:=true;
        while(turn!=1);
        critical section
        turn=j;
        remainder section
         } while(1);

iii. Memenuhi mutual exclusion, tapi tidak memenuhi progess.

Algoritma 3

FLAG untuk meminta izin masuk:

·         Setiap proses mengeset sebuah flag untuk meminta izin masuk. Lalu setiap proses mentoggle bit untuk mengizinkan yang lain untuk yang pertama

·         Kode ini dijalankan untuk setiap proses i

Shared variables
F boolean flag[2];
      initially flag[0] = flag[1] = false
F flag[i] = true;


Pi ready to enter its critical section

·         Gabungan shared variables dari algorima 1 dan 2

·         Process Pi

do {
       flag[i]:=true;
        turn = j;
        while(flag[j] and turn = j);
        critical section
         flag[i] = false;
         remainder section
          } while(1);


·         Memenuhi ketiga persyaratan, memecahkan persoalan critical section untuk kedua proses

Algoritma Bakery

Critical Section untuk n buah proses:

Sebelum memasukkan proses ke critical section, proses menerima sebuah nomor. Pemegang nomor terkecil masuk ke critical section. Jika ada dua proses atau lebih menerima nomor sama, maka proses dengan indeks terkecil yang dilayani terlebih dahulu untuk masuk ke critical section. Skema penomoran selalu naik secara berurut contoh: 1, 2, 3, 3, 3, 3, 4, 5,...

boolean choosing [n];
long long long int number [n];
/* 64 bit maybe okay for about 600 years */
Array structure elements are initiallized to false and 0 respectively
while (true) {
           choosing[i] = true;
           number[i] = max(number[0], ... [n-1]) + 1;
            choosing[i] = false;
            for (j = 0; j < n; j ++) {
            while (choosing[j]) {}
            while ((number[j] !=0) && ((number[j], j) < (number[i], i))) {}
}
number[i] = 0
}
Solves the critical-section problem
for n process

3 PROCESS CONTROL BLOCK  (PCB) 
adalah struktur data yang dipakai oleh OS untuk mengelola proses. Hampir semua OS yang modern telah memuat PCB(Process Control Block) namun strukturnya berbeda-beda pada setiap OS tersebut, PCB adalah "manifestasi proses dalam sistem operasi.

PCB  juga memuat informasi tentang proses, 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. Sebuah PCB ditunjukkan dalam gambar berikut.

PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.

 Sebagai contoh, struktur data yang mengendalikan beberapa PCB adalah process table. Bisa saja beberapa PCB ditaruh pada daftar dalam waktu yang bersamaan.Process table ini menggambarkan sistem tersebut ketika OS menemukan tiap-tiap PCB melalui proses ID.

PCB dibagi 3 kelompok

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.



4 Distributed Processing 
adalah kemampuan menjalankan semua proses pengolahan data secara bersama antara komputer yang berfungsi sebagai 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 maka prosesor yang lain akan mengambil alih tugasnya. Dalam proses distribusi sudah mutlak diperlukan perpaduan 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.


Definisi umum dari pemrosesan terdistribusi merupakan cara untuk mempercepat pengolahan data atau informasi dengan mendistribusikan pekerjaan atau intruksi ke banyak komputer yang telah dipilih untuk memberi kekuatan pemrosesan yang lebih cepat. Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.

Tujuan lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi. Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna tersebut. Transparansi ini memungkinkan pengguna sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut seolah-olah sebagai satu sistem komputer tunggal, seperti yang biasa digunakannya. Dalam prosesnya setiap komputer berinteraksi satu sama lain untuk mencapai tujuan bersama.



.

 5. SISTEM HANDHELD
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.
Kesimpulan dari pembahasan diatas yaitu sistem operasi handheld adalah salah satu perkembangan dari system operasi yang diperuntukan untuk personal atau perorangan saja. Maksud dari personal disini adalah user yang menggunakan atau penggunanya hanya dapat menggunakan sebagian kecil dari system operasi yang terdapat pada komputer. Dikarenakan system ini memang memiliki spesifikasi yang rendah dibanding system operasi computer pada umumnya. Namun system ini juga memiliki kelebihan yaitu ukurannya yang kecil mudah dibawa kemana – mana dan dimana saja kita dapat melakukan kerja dengan piranti ini. Ukuran kecil dan ringan, piranti ini jelas menjadi penopang.

Thread System


1.Thread
adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
Kadang disebut sebagai proses ringan (lightweight).
Unit dasar dari dari sistem utilisasi pada processor (CPU).
Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.



2.Single-Threading dan Multi-Threading Single


Threading adalah sebuah lightweight process (proses sederhana) yang mempunyai thread tunggal yang berfungsi sebagai pengendali/ controller. Multi-Threading adalah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam satu waktu.
3. Keuntungan Multi-Threading
Responsive; tanggap: Multi-Threading mengizinkan program untuk berjalan terus walau-pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses.Ketika thread berjalan pada data yang sama, thread tersebut bisa berbagi cache memory.
Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
Pemberdayaan arsitektur multiprosesor: Keuntungan dari multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara paralel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.
4. Kerugian Multi-Threading
Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian thread yang berjalan.
Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.
5. Model-Model Threading
Kernel-level threading; thread ini dibuat oleh pengguna yang berkorespondensi 1-1 dengan entitas-entitas yang terjadwalkan yang berada di kernel. Ini merupakan implementasi (penerapaan) paling sederhana dari threading.
Thread kernel didukung langsung oleh sistem operasi.
Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space.
Pengaturan thread dilakukan oleh sistem operasi, sehingga pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread.
2. User-level threading; sebuah pemetaan N-1, yang berarti bahwa semua level aplikasi thread dipetakan ke entitas tunggal yang ada di kernel. Dengan pendekatan ini, switching proses dapat dilakukan dengan sangat cepat.
Thread pengguna didukung kernel serta diimplementasikan dengan pustaka (library) thread pada tingkatan pengguna.
Pustaka (library) menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel.
Semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel.
6. Thread dalam Sistem Operasi
Sistem operasi telah mendukung proses multithreading.
Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya.
Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.
Model Multi-Threading
1. Many-to-One2
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.
2One-to-One
Memetakan setiap thread tingkatan pengguna ke thread kernel.
Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One.
D3 KomSI UGM Sistem Operasi
3Many-to-Many
Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang
jumlahnya lebih sedikit atau sama dengan tingkatan pengguna.
Mengijinkan sistem operasi untuk membuat sejumlah thread kernel.
7. Cancellation
Thread cancellation ialah pemberhentian thread sebelum tugasnya selesai. Umpama, jika dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus dihentikan terlebih dahulu. Thread yang akan diberhentikan biasa disebut target thread.Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda:Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread.
Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.
Alternatifnya adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered cancellation adalah dengan menggunakan satu thread yang berfungsi sebagai pengindikasi bahwa target thread hendak diberhentikan. Tetapi pemberhentian hanya akan terjadi jika target thread memeriksa apakah ia harus berhenti atau tidak. Hal ini memperbolehkan thread untuk memeriksa apakah ia harus berhenti pada waktu dimana ia dapat diberhentikan secara aman yang aman. Pthread merujuk tersebut sebagai cancellation points.
8.Threads Pools
Pada web server yang multithreading ada dua masalah yang timbul:Ukuran waktu yang diperlukan untuk menciptakan thread untuk melayani permintaan yang diajukan terlebih pada kenyataannya thread dibuang ketika ia seketika sesudah ia menyelesaikan tugasnya.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 mereka duduk diam dan menunggu untuk bekerja. Jadi ketika server menerima permintaan maka maka ia akan membangunkan thread dari pool dan jika thread tersedia maka permintaan tersebut akan dilayani.Ketika thread sudah selesai mengerjakan tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak thread yang tersedia pada saat dibutuhkan maka server menunggu sampai ada satu thread yang bebas.
9. Keuntungan thread pool:
Biasanya lebih cepat untuk melayani permintaan dengan thread yang ada dibanding dengan menunggu thread baru dibuat.Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini pentingpada sistem yang tidak dapat mendukung banyak thread yang berjalan secara concurrent.

reference: https://brigaspangestu504.blogspot.com/2018/10/process-control-block.html

https://brigaspangestu504.blogspot.com/2018/10/distributed-processing.html

https://bustami.blogspot.com/2014/04/pengertian-batch-system-multiprograming.html

https://muhammadmiftahpratama.blogspot.com/p/criticalsection-adalah-segmen-kode-d.html

https://brigaspangestu504.blogspot.com/2018/10/process-control-block.html

Komentar

Postingan populer dari blog ini

Tugas 3 Individu Menjelaskan Gambar DMA(8040190431)