Powered By Blogger

Minggu, 15 Mei 2011

MSI P67AGD65 MB Full Specifications

P67A GD65 Chipset

* Intel® P67 Chipset

Main Memory

* Supports four unbuffered DIMM of 1.5 Volt DDR3 1066/1333/1600*/2133*(OC) DRAM, 32GB Max
- Supports 1GB/ 2GB/ 4GB/ 8GB DRAM size
- Supports Dual channel mode

P67A-GD65 Slots

• 2 PCI Express gen2 x16 slots
• 3 PCI Express gen2 x1 slots
• 2 32-bit v2.3 master PCI bus slots.
- Support 3.3v/5v PCI bus interface.

On-Board SATA

• SATAII controller integrated in Intel® P67 chipset
- Up to 3Gb/s transfer speed.
- Supports four SATAII ports (SATA3~6) by P67 PCH

• SATAIII controller integrated in Intel® P67 & Marvell SE9128 chipsets
- Up to 6Gb/s transfer speed.
- Supports two SATAIII ports (SATA1~2) by P67 PCH
- Supports two SATAIII ports (SATA7~8) by Marvell SE9128
- SATA1~6 ports support RAID 0/1/5/10 mode by Intel P67 PCH
- SATA7~8 ports support RAID 0/1 mode by Marvell SE9128

• eSATAII controller integrated in JMicron® JMB362 chipset
- Supports two eSATA ports (back panel)

USB 3.0

• 4 USB 3.0 ports(2 by back panel, 2 by interanl ports) by NEC® uPD720200F1

Audio

• Chipset integrated by Realtek® ALC892
- Flexible 8-channel audio with jack sensing
- Compliant with Azalia 1.0 Spec
- Meet Microsoft Vista Premium spec

LAN

• Supports one PCI Express LAN 10/100/1000 Fast Ethernet by Realtek 8111E.

IEEE1394 / FireWire

• VIA® VT6308P chipset
- Supports up to two 1394 ports. (Rear panel x1, pinheader x1)
- Transfer rate is up to 400Mbps.

Internal I/O Connectors

- ATX 24-Pin power connector
- 8-pin ATX 12V power connector
- CPU x 1 / System x 4 FAN connectors
- CD-in connector
- Front panel audio connector
- Front panel connector
- 1 x chasis intrusion connector
- 1 x USB 2.0 connector
- 1 x USB 3.0 connector
- 4 x Serial ATAII connectors
- 4 x Serial ATAIII connectors
- 1 x IEEE1394 connector
- 1 x Clear CMOS jumper
- 1 x SPDIF-out connector
- 1 x TPM module connector
- 1 x Serial port connector
- 1 x Voltage Check Point
- 1 x Power button
- 1 x Reset button
- 1 x OC Genie button

Back Panel I/O Ports

- 1 x PS/2 Mouse/Keyboard port
- 8 x USB 2.0 ports
- 1 x Clear CMOS button
- 1 x Coaxial SPDIF port
- 1 x Optical SPDIF port
- 1 x IEEE1394 port
- 2 x eSATA ports
- 1 x RJ45 LAN Jack
- 2 x USB 3.0 ports
- 1 x 6 in 1 audio jack

BIOS

• The mainboard BIOS provides “Plug & Play” BIOS which detects the peripheral devices and expansion cards of the board automatically.
• The mainboard provides a Desktop Management Interface(DMI) function which records your mainboard specifications.

Dimension

• 30.5cm(L) x 24.5cm(W) ATX Form Factor

Mounting

• 9 mounting holes

Jumat, 10 Desember 2010

PROSES KONGKURENSI YANG ADA DI WINDOWS

PROSES KONGKURENSI YANG ADA DI WINDOWS

Kongkurensi timbul akibat berkembangnya dunia IT. Berawal dari tuntutan kebutuhan pengguna komputer yang semakin komplek maka lahir kongkurensi dengan segala keterhubungannya. Pengguna komputer membutuhkan pelayanan dari komputer yang bisa melayani beberapa proses sekaligus dalam waktu yang bersamaan.

