Sistem Operasi

Jumat, 26 Oktober 2018

Distributed Processing


    Pengolahan terdistribusi adalah frasa yang digunakan untuk merujuk ke berbagai sistem komputer yang menggunakan lebih dari satu komputer (atau prosesor ) untuk menjalankan aplikasi . Ini termasuk pemrosesan paralel di mana satu komputer menggunakan lebih dari satu CPU untuk menjalankan program .
Lebih sering, bagaimanapun, pemrosesan terdistribusi mengacu pada jaringan area lokal (LAN) yang dirancang sehingga satu program dapat berjalan secara bersamaan di berbagai situs. Kebanyakan sistem pemrosesan terdistribusi berisi perangkat lunak canggih yang mendeteksi CPU idle di jaringan dan memilah program untuk menggunakannya.
Bentuk lain dari pemrosesan terdistribusi melibatkan basis data terdistribusi . Ini adalah basisdata tempat data disimpan di dua atau lebih sistem komputer. Sistem basis data melacak di mana data berada sehingga sifat terdistribusi dari database tidak jelas bagi pengguna .

     Pengertian lain Dari 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.

Contoh Sistem Pengolahan Data terdistribusi

  1. Internet
  •   Jaringan komputer dan aplikasi yang heterogen.
  •    Mengimplementasikan protokol internet.
  1. Intranet
  •  Jaringan yang teradminitrasi secara lokal.
  •  Terhubung ke internet melalui feriwall.
  •  Menyediakan layanan internet dan eksternal.
  1. 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
  1. Sistem Telepon
  • ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).
  • PSTN jaringan telepon/telekomunikasi yang semuanya digital.
  1. Network File System (NTFS)
  •  WWW
  1. Arsitektur client server yang diterpakan dalam infrastruktur internet

Contoh Impementasi Distributed Data Processing System

      Aplikasi facebook.Com yang biasa anda gunakan untuk bersosialisai dengan saudara, kawan dan orang di seluruh dunia melalui internet. Bila kita lihat aplikasi tersebut, database tidak didistribusikan, tetapi proses sistem dan penggunaan fungsi-fungsi atau feature pada sistem terpisah-pisah prosesnya tidak satu proses saja dalam satu waktu. Pada waktu tertentu ada orang yang sedang isi status, dan mungkin di waktu yang sama ada sedang mencari teman, ada yang mengupload foto dan sebagainya.  Tampak disini beberapa proses pada sistem terdistribusi pada setiap client yang berbeda.
      Pada penggunaan aplikasi pembayaran / transaksi online pada suatu perusahaan, misalnya saja tiket pesawat terbang. Aplikasi tersebut juga contoh dari aplikasi pengolahan data terdistribusi, dimana data pembayaran ada tersimpan di database bank, sementara data tiketnya tersimpan di database server maskapai yang menyediakan aplikasi tiket online tersebut. Jadi dapat dikatakan bila aplikasi yang digunakan menggunakan database yang terpisah tidak satu database saja, maka dapat dikatakan itu adalah aplikasi pengolahan data terdistribusi atau dikenal juga dengan distributed  data processing system.





references :

https://www.webopedia.com/TERM/D/distributed_processing.html

https://www.deskripsi.com/komputer/distributed-processing


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.

PERKEMBANGAN SYSTEM HANDHELD

Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital assistants (PDA). Pada beberapa sistem terdapat telepon selular. Sistem ini mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan display screen yang kecil.

Sistem operasi Handheld juga memiliki sejarah dalam perkembangannya, adapun sejarah perkembangan system operasi Handheld adalah:
·         1993 Ponsel pintar yang pertama, IBM Simon, memiliki fitur layar sentuh, email, dan fitur PDA dirilis.
·         1996 Palm Pilot 1000 personal digital assistant(PDA) diperkenalkan pertama kali dengan sistem operasi Palm OS.
·         1996 PC handled pertama dengan sistem Windows CE diperkenalkan.
·         2000 Symbian menjadi sistem operasi genggam modern pertama pada ponsel pintar dengan munculnya Ericsson R380.
·         2001 The Kyocera 6035 menjadi ponsel pintar pertama yang menggunakan Palm OS.
·         2002 Microsoft Windows CE versi Pocket PC untuk ponsel pintar diperkenalkan.
·         2002 BlackBerry merilis ponsel pintar pertamanya.
·         2007 Apple iPhone dengan iOS pertama kali diperkenalkan.
·         2008 OHA merilis Android 1.0 dengan HTC Dream (T-Mobile G1) sebagai ponsel Android yang pertama.
·         2009 Palm memperkenalkan webOS melalui Palm Pre.
·         2009 Samsung memperkenalkan Bada OS melalui Samsung S8500.
·         2010 Windows Phone OS dirilis.















