Kamis, 15 November 2012

Contoh Thread pada Bahasa Pemrograman

Thread adalah suatu pengontrol aliran program dengan menggunakan kendali tunggal.

contoh thread pada pemrograman java :

class TestSinkronisasi {
private java.util.Random random = new java.util.Random();
public void callMe(String data) {
System.out.print("[");
67
try{
Thread.sleep(random.nextInt(200));
}catch(InterruptedException e) {
e.printStackTrace();
}
System.out.print(data);
try{
Thread.sleep(random.nextInt(200));
}catch(InterruptedException e) {
e.printStackTrace();
}
System.out.println("]");
}
}
class ThreadBaru extends Thread {
private String data;
private TestSinkronisasi obj;
public ThreadBaru(TestSinkronisasi obj,String data) {
this.obj = obj;
this.data = data;
start();
}
public void run() {
obj.callMe(data);
}
}
class DemoThread {
public static void main(String[] args) {
TestSinkronisasi obj = new TestSinkronisasi();
ThreadBaru thread1 = new ThreadBaru(obj,"Superman");
ThreadBaru thread2 = new ThreadBaru(obj,"Batman");
ThreadBaru thread3 = new ThreadBaru(obj,"Spiderman");
//tunggu hingga semua child thread selesai dieksekusi
try{
68
thread1.join();
thread2.join();
thread3.join();
}catch(InterruptedException e) {
System.out.println("Thread utama diinterupsi " + e);
}
}
}

Ada juga alternatif lain sebagai berikut :
#define _REENTRANT
#include <stdio.h>
#include <thread.h>

/* Prototype for thread subroutine */
void *counter(void *);

int count;
mutex_t count_lock;

main()
{
char str[80];
thread_t ctid;

/* create the thread counter subroutine */
thr_create(NULL, 0, counter, 0, THR_NEW_LWP|THR_DETACHED, &ctid);

while(1) {
gets(str);
thr_suspend(ctid);

mutex_lock(&count_lock);
printf("\n\nCOUNT = %d\n\n", count);
mutex_unlock(&count_lock);

thr_continue(ctid);
}

return(0);
}

void *counter(void *arg)
{
int i;

while (1) {
printf("."); fflush(stdout);

mutex_lock(&count_lock);
count++;

for (i=0;i<50000;i++);

mutex_unlock(&count_lock);

for (i=0;i<50000;i++);
}

return((void *)0);
}

Sistem Operasi yang Mendukung HyperThreading

  1. Windows NT/XP/2000, linux, solaris 9 termasuk ke kelompok multithreading one the one model
  2. Windows NT/2000, IRIX, Digital Unix dan solaris termasuk kelompok multhithreading many the one model
  3. IRIX, HP-UX, Tru64 UNIX, solaris 8 termasuk kelompok multithreading two level model
  4. GNU juga termasuk ke kelompok multithreading many to one model

Dispatching Algorithm

Dispatching algorithm atau algoritma antrian adalah suatu proses mengeksekusi dalam 2 buah proses secara berurutan atau sekuensial ini memungkinkan efisiensi ketika mengeksekusi sebuah thread meskipun sistem operasi bersifat multitasking

Komputer dengan Teknologi Hyperthreading

komputer ini merupakan sebuah teknologi mikroprosesor yang diciptakan oleh intel corp, pada beberpa prosesor seperti pentium 4, pentium D, Xeon, dan core 2. 
prosesor tingkat ini akan dilihat oleh sistem operasi yang banyak mendukung seperti windows NT, 2000, xp, vista, dan GNU sebagai 2 buah prosesor walaupun jika secara fisik hanya 1 prosesor.jika demikian maka kerja sistem pun akan lebih efisien, meskipun sifatnya multitasking, sistem operasi tersebut melakukan eksekusi secara berurutan dengan sebuah algoritma antrean/algoritma dispatching

Latihan Tugas 4

10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat berjalan, dan gambarkan   diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara state

Jawab !


11. Apakah suatu proses memberikan 'issue' ke suatu disk I/O ketika, proses tersebut dalam 'ready' state jelaskan?

 Jawab !
 ya, karena dalam suatu proses mempunyai 'issue'(pengaruh) terhadap disk I/O itu sendiri

12. Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks(PCB).
ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU. jelaskan dua informasi yang harus dipunyai PCB?

Jawab !

- Informasi status I/O : berisi tentang informasi daftar I/O yang digunakan pada proses
- Informasi pencatatatan : berisi info tentang jumlah CPU, waktu riil, digunakan, batas waktu, jumlah akun, jumlah job, dll. 





 

Filesystem Hierarchy Standard (FHS)

FHS merupakan sebuah perangkat petunjuk sebagai penempatan file dan direktori pada SO linux, pada saat kita telah menginstal sebuah sistem operasi linux maka otomatis pada dirktori kita akan terdapat direktosri seperti bin, boot, dev, root, sbin dll yang telah disediakan oleh linux berdasarkan FHS. fungsi dari FHS untuk program pengembangan, program administrasi system dan interopabilitas, FHS memudahkan user dan pengembang untuk memodifikasi disto linux yang ingin mereka kembangkan.


Rabu, 07 November 2012

Perbedaan Struktur SO Windows dan Linux

1. Windows

terdapat 3 buah struktur sistem pada windows, yaitu :

  • FAT 16 : sistem yang hanaya digunakan untuk mengatur floppy drive, namun setelah dikembangkan lagi sistem ini bisa mengatur file pada HDD. FAT 16 tidak bisa melakukan proses enkripsi, kompresi, dan akses kontrol pada partisi
  • FAT 32 : merupakan pengembangan dari FAT 16 yang mempunyai kelebihan untuk membuat HDD jadi lebih baik kinerjanya, namun FAT 32 tidak mendukung untuk sembarang SO
  • NTFS : merupakan pengembangan dari kedua struktur sistem diatas kelebihan pada NTFS yaitu sudah mendukung kompresi file, enkripsi data dan cluster serta peningkatan security yang lebih baik
apabila pada PC sudah terinstalasi SO windows, maka akan terdapat direktori, antara lain :

- direktori C:\windows : didalamnya terdapat semua sistem dari windows. seperti system32, registry dan program lain yang mendukung windows untuk melancarkan tugasnya.
- direktori C:\program files : berisi semua aplikasi yang telah terpasang pada windows
- direktori C:\my document : berisi data file si pemilik

2. Linux


   linux mempunyai 3 sistem struktur, yaitu :
  • kernel : program yang berhubungan langsung dengan sistem perangkat keras dan memiliki peran untuk menjalankan proses, menydeiakan pelayanan sistem yang memberikan pengaturan proteksi akses ke sumber perangkat keras termasuk virtual memori
  • system library : berfungsi untuk berinteraksi dengan kernel
  • system utilities : aplikasi yang mempunyai fungsi untuk mengatur dan memanage secara individual, termasuk aplikasi yang menganalisis sistem.
fungsi dari masing2 direktori yang ada pada root :
1. /bin : berisi file yang bisa digunakan baik oleh user biasa maupun super user
2. /boot : berisi file yang digunakan untuk booting
3. /dev : berisi file sistem khusus yang merupakan refleksi device hardware yang digunakan sistem
4. /etc : berisi file konfigurasi sistem, dan biasanya hanya diubah superuser
5. /home : berisi direktori home
6. /lib : berisi file library yang mendukung kerja kernel linux
7. /mnt : direktori khusus yang digunakan unuk mounting storage ke dalam sistem dalam bentuk direktori
8. /proc : berisi file data2 kernel
9. /root : direktori untuk user root
10. /sbin : mirp seperti /bin, namun sbin hanya disediakan untuk superuser
11. /tmp : berisi file sementara yang digunakan pada aplikasi yang sedang berjalan
12. /usr : berisi library, bianri, dokumen dan file lain si user
13. /var : berisi file log, mailbox, dan data aplikasi

API, COMMAND INTERPRETER, SYSTEM CALL, AND SHELL

1. API (Application Programming Interface)


   API adalah suatu kumpulan perintah fungsi, maupun protokol yang biasa digunakan oleh para programmer pada saat membangun software untuk sistem operasi. API mempunyai perintah yang lebih terstruktur sehingga mempermudah programmer untuk membangun sebuah software, API bisa digunakan sistem operasi mana saja jika didalam sistem operasi tersebut sudah terdapatpaket2 API.

 2. Command Interpreter


     Program yang biasa di gunakan sebagai penerima perintah dari user, CI membaca menerima perintah berupa teks kemudian dia menerjemahkannya menjadi bahasa mesin.