Kongkurensi merupakan landasan umum perancangan sistem operasi. Prosesproses disebut kongkurensi jika proses-proses (lebih dari satu proses) berada pada saat yang sama. Saat yang sama ini maksudnya proses-proses tersebut berlangsung pada waktu yang sama dan menggunakan sumber daya yang sama. Kita ambil contoh pada system operasi Windows, jika kita menjalan Microsoft Word bersamaan dengan Winamp maka itu adalah kongkurensi. Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik.

Untuk penanganan kongkuren, bahasa pemograman saat ini telah memiliki mekanisme kongkurensi dimana dalam penerapannya perlu dukungan sistem operasi dimana bahasa berada.

Masalah-masalah Akibat Kongkurensi

Proses proses yang kongkuren akan menyebabkan beberapa kemungkinan masalah yang muncul. Masalah ini muncul setelah atau ketika proses berlangsung. Adapun kemungkinan-kemungkinan masalah tersebut adalah :

a. Mutual exclusion (pengeluaran timbal balik)

Merupakan kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya : printer, disk drive). Kondisi demikian disebut sumber daya kritis, dan bagian program yang menggunakan sumber daya kritis disebut critical region / section. Hanya satu program pada satu saat yang diijinkan masuk ke critical region. Pemrogram tidak dapat bergantung pada sistem operasi untuk memahami dan memaksakan batasan ini, karena maksud program tidak dapat diketahui oleh sistem operasi. Hanya saja, system operasi menyediakan layanan (system call) yang bertujuan untuk mencegah proses lain masuk ke critical section yang sedang digunakan proses tertentu. Pemrograman harus menspesifikasikan bagian-bagian critical section, sehingga sistem operasi akan menjaganya. Pentingnya mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu.Pemaksaan atau pelanggaran mutual exclusion menimbulkan :

Ø Deadlock

Ø Starvation

b. Deadlock (buntu)

Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar. Ilustasi deadlock, misalnya :

Ø Terdapat dua proses, yaitu P1 dan P2 dan dua sumber daya kritis, yaitu R1 dan R2.

Ø Proses P1 dan P2 harus mengakses kedua sumber daya tersebut, dengan kondisi ini terjadi : R1 diberikan ke P1, sedangkan R2 diberikan ke P2.

Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus maka kedua proses akan saling menunggu sumber daya lain selamanya. Tak ada proses yang dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tak pernah diperolehnya. Kedua proses dalam kondisi deadlock, yang tidak dapat membuat kemajuan apapun dan deadlock merupakan kondisi terparah karena dapat melibatkan banyak proses dan semuanya tidak dapat mengakhiri prosesnya secara benar.

c. Starvation(kelaparan)

Starvation adalah keadaan dimana pemberian akses bergantian terus-menerus, dan ada suatu proses yang tidak mendapatkan gilirannya. Ilustasi deadlock, misalnya :

Ø Terdapat tiga proses, yaitu P1, P2 dan P3.

Ø P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodik

Skenario berikut terjadi :

Ø P1 sedang diberi sumber daya R sedangkan P2 dan P3 diblocked menunggu sumber daya R.

Ø Ketika P1 keluar dari critical section, maka P2 dan P3 diijinkan mengakses R.

Ø Asumsi P3 diberi hak akses, kemudian setelah selesai, hak akses kembalidiberikan ke P1 yang saat itu kembali membutuhkan sumber daya R. Jika pemberian hak akses bergantian terus-menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesan sumber daya R. Dalam kondisi ini memang tidak terjadi deadlock, hanya saja P2 mengalami starvation (tidak ada kesempatan untuk dilayani).

d. Sinkronisasi

Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. tujuan utama sinkronisasi adalah menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock dan starvation. Sinkronisasi umumnya dilakukan dengan bantuan perangkat sinkronisasi. Penyelesaian terhadap masalah ini sangat penting karena perkembangan teknologi sistem komputer menuju ke sistem multiprocessing, terdistribusi dan paralel yang mengharuskan adanya proses-proses kongkuren.

TERDAPAT 2 JENIS RESOURCE YANG DIGUNAKAN :