Kamis, 25 Oktober 2018

BATCH SYSTEM



Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok 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. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. But, dalan beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.
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 begini 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
  .  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
  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.

PROCESS CONTROL BLOCK (PCB)



   PROCESS CONTROL BLOCK  (PCBadalah 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  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.





 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.




                                          
    PROCESS CONTROL BLOCK dibagi 3 kelompok yaitu :

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


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


 3.Process control data; digunakan oleh OS untuk mengelola proses itu sendiri.






REFERENCE :


THREAD


Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded 
mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. 
User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. 
User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari model 
yang berhubungan dengan user dan kernel thread atau yang biasa disebut Multithreading Models yaitu :
1)Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.
2)Model one to one: memetakan setiap user thread ke dalam satu kernel thread. Berakhir.
3)Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.

TENTANG THREAD
-Lightweight process: satuan penggunaan CPU
-Berbagi resource dengan thread lain dalam sebuah proses
-Proses (heavyweight process), memilki kontrol tunggal eksekusi

JENIS THREAD

1)User thread
Selalu berasosiasi dengan kernel thread
Pustaka di level user ! cepat
Salah satu thread yang melakukan blocking akan mencegah seluruh
proses di mana thread tersebut berasal untuk ditunda (single thread
kernel) ! SC: read , sleep
Pthread (POSIX), Win32, Java

2)Kernel thread
Pengelolaan di level kernel
lambat
dianggap seperti proses
Salah satu thread yang melakukan blocking, tidak mencegah seluruh
proses tertunda


MODEL THREAD

 1)MANY TO ONE
   -Konkurensi terbatas
   -Green (Solaris-2), GNU portable thread

2)ONE TO ONE
-Proses dicegah tertunda secara total
-Mahal, satu user thread harus diwakili satu kernel thread
-Windows NT/XP/2000, Linux, Solaris 9

3)MANY TO MANY
-Banyak user thread dipetakan ke kernel thread
-Konkurensi optimal
-Solaris sebelum versi 9, Windows NT/2000 dengan paket ThreadFiber



PUSTAKA THREAD

Memberikan API untuk pengembang perangkat lunak mengelola thread
Implementasi:
   -sepenuhnya di user level (-to-one)
   -didukung oleh kernel level (-to-many)

Posix thread
-Diimplementasi baik sebagai user maupun kernel level
-Standar IEEE 1003.1c: API terkait pembuatan dan sinkronisasi thread
-Umum digunakan pada keluarga UNIX

Ilustrasi posix thread
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int *a,*b;
void *vector(void *vargp) {
int temp,counter,start,finish,ptrNumber,*passVal ;
ptrNumber=*((int *) vargp); free(vargp);
start=(ptrNumber*25000);
finish=start+25000;
temp=0;
for(counter=start;counter<finish;counter++)
temp+=a[counter]*b[counter];
passVal=malloc(sizeof(int));
*passVal=temp; pthread_exit(passVal);
}
int main() {
pthread_t tid[4];
int c=0,c1=0,i,*ptr,*passVal,tmp;
a=malloc(100000*sizeof(int));
b=malloc(100000*sizeof(int));
for(i=0;i<1000;i++) {
a[i]=1+(rand()%1000);
b[i]=1+(rand()%1000);
c+=(a[i]*b[i]);
}
printf("C total (Sequential) = %d\n",c);
for(i=0;i<4;i++) {
ptr=malloc(sizeof(int));
*ptr=i; pthread_create(&tid[i],NULL,vector,ptr);
}
for(i=0;i<4;i++) {
if((pthread_join(tid[i], (void**) &passVal))==0) {
tmp=*passVal; c1+=tmp;
}
else {
printf("Threads %d can’t be joined\n",i);
printf("program terminated\n");
exit(0);
}
}
printf("C total (Parallel) = %d\n",c1);
printf("\nComparing sequential and parallel result\n");
if((c-c1)!=0)
printf("pthread failed...!\n");
else
printf("pthread success!\n");
return 0;
}


Java thread
 -Dikelola JVM
 -Dibuat dengan mengimplementasi Runnable

