Kamis, 03 Januari 2013

Pengertian Algoritma Banker, Algoritma Safety dan Algoritma Ostrich

Algoritma Banker 

Di kemukakan oleh Edsger W.Djikstra dan merupakan salah satu metode untuk menghindari deadlock.kenapa disebut algoritma banker?? karena memodelkan sebuah bank di kota kecil yg berurusan dg sekumpulan nasabah yg memohon kredit.

Analogi dari algoritma Banker dengan sistem Operasi adalah nasabah merupakan proses proses yg sedang berjalan,uang merupakan sumber daya,dan bankir merupakan sistem Operasinya..setiap nasabah memilki batas kredit,apabila seorang nasabah sudah mencapai bataas kredit pinjaman,maka di asumsikan nasabah tersebut telah menyelesaikan semua permasalahan bisnis nya dan dapat mengembalikan semua pinjaman nya kepada bank. setiap nasabah dpt memohon pda suatu waktu dan bankir dpt menyetujui atau menolak permohonan tersebut.jika di tolak,nasabah masih menggenggam dana yg telah dipinjamkan untuk nya dan menunggu selama watu(deadlock) sampai permohonan nya disetujui. permohonan disetujui atau ditolak ditentukan dg algoritma safety dan algoritma Resource requuest 

Struktur data yang digunakan untuk mengimplementasikan algoritma Banker akan menentukan state dari sumber daya yang dialokasikan oleh sistem.

Misalnya n = jumlah proses dan m = jumlah tipe resource. Struktur data yang diperlukan : 

• Available : Vektor panjang m. Jika Available[j] = k, terdapat k anggota tipe sumber daya Rj yang tersedia. 

• Max : matrik n x m. Jika Max[i, j] = k, maka proses Pi meminta paling banyak k anggota tipe resource Rj. 

• Allocation : matrik n x m. Jika Allocation[i, j] = k maka Pi sedang dialokasikan k anggota tipe resource Rj. 

• Need : matrik n x m. Jika Need[i, j] = k, maka Pi membutuhkan k anggota tipe resource Rj untuk menyelesaikan task. Need[i, j] = Max[i, j] – Allocation[i, j]. 

Beberapa notasi yang perlu diketahui adalah misalnya X dan Y adalah vektor  dengan panjang n. X ≤ Y jika dan hanya jika X[i] ≤ Y[i] untuksemua i = 1, 2, .., n. 

Sebagai contoh jika X = (1, 7, 3, 2) dan Y = (0, 3, 2, 1) maka Y ≤ X. 


Algoritma Safety 

Algoritma ini untuk menentukan apakah sistem berada dalam state selamat atau tidak. 

1. Work dan Finish adalah vector dengan panjang m dan n. Inisialisasi : Work = Available dan Finish[i] = false untuk i = 1,3, …, n. 

2. Cari i yang memenuhi kondisi berikut : 
(a) Finish [i] = false 
(b) Needi ≤ Work 
Jika tidak terdapat i ke langkah 4. 

3. Work = Work + Allocationi 
Finish[i] = true 
Kembali ke langkah 2. 

4. Jika Finish [i] == true untuk semua i, maka sistem dalam state selamat. 



Algoritma Ostrich 

Algoritma ostrich adalah strategi mengabaikan masalah yang mungkin terjadi atas dasar bahwa masalah itu mungkin sangat jarang terjadi - "menempel kepala di pasir dan berpura-pura bahwa tidak ada masalah". Dengan mengasumsikan bahwa lebih efektif untuk memungkinkan masalah itu terjadi dibandingkan upaya pencegahannya.  Pendekatan ini dapat digunakan dalam menangani deadlock pada pemrograman concurrent jika deadlock diyakini sangat jarang terjadi, dan jika biaya untuk mendeteksi atau pencegahan lebih tinggi. 