preemtable resource

resource yang dapat diambil dan dilepas dari proses yang sedang memakainya tanpa memberikan efek apapun pada proses tersebut.

Non-preemtable resource

resource tidak dapat diambil dari proses yang sedang membawanya, karena akan mengakibatkan kegagalan komputasi, contoh : printer, bila suatu proses sedang menggunakan printer untuk mencetak, maka proses lain tidak dapat menggunakan printer tersebut.

Jumat, 19 November 2010

Penjadwalan Proses Di Linux

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi LINUX

Penjadwalan Proses

Pada sistem Linux, terdapat banyak cara untuk menangani eksekusi-eksekusi perintah. Diantaranya, diberi kesempatan untuk membuat daftar perintah dan menentukan kapan perintah dijalankan oleh sistem. Perintah at , sebagai contoh memberi peluang untuk menjalankan program berdasarkan waktu yang ditentukan. Perintah batch adalah semiliar dengan at, namun batch menjalankan program-program manakala sistem menemukan waktu untuk mereka.

Contoh perintah command “At”

1. Command “At”
Dengan menggunakan Perintah ini kita dapat melakukan penjadwalan pekerjaan kita pada waktu tertentu. Misalnya Pada jam 12.00 kita ingin melakukan ping ke alamat 192.168.0.1 maka commandnya adalah :
Pertama kita buat file di /home dengan nama coba (command untuk buatnya adalah ”#touch coba” tanpa tanda petik). File ini sebagai tempat kita menyimpan/melihat proses
Lalu selengkapnya seperti di bawah ini :
(root@Sigit home)#touch coba
(root@Sigit home)#at 12.00
at>ping 192.168.0.1 > /home/coba
at>ctrl-D (ket:Tekan Ctrl+D)
Maka jam 12.00 akan terjadi proses ping ke Ip 192.168.0.1 yang keterangan prosesnya ada di file /home/coba.

Perintah cron memungkinkan program untuk menjalankan secara pereodik, dan perintah crontab mengizinkan user untuk mengedit file-file yang digunakan oleh cron.

Contoh perintah command “crontab” :

2. Command “crontab”
Dengan menggunakan command ini kita dapat melakukan penjadwalan pekerjaan kita secara berulang-ulang.
Misalkan kita ingin melakukan ping ke alamat IP 192.168.0.1 setiap 5 menit sekali. Caranya seperti ini :
Pertama kita membuat file ping.sh
(root@sigit home)#vi ping.sh
Isi dari file ping.sh adalah:
#!/bin/sh
ping 192.168.0.1
Simpan file ini dengan cara tekan esc lalu ketikan “:wq!” (tanpa petik atas)
Kemudian kita edit crontabnya dengan cara :
(root@Sigit home)#crontab –e
lalu tambahkan sebagai berikut kedalam crontab:
0,5,10,15,20 * * * * sh /bin/ping.sh
Maka setiap lima menit computer anda akan melakukan ping ke IP 192.168.0.1

Perintah-perintah scheduling tersebut sangat berguna sat ingin melakukan pengaturan terhadap sistem agar tidak terlalu sibuk menjalankan tugas-tugas. Teknik ini juga sangat baik untuk eksekusi script-script bagi layanan-layanan exksternal seperti query-query database.
Perintah at
Seperti telah diuraikan diatas, untuk menjadwalkan satu atau beberapa perintah pada waktu yang ditentukan dapat digunakan at. Sebagai contoh, untuk membentuk pekerjaan pada jam 2:30 a.m yakni melakukan pencetakan semua file yang terdapat pada direktori /home/mahasiswa/dimas dan melakukan pengiriman mail pemberitahuan ke user yang bernama anjik bahwa pekerjaan pencetakan telah dilakukan pukul 2.30 a.m. Untuk menuliskan shcedule pekerjaan dengan at yakni dengan menulis perintah baris demi baris dan menekan enter untuk masing-masing perintah dan untuk mengakhiri dapat digunakan .
$ at 2.30
lp /home/mahasiswa/dimas/*
echo “File sudah dicetak Pak !” | mail –s “Pencetakan “ dihinamajikan@yahoo.com

Beberapa variasi penggunaan perintah at dapat dilakukan dengan :
At hh:mm : Penjadwalan kerja berdasarkan jam (hh) dan menit (mm),
menggunakan standard 24 jam
At hh:mm month
day year : Penjadwalan kerja berdasarkan jam (hh) dan menit (mm), bulan,
hari dan tahun tertentu
at –l : Mendaftar jadwal tugas-tugas, merupakan alias utk perintah atq.
At now +count
timeunit : Menjadwalkan pekerjaan sekarang plus hitungan berdasarkan
time-unit ; time unit dapat berupa menit, jam, hari atau minggu
at –d job_id : Membatalkan kerja dengan nomor job_id
Sebagai user root, dapat dengan bebas menjalankan perintah-perintah ini, sedangkan user lian, file-file /etc/at.allow dan /etc/at.deny menentukan permisi permisi menggunakan perintah tersebut. Jika file /etc/at.allow ada, maka hanya user-user yang tercantum dalam file tersebut yang diizinkan untuk menggunakan perintah at . Jika file /etc/at.allo tidak tersedia, sistem akan mengecek file /etc/at.deny yang akan memberikan izin penggunaannya, tapi kalau /etc/at.deny kosong, setiap user dapat menggunakan perintah at ini. Perintah batch
Dalam sistem Linux tidak hanya memiliki satu perintah untuk penjadwalan tugas-tugas. Dengan menggunakan perintah batch user dapat memberikan kelonggaran terhadap sistem untuk memutuskan sendiri kapan proses dijalankan.
Perintah batch akan dijalankan oleh sistem jika sistem dalam keadaan tidak begitu sibuk. Tugas-tugas yang dijalankan melalui batch akan dieksekusi melalui background. Format menjalankan perintah batch yaitu dengan mengetikkan perintah di terminal dan mengakhiri dengan pada akhir baris.

contoh :
$ batch
lp /home/mahasiswa/dimas/*
echo “File sudah dicetak Pak !” | mail –s “Pencetakan “ dihinamajikan@yahoo.com

Perintah cron dan crontab
Untuk menjalankan perintah atau proses yang harus dilakukan secara reguler, dapat menggunakan perintah cron (chronograph). Dengan cron dapat menentukan tanggal dan waktu yang diinginkan untuk menjalankan sebuah perintah dalam file-file crontab.
Program cron hanya dijalankan satu kali, yakni saat sistem di-boot. User-user individual hendaknya diberi izin untuk menjalankan cron secara langsung. Selain itu administrator juga menjalankan aplikasi cron pada start-up file Linux agar cron berjalan saat proses boot terjadi.
Perintah/Aplikasi yang dapat digunakan untuk menuliskan jadwal proses adalah crontab. Dalam file crontab ini konfigurasi penjadwalan proses tersimpan. File contab user disimpan dalam direktori /usr/spool/cron/crontabs dan memberi nama file tersebut dengan nama user. Sehingga jika usernya adalah icha, maka dapat digunakan file text editor untuk mengeditnya pada direktori tersebut.
$crontab icha
Dengan eksekusi perintah tersebut maka file /usr/spool/cron/crontabs/icha akan terbentuk.
Masing-masing baris dalam file crontab memuat sebuah pola waktu dan sebuah perintah. Di mana perintah tersebut akan dieksekusi pada pola waktu yang ditetapkan. Pola waktu dibagi dalam lima field yang dipisahkan oleh spasi atau tab.
Minute hour day-of-month month-of-year day-of-week command
Keterangan range waktu :
Minute : 00 s.d 59
Hour : 00 s.d 23 (tengah malam 00)
Day-of-month : 01 s.d 31
Month-of-year : 01 s.d 12
Day-of-week : 01 s.d 07 (Senin 01, Minggu 07)
Lima field pertama adalah field wa ktu, sedangkan satu field terkahir adalam field perintah. Dapat digunakan asterisk (*) dalam field waktu jika tidak ingin menentukan waktu – waktu tertentu.

Option perintah crontab terdiri dari :
-e : mengedit file contab
-r : menghapus isi file crontab
-l : Menampilkan daftar crontab

Mulai di versi 2.5, Kernel linux dapat berjalan di berbagai algoritma penjadwalan UNIX tradisional. Dua masalah dengan penjadwal UNIX tradisional adalah tidak disediakannya dukungan yang cukup untuk SMP (symmetric multiprocessor) sistem dan tidak diperhitungkan dengan baik jumlah tasks pada sistem yang berkembang. Dalam versi 2.5, penjadwal memeriksa dengan teliti hal tersebut, dan sekarang kernel juga menyajikan algoritma penjadwalan yang dapat run dalam waktu yang konstan tidak tergantung dari jumlah tasks dalam sistem. Penjadwal yang baru juga menyediakan peningkatan dukungan untuk SMP, termasuk processor affinity dan load balancing, sebaik dalam menyediakan keadilan dan dukungan terhadap interactive tasks.

Penjadwal linux adalah preemptive, algoritmanya berdasarkan prioritas dengan dua range prioritas yang terpisah: real-time range dari 0-99 dan nice value berkisar dari 100-140. Dua range ini dipetakan menjadi global priority scheme dimana nilai yang lebih rendah memiliki prioritas yang lebih tinggi. Tidak seperti penjadwal yang lain, Linux menetapkan prioritas yang lebih tinggi memiliki waktu kuantum yang lebih panjang dan prioritas yang lebih rendah memiliki waktu kuantum yang lebih pendek.

Linux mengimplementasikan real time scheduling seperti yang didefinisikan oleh POSIX 1.b: First Come First Served dan Round Robin. Sistem waktu nyata( real time)diberikan untuk task yang prioritasnya tetap. Sedangkan task yang lainnya memiliki prioritas yang dinamis berdasakan nice values ditambah atau dikurangi dengan 5. Interaktifitas sebuah task menentukan apakah nilai 5 tersebut akan ditambah atau dikurangi dari nice value. Task yang lebih interaktif mempunyai ciri khas memiliki sleep times yang lebih lama dan karena itu maka ditambah dengan -5, karena penjadwal lebih menyukaiinteractive task. Hasil dari pendekatan ini akan membuat prioritas untuk interactive task lebih tinggi. Sebaliknya, task dengan sleep time yang lebih pendek biasanya lebih CPU-bound jadi prioritasnya lebih rendah.

Hubungan antara prioritas dan waktu kuantum

Task yang berjalan memenuhi syarat untuk dieksekusi oleh CPU selama time slice-nya masih ada. Ketika sebuah task telah kehabisan time slice-nya, maka task tersebut akan expired dan tidak memenuhi syarat untuk dieksekusi lagi sampai semua task yang lain sudah habis waktu kuantumnya. Kernel mengatur daftar semua task yang berjalan di runqueue data structure. Karena dukungan Linux untuk SMP, setiap prossesor mengatur runqueue mereka sendiri dan penjadwalan yang bebas. Setiap runqueue terdiri dari dua array prioritas - active dan expired. Active array terdiri dari semua task yang mempunyai sisa waktu time slices, dan expired array terdiri dari task yang telah berakhir. Setiap array prioritas ini memiliki daftar task indexed berdasakan prioritasnya. Penjadwal memilih task dengan prioritas paling tinggi di active array untuk dieksekusi dalam CPU. Di mesin multiprossesor, ini berarti setiap prossesor menjadwalkan prioritas paling tinggi dalam runqueue structure masing-masing. Ketika semua tasktelah habis time slices-nya (dimana, active array-nya sudah kosong), dua array prioritas bertukar; expired array menjadi active array, dan sebaliknya.

Daftar task indexed berdasarkan prioritas

Penghitungan ulang dari task yang memiliki prioritas yang dinamis berlangsung ketika task telah menyelesaikan waktu kuantumnya dan akan dipindahkan ke expired array. Jadi, ketika ada dua larik ( array) ditukar, semua task di array aktif yang baru ditentukan prioritasnya yang baru dan disesuaikan juga time slices-nya.