Iluastrasi java thread
class MutableInteger {
private int value;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value=value;
}
}
class Summation implements Runnable {
private int upper;
private MutableInteger sumValue;
public Summation (int upper, MutableInteger sumValue) {
this.upper=upper; this.sumValue=sumValue;
}
public void run() {
int sum=0;
Thread thrd=new Thread();
thrd.start();
for(int i=0; i<upper; i++) {
sum=sum+2;
}
sumValue.setValue(sum);
}
}
public class Driver {
public static void main(String[] args) {
if(args.length > 0) {
if(Integer.parseInt(args[0])<0) {
System.err.println(args[0]+" must be>=0.");
}
else {
MutableInteger sum=new MutableInteger();
int upper=Integer.parseInt(args[0]);
Thread thrd=new Thread(new Summation(upper,sum));
thrd.start();
try {
thrd.join();
System.out.println("The sum of "+ upper+ " is " + sum.getValue());
}
catch(InterruptedException e) {
}
}
}
else {
System.err.println("Usage: Driver <Integer Value>");
}
}
}



ISU DALAM THREAD

SC: fork&exec
Opsi saat thread dijalankan:
menduplikasi seluruh thread dalam sebuah proses
menduplikasi thread yang menjalankan

pembatalan thread
Terkait terminasi thread sebelum seharusnya selesai
Opsi:
Asinkron: langsung melakukan terminasi
Deffered: safely cancelation,

Penanganan signal
Pada thread:
SIGNAL dikirimkan ke thread yang menyebabkannya
SIGNAL dikirimkan ke setiap thread pada proses
SIGNAL dikirimkan ke thread tertentu pada proses
Menugaskan sebuah thread untuk menangani semua SIGNAL yang Terjadi

Thread pools
Multithreaded server: berpotensi membahayakan sistem jika diijinkan
membuat thread dalam jumlah sangat banyak (tak hingga)
Dibatasi jumlah thread yang diijinkan (pools)
Saat proses dijalankan, sejumlah thread telah disiapkan, menunggu
untuk memberi layanan pada client
-Keuntungan:
  lebih cepat daripada konsep on-demand
  mencegah kegagalan operasi karena keterbatasan resource

Thread Speciļ¬c Data
Memungkinkan setiap thread memiliki datanya sendiri
for(i=0;i<4;i++) {
ptr=malloc(sizeof(int));
*ptr=i; pthread_create(&tid[i],NULL,vector,ptr);
}

CONTOH SISTEM OPERASI PADA THREAD
WINDOWS  XP

One-to-one mapping
Berisi:
identitas
register, stack (user & kernel), data khusus 1
Struktur data utama:
Executive thread block (ETHREAD)
Kernel thread block (KTHREAD)
Thread environment block (TEB)

ILUSTRASI :
Linux Thread
Dikenal sebagai task
Thread dibuat dengan clone( ) SC
Memungkinkan berbagi ruang memori antara child-parent, pointer ke lokasi memori

IMPLEMENTASI PAKET  THREAD
1)Thread level kernel. 

   > Keunggulan :
      1)Memudahkan koordinasi multithread seperti proses server.
      2)Tidak seboros kumpulan proses tradisional.

   > Kelemahan :

      1)Operasi manajemen thread sangat lebih boros.
      2)Kernel harus menyediakan semua feature.

2)Thread level pemakai. 

   > Keunggulan :
      Kinerja luar biasa bagus disbanding thread level kernel.
      1)Tidak diperlukan modifikasi kernel.
      2)Fleksibelitas tinggi.

  > Kelemahan :

      1)Tidak manfaatkan multiprocessor.
      2)Untuk aplikasi dengan keterlibatan kernel yang kecil.
      3)Mengharuskan nonblocking system call.


  
JENIS THREAD BERDASARKAN WAKTU PENCIPTANYA

Kategori thread berdasarkan waktu penciptaan :

1. Static threads
Jumlah thread yang akan dibuat ditentukan saat penulisan dan kompilasi program.

Tiap thread langsung dialokasikan stack tetap.

Keunggulannya : sederhana.
Kelemahannya  :  tidak fleksibel.
2. Dynamic threads
Penciptaan dan penghancuran thread “on-the-fly” saat eksekusi. Penciptaan thread  

biasanya menspesifikasikan fungsi utama thread (seperti pointer ke procedure) dan ukuran stack, 
dapat juga ditambah parameter-parameter lan seperti prioritas panjadwalan.

Keunggulannya : fleksibel.
Kelemahannya  : lebih rumit.








REFERENCE :

Tombol Kombinasi Atau Shortcut Microsoft Word

27 Daftar shortcut berdasarkan abjad Ctrl + A = Memilih/memblok seluruh teks Ctrl + B = Menebalkan pilihan yang disorot (bold) Ctrl + ...