Kamis, 15 November 2012

PROSES

Proses / task singkatnya adalah program yang sedang di eksekusi. Terdapat 3 istilah yang berhubungan dengan proses yaitu :
1. Multiprogramming (multitasking), ialah manajemen satu proses di satu pemroses. Sifatnya independent dan one program at any instant.
2. Multiprocessing, ialah manajemen banyak proses di komputer multiprocessor.
3. Distributed processing / computing, proses yang di eksekusi dibanyak sistem komputer yang tersebar si satu jaringan.

Terdapat beberapa kejadian penyebab pengalihan proses yaitu :
1. Interupsi sistem ( disebabkan kejadian eksternal )
2. Trap ( kesalahan dari proses running )
3. Supervisor call ( menyebabkan proses di block )

Program Sederhana Menggunakan Thread

Program sederhana menggunakan thread salah satunya adalah pemrograman berbasis console, dimana user bisa menghentikan proses dengan menekan tombol ”s” atau “S”. Proses yang sedang terjadi dijalankan melalui sebuah Thread dan proses menunggu juga dilakukan dalam Thread.

import std.thread;
import std.stdio;
import std.c.stdio;
import std.date;
// Thread proses utama ….
class mythread:Thread
{
private char [] d_name = “”;
private long d_nloop = 10;
private bool d_stop = false;
this(char [] name, long nloop)
{
super();
writefln(name ~ ” called”);
this.d_name = name;
this.d_nloop = nloop;
}

override public int run()
{
long i = 0;
for(i=0;(i<this.d_nloop && (!d_stop));i++)
{
//writefln(d_name ~ ” called again “);
}
if( d_stop )
writefln(d_name ~ ” stopped by user in “
~ std.string.toString(i) ~ ” times of loop”);
else
writefln(d_name ~ ” Finished …” ~ std.string.toString(d_nloop));
return 0;
}

public void stopIt()
{
d_stop = true;
}
}
// thread untuk menunggu pengguna menekan s atau S
class UserToStopAllThread: Thread
{
private bool d_stop = false;
this()
{
super();
}

override public int run()
{
while(!d_stop)
{
char ch = getch();
if(ch == ‘s’ || ch == ‘S’)
break;
}
return 0;
}

public void stopIt()
{
d_stop = true;
}
}
// ini adalah Thread utama ….
void main(char [][] args)
{
int i = 0;
mythread a = new mythread(“A”, 9999999999999);

writefln(“Tekan s untuk menghentikan proses ….”);
UserToStopAllThread utsa = new UserToStopAllThread;
a.start();
utsa.start();

while(a.getState() == Thread.TS.RUNNING && utsa.getState() == Thread.TS.RUNNING)
{
// tunggu sampai a selesai atau user menekan tombol ‘S’ or ‘s’
}
if(a.getState() == Thread.TS.RUNNING) a.stopIt(); // pastikan berhenti
if(utsa.getState() == Thread.TS.RUNNING) utsa.stopIt(); // pastikan berhenti

SISTEM OPERASI SUPPORT HYPERTHREADING

Berikut merupakan beberapa sistem operasi yang menggunakan teknologi hyperthreading :

1. linux, Model Multithreading one to one

2. solaris, Model Multithreading one to one

3. Solaris Green Threads, Model Multithreading many to one

4. GNU Portable Threads, Model Multithreading many to one

5. IRIX Model Multithreading many to many

6. Digital unix Model Multithreading many to many

7. Microsoft Windows NT 4.0, Model Multithreading one to one

8. Microsoft Windows 2000, Model Multithreading one to one

9. Microsoft XP Professional, Model Multithreading one to one

10.Microsoft Windows Seven, Model Multithreading one to one

Arsitektur Komputer Menggunakan Teknologi Hyperthreading dengan Algoritma Dispatching Algorithm

Sebuah arsitektur komputer dimana CPU nya menggusung teknologi yang seolah-olah seperti lebih dari 1 processor dengan menggunakan algoritma antrean untuk mengeksekusi proses-proses dari CPU secara berurutan. Sehingga kinerja dari processor tersebut menjadi lebih cepat dan effisien.  

Tekhnologi Hyperthreading merupakan teknologi yang memungkinkan sistem operasi tertentu mendeteksi adanya dua buah prsesor logis (logical procesor) yang beroperasi meskipun kenyataannya hanya ada sebuah prosesor.

Cara kerja dari Tekhnologi Hyperthreading ini tidak terlalu rumit dimana prosesor akan menjalankan dua aplikasi atau lebih secara bersamaan secara paralel. Dengan demikian akan didapatkan efisiensi dan waktu eksekusi yang lebih singkat dibandingkan denagn resuorces yang sama dengan prosesor tanpa kemampuan Hyper threading.

Apa itu dispatching algorithm?

Sistem operasi  mengenali 2 buah prosesor maka suatu sistem bekerja dlm melakukan sebuah eksekusii setiap "thread" akan lebih effisien, walaupun sitem tersebut bersifat "multitasking".
sitem operasi akan melakukan sebuah eksekusi proses secara berurutan, dengan menggunakan sebuah "algoritma antrean" yang dinamakan "Dispatching algorithm"

Senin, 12 November 2012

REVIEW OS ANDROID


ANDROID OS merupakan Sistem Operasi yang digunakan pad Handphone, tab dan netbook. Interface yang diberikan bisa dibilang bagus. Untuk itu disini saya hany akan mereview aplikas-aplikasi bawaan android. Berikut adalah review aplikasi yang ada di Android menurut saya :

  1. Messaging, aplikasi ini berisikan pesan masuk dan keluar yang di tampilakn dalam bentuk thread chat. Thread chat ialah kondisi dimana pesan masuk/keluar terdapat dalam page yang sama.
  2. Contact, tempat dimana kita melihat contact seseorang juga untuk menginput/mendeletemengedit suatu contact person.
  3. Calculator, aplikasi perhitungan
  4. Email, applikasi ini membantu kita dalam mengirim / menerima email melalui phone. Android menggunakan teknologi POP atau IMAP
  5. Alarm, layaknya apliksai alarm di beberapa phone alarm berfungsi sebagai alat waktu warn/pengingat. Alarm terintegrasi dengan kalender.
  6. Browser, android telah memberikan aplikasi bawaan browser yang mendukung flash player plug in dan Adobe.
  7. Time and Batterai, Sudah dapat dipastikan bahwa penunjuk waktu dan sisa daya baterai dapat ditampilkan di semua perangkat
  8. Launcher, Setiap vendor menyertakan launcher yang berbeda-beda, ada yang mempergunakan default launcher OSnya dan ada juga yang mengembangkannya sendiri dengan berbagai fitur tambahan, seperti HTC Sense dari HTC dan Touch Wiz dari Samsung.
  9. Gmail, untuk perpesanan
  10. GTalk, untuk chat melalui account Google
  11. Audio, Album dabn Video, aplikasi standard bawaan biasanya sudah mencukupi kebutuhan dalam memutar lagu, video, atau browsing foto hasil jepretan.
  12. Map, menggunakan teknologi Google Map 
  13. Latitude, berfungsi untuk mengetahui keberadaan teman kita selama mereka login dan ikut berpartisipasi mempergunakan latitude.
  14. Document Viewer, membuka suatu file document
  15. Social Network, disediakan nya Facebook dan Internet
  16. Market, dibutuhkan untuk mengunduh berbagai aplikasi Android tanpa harus berkelana di dunia maya dan mencarinya satu persatu. Di sini, Anda dapat menemukan berbagai program menarik dari developer manapun baik itu berbayar ataupun gratisan.

Informasi yang harus dimiliki PC

- Informasi Identifikasi proses : adalah merupakan  informasi - informasi yang berkaitan dengan identitas proses yang unik. Dengan identifier ini, proses dikaitkan ke tabel - tabel yang lain. Identifier tersebut antara lain ( identifier proses, identifier proses yang menciptakan dan identifier pemakai ).

- Informasi  Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.

- Informasi manajemen memori: informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.

- Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.

- Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar open file dan banyak lagi.
Informasi status Pemroses : berisi informasi - informasi yang esensinya merupakan nilai atau isi dari register -register pemroses. Saat proses runing, informasi -informasi tersebut ada di register. Dan Ketika proses di interupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali.

- Informasi Kendali Proses : Adalah informasi - informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif.

Proses Issue pada suatu disk i/o

Suatu proses akan memberikan issue ke suatu disk I/O ketika proses tersebut dalam “ ready “ state karena kalau tidak diberikan issue maka akan terjadi deadlock karena terjadi perebutan Sumber Daya antar proses.