Command Interpreter mempunyai beberapa fungsi, yaitu :

  • mengeksekusi program : memanggil suatu program ke memori, hasil eksekusi bisa normal ataupun ada indikasi error
  • pengoperasian I/O : menyediakan peralatan I/O pada saat program berjalan agar efesien dan aman
  • memanipulasi system file : kemampuan untuk dapat menulis, membuat, membaca, dan menghapus suatu file
  • error detection : CI dapat mendeteksi error pada CPU, piranti I/O, dan memori
3.  System Calls
     Cara pemanggilan aplikasi yang bertujuan untuk mendapat pelayanan yang diseikana oleh suatu sistem operasi.

Fungsi System Calls :
  • manajemen berkas : membuka atau menutup file, membuat atau menghapusfile
  • manajemen piranti : memasukan atau melepaskan suatu piranti
  • pengendalian proses : membuat atau mengakhiri proses, alokasi dan pengosongan memori
  • mempertahankan informasi : mengatur waktu, mengambil proses file atau atribut
4. Shell
    Shell mirip dengan CMD pada windows yang berfungsi sebagai penghubung antara sistem operasi dengan si user, perintah yang dilakukan yaitu dengan cara mengetikan baris perintah tersebut.


Fungsi Shell :
  • biasanya digunakan untuk mengontrol session pada OS yang berbasis UNIX
  • untuk pemrograman
jenis Sheel :

/bin/csh or /usr/bin/csh = C shell
/bin/jsh = bourne sheel termasuk pada job control
/bin/ksh = korn shell
/bin/rksh = resticted korn shell
/bin/rsh = restricted bourne sheel
/bin/sh = bourne shell







Selasa, 09 Oktober 2012

Perbedaan Mendasar OS Windows, Linux, dan Macintosh

1. Windows
  • lisensinya berbayar alias tidak gratis
  • mempunyai tingkat keamanan paling rendah karena sering terkena virus
  • user friendly karena pemakainnya yang mudah memungkinkan orang awam juga bisa mengoperasikannya
  • mempunyai biaya perawatan yang cukup mahal
2. Linux
  • free alias gratis karena lisensinya merupakan lisensi dari GPL(Gnu Public License)
  • mempunyai tingkat keamanan yang cukup handal jika dibandingkan Windows
  • kurang user friendly jika orang awam yang menggunakannya
  • biaya perawatan paling murah karena sifatnya yang opensource
3. Macintosh
  • lisensi berbayar lebih mahal jika dibandingkan dengan Windows
  • mempunyai tingkat keamanan yang paling handal
  • user friendly karena tampilan grafiknya yang sangat aduhai dan memanjakan user
  • biaya perawatan paling mahal diantara sistem operasi lain

CTTS, MULTICS, dan UNIX

1. CTTS
    adalah sistem operasi yang pertama kali mengenalkan Time Sharing Operation, atau sistem operasi yang bisa berbagi waktu untuk mengerjakan suatu task pada sebuah komputer. CTTS sendiri merupakan pengembangan dari sistem operasi FMS.
2. MULTICS
   adalah sistem operasi yang memungkinkan satu pemakai secara bersamaan, MULTIS sendiri merupakan pengembangan sistem operasi CTTS namun karena banyak kritikan dari para pakar komputer dan masih banyak kekurangan maka MULTICS pun dihentikan proyeknya, tapi banyak sistem operasi sekarang yang menggunakan konsep seperti ini.
3. UNIX
   adalah sistem operasi yang pada awalnya di ciptakan oleh Robert Morris,Unixmerupakan sistem operasi didesain untuk bisa digunakan secara massal dan bebas, dan pada tujuannya Unix diciptakan untuk sistem operasi yang lebih portable, multi tasking, dan multi user. Unix banyak digunakan sebagai server, pada saat ini sistem operasi yang terkenal dan mengadopsi sistem operasi Unix adalah Linux yang pemakaiannya sekarang sangat ramai karena dia bersifat open source.