Beberapa algoritma dengan kinerja yang buruk banyak digunakan karena mereka hanya menunjukkan kinerja yang buruk pada kasus yang sengaja dibuat dan jarang terjadi dalam praktik sesungguhnya, contoh-contoh yang khas adalah algoritma simplex dan algoritma pengecekan tipe Standard ML. Masalah seperti integer overflow dalam bahasa pemrograman tetap juga sering diabaikan karena mereka hanya terjadi dalam kasus luar biasa yang tidak muncul untuk input sederhana. 

Pendekatan Hybrid menggunakan algoritma Ostrich adalah menentukan bahwa kasus sangat jarang tidak terjadi, dan kemudian beralih dari algoritma lain yang lebih kompleks. Trade-off di sini adalah bahwa jika keadaan berubah atau belum ditemukan, masalah langka dapat kembali terjadi. 



Sumber : http://tugasamazon.blogspot.com/2011/12/tentang-algoritma-banker-safety-ostrich.html

Sabtu, 27 Oktober 2012

Pengertian FHS (Filesystem Hierarchy Standard)



FHS (Filesystem Hierarchy Standard) 

Untuk yang baru mendengar FHS termasuk juga saya, berikut apa itu FHS menurut yang saya ketahui.. 

FHS adalah Sebuah struktur atau tata letak untuk menempatkan file atau direktori pada system operasi LINUX yang mirip UNIX. 

FHS juga menjadi acuan atau pedoman standar direktori dalam meracik distribusi LINUX yang operasional. 

Struktur direktori system operasi Linux berbeda dengan struktur system operasi Windows atau MS-DOS. Setiap direktori memiliki kegunaan yang berbeda-beda. 

Berikut gambar struktur direktori pada system operasi Linux : 


Dibawah ini adalah penjelasan dari masing – masing direktori pada gambar diatas : 

1. /bin/ : direktori yang berisi file-file binary standar yang dapat digunakan oleh seluruh user baik user biasa maupun super user (perintah dasar dalam linux). 

2. /boot/ : direktori yang berisi file-file untuk booting Linux. 

3. /dev/ : direktori yang berisi file system khusus yang merupakan refleksi device hard-ware yang dikenali dan digunakan sistem seperti Hard Disk, Floppy Disk, Flash Disk, dll. 

4. /etc/ : direktori yang berisi file-file konfigurasi sistem, dan hanya boleh diubah oleh super user. 

5. /home/ : direktori yang berisi yang merupakan direktori home untuk semua user. 

6. /lib/ : direktori yang berisi file-file library yang digunakan untuk mendukung kerja kernel Linux. 

7. /media/ : direktori point pengaitan pada media yang dapat dibongkar pasang. 

8. /mnt/ : merupakan direktori khusus yang disediakan untuk mounting (mengaitkan) device disk storage ke sistem dalam bentuk direktori. 

9. /opt/ : Berisi paket aplikasi tambahan(add-on), biasanya berupa aplikasi biner/propietar. 

10. /sbin/ : direktori yang sama seperti direktori /bin, tetapi hanya super user yang se-baiknya menggunakan binary- binary tersebut mengingat fungsi-fungsi binary yang terdapat di direktori ini untuk maintenance system. 

11. /srv/ : direktori yang berisi data untuk semua layanan system yang bersangkutan. 

12. /tmp/ : berisi file-file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan. 

13. /usr/ : direktori yang berisi library, binary, dokumentasi dan file lainnya hasil instalasi user. 

14. /var/ : direktori yang berisi file-file log, mailbox dan data-data aplikasi 