Batch System FMS dan IBSYS

1. Batch System FMS
    merupakan sebuah software yang dibuat oleh Apple yang mempunyai fungsi untuk memantau pengkodean pada komputer tunggal atau ganda. software ini sangat digunakan pada Batch Fortran dan pemrograman Assemblar.
2. IBSYS
    merupakan rekaman sistem operasi yang diproduksi IBM yang ditanamkan pada komputer IBM 7090 dan IBM 7094.
IBSYS adalah sebuah program yang pada dasarnya monitor dasar, cara kerjanya yaitu dengan membaca kartu kendali yang ditempatkan antara kartu deck dan data pekerjaan individu. sebuah kartu IBSYS ditempatkan dalam kolom 1, kemudian diikuti kontrol yang dipilih program utilitas IBSYS.

Orang-orang yang Berpengaruh pada Perkembangan Dunia Sistem Operasi

1. Bill Gates
    Bill Gates(William Henry GAtes) adalah salah pendiri perusahaan IT terbesar yaitu Microsoft, Bill Gates pada sekitar tahun 1975 menciptakan sistem operasi MS-DOS yang merupakan cikal bakal lahirnya sistem operasi Windows yang terkenal karena user friendlynya sampai saat ini.
2. Linus Benedit Torvalds
    Linus merupakan seorang kewarga negaraan Finlandia, Linus merupakan perintis sistem operasi open source pertama yaitu Linux yang merupakan pengembangan sistem operasi unix, Linux sendiri merupakan singkatan dari namanya sendiri Linus dan unix.
3. Steven Paul Jobs
    Steve jobs merupakan salah satu pendiri perusahaan Apple Computer yang sekarang menjadi dan sekarang berkembang menjadi Apple Inc. Pada tahun 1976 dia mendirikan perusahaan ini bersama Steve Wozniak. Penemuan terbesarnya adalah ketika ia sadar akan potensi GUI dan mouse yang dikembangkan Xerox.
4. Robert Morris
    Dia merupakan seorang ahli kriptogafi dan salah satu pendiri sistem operasi unix. Sistem operasi sekarang seperti linux, android, IOS merupakan perkembangan dari sistem operasi unix yang merupakan hasil ciptaan Morris.
5. Richard Matthew Stallman
    merupakan pendiri proyek opensource GNU atau pendiri yayasan perangkat lunak bebas. Pada saat ini banyak perangkat lunak yang memakai lisensi dari dia.
6. Andy Rubin
    Andy adalah lulusan sarjana ilmu komputer Utica Collage. Andy mendirikan sebuah perusahaan Danger inc, yang membuat software2 smartphone dan kemudian Andy pun membuat OS Android yang kemudian dibeli oleh pihak Google hak patennya dan Andy pun bekerja di Google sampai saat sekarang.

Rabu, 03 Oktober 2012

Cara Instalasi Linux pada mesin virtual VMware Player


Langkah pertama buka apliakasi Vmware Player untuk membuat baru klik create a new virtual machine

Setelah itu cari aplikasi linux yang berformat .ISO pada file yang telah kita simpan sebelumnya
Setelah itu klik next> untuk melan jutkan pada langkah berikutnya
Kemudian berlanjut pada pemilihan sistem operasi apa yang kita inginan pada mesin virtual kita, karena kali ini saya akan menginstal linux maka tombol button tersorot  pada linux seperti pada gambar dibawah

Next> pada tahap ini kita akan memberi nama apa dan akan menempatkan sistem operasi pada disk mana kita akan menyimpannya

Langkah berikutnya kita diminta untuk memberi ruang berapa banyak pada sistem operasi pada mesin virtual kita, bisa dilihat pada gambar, saya menggunakan 8.0gb untuk instalasinya


Kemudian klik next> cek kapasitas RAM yang di inginkan pada customize hardware, pada tahap ini sebaiknya disesuaikan dengan spek komputer yang kita miliki


Klik finish, tunggu proses instalasi sampai selesai


Setelah proses berjalan sukses maka linux pun telah selesai di instal pada Vmware Player kita, saya menginstal Linux Puppy Slacko yang merupakan turunan linux Slackware..

hasil