15. /root/ : direktori home untuk user root (user khusus dengan priviledges hampir tak terbatas. 

16. /proc/ : berisi file system khusus yang menunjukkan data-data kernel setiap saat. 


FHS diatas ini berlaku untuk semua distro Linux (Ubuntu, Red Hat, Fedora, etc.). 

Selasa, 23 Oktober 2012

Hasil Eksplorasi tentang Shell, System Call, Command Interpreter, API


1. Shell 
Shell adalah bagian yang menjadi jembatan antara kernel dan user, serta aplikasi-aplikasi yang digunakan dalam komputer. Semua aplikasi berdiri diatas shell, dan semua hardware berada dibawah kernel, gabungan kernel dan shell inilah apa yang kita kenal dengan OS. Segala perintah user akan memberikan perintah tersebut kepada kernel untuk di proses. Contohnya : comand.com pada MS-DOS, PowerShell pada Microsoft Windows, dan LinuxShell pada linux.
Fungsi Shell, yaitu sebagai Penerjemah perintah anatar user dengan kernel dan untuk membedakan huruf kecil dan besar dalam menerima perintah .

2. System Call 
Sistem call merupakan penyedia interface antara program bagian OS dan system call sebagai jembatan antara proses dan Sistem operasi. System ini ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang dapat mengendalikan mesin. 
Fungsi Sistem Call, yaitu mengizinkan program yang sedang berjalan untuk membuat permintaan secara langsung dari sistem operasi dan kontrol proses serta manipulasi alat dan bekas.

3. Command Interpreter
Command interpreter adalah bagian dari sistem operasi komputer yang memahami dan menjalankan perintah yang dimasukkan secara interaktif oleh manusia atau dari sebuah program.Dalam beberapa sistem operasi, command interpreter disebut shell.
Fungsi Command interpreter, yaitu menyediakan mekanisme agar pengguna dapat membuat permintaan tanpa menulis program.

4. API (Aplication Programing Interface) 
API (Aplication Programing Interface) atau aplikasi antarmuka pemrograman adalah metode spesifik yang ditentukan oleh sistem operasi komputer atau program aplikasi dimana seorang programmer menulis sebuah program aplikasi dapat membuat permintaan dari sistem operasi atauaplikasi lain.
API juga merupakan kumpulan fungsi-fungsi eksternal yang disediakan library windows untuk mengatur kemampuan dan tingkah laku setiap element di Windows (dari tampilan di desktop hingga alokasi memory) sehingga dapat dimanfaatkan suatu program untuk meningkatkan kemampuan program tersebut.

Analisis Struktur Sistem Linux dan Windows

Struktur Sistem Linux

Sistem linux tersusun atas tiga komponen penting yaitu :
  1. Kernel, menyediakan semua fungsi yang diperlukan untuk menjalankan proses dan menyediakan layanan system untuk memberikan pengaturan dan proteksi akses ke sumber daya hardware termasuk pada memori virtual. Kernel mengimpelmentasikan semua fitur yang diperlukan supaya dapat bekerja sebagai system operasi. 
  2. Perpustakaan system, menentukan kumpulan fungsi standar di mana aplikasi dapat berinteraksi dengan kernel, dan mengimplementasikan hamper semua fungsi system operasi yang tidak memerlukan hak penuh atas kernel. Library juga dapat menyediakan versi lebih kompleks dari system call dasar. Contohnya, fungsi buffered file handling dari bahasa C semuanya diimplementasikan dalam perpustakaan system, yang memberikan control lebih baik terhadap input output dari system call kernel dasar. Perpusatakaan juga menyediakan rutin yang tidak ada hubungan dengan system call, seperti algoritma penyusunan (sorting), fungsi matematika, dan rutin manipulasi string (string manipulation). 
  3. Utilitas sistem, yaitu program yang melakukan pekerjaan manajemen secara individual. Utilitas system termasuk semua program yang diperlukan untuk menginisialisasi system, seperti program untuk konfigurasi alat jaringan (network device) untuk load modul kernel. Program server yang berjalan secara terus menerus juga termasuk sebagai utilitas system, program semacam ini mengatur antrian pada printer, permintaan login dan koneksi jaringan yang masuk. 
Gambar hierarki file system di LINUX

 

Struktur Sistem Windows 

Sistem operasi windows sudah sangat terkenal luas. Windows mempunyai manajemen proses, memori utama dan juga media penyimpanan. Di windows ini si-user tidak dapat mengubah atau memodifikasi sistem operasi windows menjadi seperti yang mereka inginkan, karena windows ini merupakan operasi sistem yang bukan open source

berikut adalah arsitektur direktori windows

 



Sabtu, 06 Oktober 2012

Perbedaan Diantara Windows, Linux dan Mac OS

No
Perbedaan
Windows
Linux
Mac OS
1
File System
Windows umumnya menggunakan FAT, FAT32, ataupun NTFS dan yang terbaru exFAT , namun exFAT belum umum digunakan

Linux umumnya menggunakan ext2, ext3, dan terbaru ext4 ataupun reiserFS, XFS Mac OS X menggunakan HFS dan HFS+
2
Tahapan Booting
Bootloader akan mencek file boot.ini di partisi C:\ lalu akan meload ntdetect.com dan ntloader, setelah itu barulah meload kernel32.dll dan semua driver yang berekstensi .sys (windows\System32\Driver\), setelah itu meload service dan pustaka program yang diperlukan kemudian menjalankan winlogonui.dll dan terakhir explorer.exe Bootloader akan mencek konfigurasi bootloader dimana partisi root berada barulah meload kernel, kernel kemudian melakukan probing hardware dan setelah probing selesai, linux akan menjalankan service dasar udev untuk membuat file device hasil probing dan meload driver yang sesuai hardware baik driver yang tertanam di image kernel (vmlinuz) ataupun yang berupa modul (*.ko) . setelah itu menjalankan service secara background barulah menjalankan mode GUI melalui service GDM atau KDM dan meload X11 dan menjalankan Desktop session (Gnome, KDE, XFCE, atau yang lainnya)

Bootloader akan meload kernel (darwin kernel) dan meload seluruh ekstensi kernel yang berekstensi .kext, setelah itu akan dilakukan probing hardware yang terdapat di PC/laptop dengan mendumping info DSDT dari BIOS motherboard, setelah itu membuat file device hasil probing DSDT dan melakukan pengenalan hardawre melalui srvice IOREG (semacam UDEV di Linux) barulah dijalankan program decrypter file binari (apple decrypter atau dsmos) untuk bisa meload driver dan menjalankan binari program baik service ataupun program lainnya, setelah semua service dijalankan maka akan dijalankan mode GUI (loginwindow.app) dan barulah OS masuk mode GUI dan menjalankan program yang diperlukan saat startup.

3
Hirarki Folder Root
Pada Windows, terdapat 3 folder utama, program dan pustaka sistem terdapat di dalam folder C:\Windows, program di folder C:\Program Files, dan konfigurasi User folder C:\Document and setting.
pada Linux, hirarkinya pada umumnya seperti ini
/bin #lokasi program utama
/boot #lokasi kernel dan konfigurasi bootloader
/etc #lokasi konfigurasi system dan lokasi script service
/dev #lokasi file device
/lib #lokasi pustaka utama
/media #lokasi mounting storage
/opt #lokasi aplikasi alternatif
/proc #lokasi informasi detail device
/sbin #lokasi binari program sistem utama
/sys #lokasi proses yang terdapat di RAM
/usr #lokasi program
/tmp #lokasi file sementara
/var #lokasi log dan beberapa variabel konfigurasi service atau program

pada mac OS X hirarkinya seperti ini
/.mach_kernel #file kernel
/.chameleon #bootloader
/.DSDT.aml #file dumping DSDT BIOS
/Applications #lokasi program default buatan apple semacam iTunes, safari dll
/bin #lokasi program opensource yang digunakan seperti bash, apachem samba dll
/Library #lokasi file konfigurasi, pustaka, log
/System #lokasi program sistem, driver, services
/Users #lokasi homedir user, data user dan program user
/Volumes #lokasi mounting storage
/private/etc #lokasi konfigurasi program non apple, atau program opensource yang digunakan
/private/tmp #lokasi file temporary
/private/var #lokasi

4
Konfigurasi
pada windows, hampir semua konfigurasi terdapat pada suatu data binary yang terdapat di file C:\Document and settings\\ntuser.dat dan untuk membacanya digunakan program registry editor
pada linux konfigurasi disimpan berupa file teks baik berupa nama tanpa ekstensi ataupun berekstensi .conf yang terdapat di folder /etc ataupun /var
pada mac, konfigurasi sistem berupa file XML dengan ekstensi .plist dan biasanya bernama awalan com.*.plist yang terdapat di folder /Library/Preferences/SystemConfigurations/ , konfigurasi program lainnya terdapat di /private/etc dan /Users//Library/
5
Program Binari dan Library
Binari program berupa file dengan ekstensi .exe dan library program berupa file dengan ekstensi .dll (dynamic link library) yang terdapat di folder


C:\windows, C:\Document and Settings\\Application Data\ , C:\Program Files\

binari program berupa file ELF tanpa ekstensi ataupun script shell *.sh dan library program berupa file ELF dengan ekstensi .so (shared object) yang terdapat


di folder /bin , /usr/bin , /usr/sbin (binari program) sementara library (pustaka program) terdapat di folder /lib , /usr/lib

binari program berupa binari terenkripsi berekstensi .app yang terdapat di folder /System/Library/, pustaka program berupa file terenkripsi yang terdapat pada folder /Library , program yang diinstal oleh Users terinstal di /Users/(username)/Applications/
6
Lisensi
Tidak gratis
Bersifat gratis karena pendistribusiannya di bawah lisensi GPL (Gnu Public License)
Tidak gratis (mahal)
7
Keamanan
Paling rendah
Di bawah Mac OS
Paling aman
8
Open source
Tidak
Ya
Tidak
9
Sifat fitur
User Friendly (ada fitur Accessibility bagi penderita cacat fisik seperti pendengaran dan penglihatan)
Sifat user friendly di bawah windows (multi-user dan multi-tasking)
User friendly (tapi karena mahal, sehingga tidak banyak yang menggunakan Mac OS)
10
Kepemilikan lisensi
Bergantung pada vendor Microsoft
Tidak bergantung pada vendor (vendor-independent)
Bergantung pada vendor Apple
11
Perawatan
Biaya maintenance tinggi
Biaya maintenance rendah
Biaya maintenance sangat tinggi
12
Kestabilan
Kenyamanan dan kestabilan paling rendah
Kenyamanan dan kestabilan di atas Windows
Kenyamanan dan kestabilan paling tinggi karena benar-benar di desain untuk komputer dengan spesifikasi tertentu dan hanya digunakan pada komputer tersebut
13
Keunggulan
Untuk game
Untuk server
Untuk grafis
14
Ketersediaan aplikasi pihak ketiga
Paling banyakcompatible-nya
Di bawah windows
Paling sedikit
15
Penggunaan hardware
Kompatibel
Kompatibel
Tidak kompatibel karena monopoli vendor (Apple)
16
Resource
Membutuhkan resource yang lebih tinggi dari linux
Membutuhkan resource yang rendah (spesifikasi komputer minimal)
Tergantung pembuat, karena Mac OS hanya dapat diinstall ke komputer yang dibuat oleh vendornya
17
Ketahanan terhadap virus
Rentan terhadap virus (namun telah merilis software antivirus)
Lebih unggul dari windows
Tidak mudah terkena virus (Dirancang dengansecurity oriented, Mac OS tidak diganggu oleh serangan konstan dari PC virus dan malware)

Pengertian CTTS, MULTICS, dan UNIX

CTSS
CTSS adalah salah satu waktu berbagi sistem operasi, dikembangkan di M.I.T Pusat Komputasi. CTSS pertama kali ditunjukan pada tahun 1961, dan dioperasikan di M.I.T sampai tahun 1973. Selama paruh waktu ini, M.I.T proyek MAC mempunyai salinan kedua dari CTSS, tetapi sistem tidak menyebar melampaui dua situs. 

· CTSS memiliki salah satu utilitas format teks pertama komputerisasi, disebut limpasan 
· CTSS memiliki salah satu antar-pengguna implementasi pertama pesan, mungkin menemukan email. 
· MIT staf Pusat Komputasi Louis Pouzin diciptakan untuk CTSS perintah yang disebut RUNCOM, yang dieksekusi daftar perintah yang terkandung dalam sebuah file. (Dia kemudian menciptakan sebuah desain untuk Multics shell, yang pada gilirannya terinspirasi Unix shell script). 

MULTICS
Multics adalah awal berpengaruh time-sharing sistem operasi.proyek ini di mulai pada 1964 di cambridge,massachussets. Multics awalnya di kembangkan untuk GE-645 mainframe,sebuah 3 6-bit sistem kemudian,di dukung pada 6180 Honeywell mesin seri."Dengan multics mereka mencoba untuk memiliki sistem oprerasi yang jauh lebih fleksibel,dan itu gagal total,"kata Dr Peter H.Salus,penulis sejarah definitif tahun-tahun awal Unix itu. Bell Laboratories mundur dari proyek pada tahun 1969, beberapa orang yang telah bekerja di sana melanjutkan untuk menciptakan Unix sistem. Desain dan fitur dari multics sangat mempengaruhi Unix sistem operasi, yang pada awal nya ditulis oleh dua mantan-programer yang lebih tua. Pengaruh dangkal Multics di Unix jelas dibanyak, termasuk penamaan perintah, seperti 1s untuk segmen daftar atau file.

UNIX
Unix adalah multitasking, multi-user komputer sistem operasi awalnya dikembangkan pada tahun 1969 oleh sekelompok AT & Tkaryawan diBell Laboratories, termasuk Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas Mcllroy dan Joe Ossanna. Sistem operasi Unix pertama kali dikembangkan pada bahasa assembly, tetapi dengan 1973 sudah hampir seluruhnya recoded di C. 

Teknologi Batch System FMS dan IBSYS

Batch System 
Batch Monitor adalah sebuah program perangkat lunak yang dibuat oleh Apple untuk melihat dan memantau tugas pengkodean pada komputer tunggal atau ganda. Sebelum IBSYS, IBM yang diproduksi untuk IBM 7090 tape komputer berbasis sistem operasi yang tujuan utamanya adalah untuk FORTRAN program - pada kenyataannya FMS dan compiler FORTRAN yang pada tape yang sama. FORTRAN adalah tingkat tinggi pertama bahasa pemrograman dan compiler mengoptimalkan berkualitas tinggi pertama.

FMS (Fortran Monitoring System)
Merupakan fungsi dasar system operasi yang diciptakan pada tahun 1955-1965 atau generasi kedua sejarah system operasi dimana computer belum dilengkapi system operasi. FMS (Fortran Monitoring System) berfungsi sebagai komponen system operasi, pada system ini job dikerjakan dalam satu rangkaian lalu di eksekusi secara berurutan atau sistemnya terpusat. Pada awal 60-an sistem operasi IBSYS diperkenalkan untuk IBM 7090 komputer. Sistem ini didasarkan pada sistem batch di mana pekerjaan yang digabungkan bersama-sama dengan instruksi yang diperlukan untuk memungkinkan intruksi untuk diproses tanpa intervensi hampir sama dengan FMS.

IBSYS 
IBSYS adalah rekaman berbasis system operasi yang IBM disertakan dengan nya IBM 7090 dan IBM 7094 komputer. IBSYS didasarkan pada FORTRAN Sistem Monitor (FMS) dan Sistem Operasi SAHAM. IBSYS sendiri benar-benar program monitor dasar, bahwa membaca gambar kartu kendali ditempatkan antara deck kartu program dan data pekerjaan individu.segera diikuti oleh Nama Kontrol yang dipilih berbagai program utilitas IBSYS diperlukan untuk membuat dan menjalankan pekerjaan.