Senin, 25 Mei 2015

Mikron pada Processor


Pada kesempatan kali ini saya akan membahas tentang mikron pada processor. Bagi orang awam saya jamin anda tidak pernah tahu tentang ini (dan pasti tidak mau tau).

Ya, jadi anggap saja ini sebagai pengetahuan tambahan kita.

Mikron sebenarnya adalah UKURAN. Yes, satuan ukuran ada banyak jenis, salah satu nya adalah mikron. Jadi mikron pada processor itu apa?

Sebelumnya, saya ingin bercerita terlebih dahulu, saat kita ingin membeli sebuah PC atau laptop, yang pertama kita tanya adalah ini spek nya apa ya? CPU nya yang apa ya? i7? i5? dan i i lainnya.. Isnt it? saya yakin itu pernah kalian tanyakan. Semakin banyak "i"nya maka semakin kenceng katanya. Ya bener juga sih, itu adalah informasi umum yang disediakan oleh vendar untuk menamai processor mereka. So apa hubunganya dengan mikron?

Mikron adalah satuan ukuran untuk mengukur rentang jarak antar transistor dalam chip processor. Simple ya jawabannya..

Lalu?

Biar lebih jelas sy kasi gambar nya.

tampak depan
tampak belakang

ini lah contoh processor yang kita omongin. Inilah si otak dari komputer kita. So, anda lihat di gambar tampak belakang, banyak ya pin-pin nya. itulah transistor nya. Seberapa dekat jarak mereka? hanya Tuhan yang tahu, ciaeelah.. #apasih..

untuk melihatnya kita dapat menggunakan software bantuan yakni CPU-Z. untuk memiliknya bisa klik disini. Dengan adanya CPU-Z kita bisa tahu spesifikasi dalam komputer kita yang tidak dituliskan di kemasan. Sebenarnya yang sy katakan, bagi orang awam informasi ini tidak begitu penting. Yang peting dia pakai dan tidak ada masalah. Namun bagi elo yg mahasiswa atau orang newbie di IT bisa dapat info ini sebagai tambahan pengetahuan lo. #loguemodeone

Ok, langsung saja ini tampilan dari software CPU-Z.


Coba kalian lihat pada bagian Technology. Disana tertulis 65 nm. "nm" adalah singkatan dari nano meter. Nano meter juga merupakan satuan ukuran. 1 mikron = 1000 nano meter. Kenapa nm, karena kebanyakan toko-toko menggunakan istilah itu. Itulah mikron yang ada di Inter Core 2 Duo E6500 yakni 65nm. Jadi jarak antar transistor pada processor tersebut adalah 65 nm atau setara dengan 0.065 mikron. sangat dekat. Itu baru core2 duo loh, bagaimana dengan generasi "i" yang katanya lebih kenceng. Cekidot!


Disini sy mengambil contoh pada processor Intel Core i5 3550s. ukuran antar transistor nya sebesar 22 nm atau setara dengan 0.022 mikron. Lebih dekat! Sedekat apa saya tidak tau. Mungkin sedekat hati ku padamu. #apasih..

Jadi kesimpulannya adalah semakin dekat suatu jarak antar transistor di processor atau kita sebut semakin kecil ukuran mikron suatu processor maka akan semakin cepat kinerja nya.

Sekian pembahasan tentang mikron pada processor di kesempatan kali ini, lebih kurangnya sy mohon maaf dan terimakasih sudah membacanya.


"ilmu IT adalah ilmu yang endlessly expanding universe yang berarti tidak akan habis dipelajari karena akan terus berkembang"





Sabtu, 09 Mei 2015

Session 11 & 12

Memory Management


Memory management digunakan untuk mengakomodasi multiple process. Memory butuh di alokasikan secara efisien agar memungkinkan menjalankan proses dengan baik. Oleh sebab itu memory management sangat di perlukan.

Memory Management Requirements
1.      Relocation
-          Seorang programmer tidak akan tahu dimana program ditempaktan dalam memory saat di executed. Saat executing suatu program, program dapat di swapped ke disk dan di kembalikna ke memory utama di lokasi yang berbeda itulah relocation.
2.      Protection
-          Suatu proses tidka bisa mengaku-aku suatu alamat memory itu adalah miliknya tanpa ijin. Semua proses harus di check selama execution.

3.      Sharing
-          Memungkinkan beberapa proses untuk mengakses porsi yang sama dari suatu memory.
4.      Logical Requirements
-          Suatu program di tulis dalam modul, dan modul dapat di tulis serta di compile sendiri. Ini karena adanya perbedaan hak akses yang biasanya hanya read-only, execute-only.
5.      Physical Organization
-          Keywordnya adalah “memory”

Addressing
-          Logical. Mereference memory location secara independent dari suatu data pada memory
-          Relative. Alamat di tujukan pada suatu lokasi relative pada suatu titik tertentu
-          Physical. Alamat absolute dalam suatu memory utama

Swapping
Proses tukar menukar suatu alokasi pemakaian porsi suatu memory. Memory dialokasikan berdasarkan urutan masuk dan keluar nya suatu proses.


Memory Allocation Algorithm
1.      First Fit
Suatu algotitma akan mencari yang paling cepat sampai atau yang paling di depan dalam baris memory.
2.      Next Fit
3.      Best Fit
Memilih ukuran yang paling dekat dengan ukuran yang diminta.
4.      Worst Fit
Mencari ukuran yang tidak sesuai dengan ukuran yang diminta, sehingga menyisakan banyak ruang kosong yang tidak terpakai.
5.      Quick Fit
6.      Buddy System
Ini adalah suatu system yang dapat mengalokasikan memory dengan dihitung dan dibagi.


"Memory management memastikan semua prose mendapat jatah tempat yang untuk melaksanakan tugas"




Session 9 & 10

Deadlock



Deadlock
adalah suatu kondisi dimana semua proses ingin pakai resources dan tidak ada yang mengalah.



Kondisi dimana sebelum terjadi suatu deadlock disebut deadlock possible.



Condition for Resource Deadlock
-          Mutual exclusion. Satu proses megang satu proses.

-          Hold and wait. Suatu proses akan menahan satu prose sambil dia mengerjakan proses lain setelah itu baru di berikan ke proses lain.Analogi seperti oper makanan atau minuman saat dibagikan secara berderet. Kita akan ambil bagian kita dulu baru kita oper ke orang sebelah kita.

-          No preemption. Hanya bisa di interupsi ketika proses lain dilepas. Ada satu proses sedang mengerjakan suatu resource dan ada proses lain minta, namun tidak diijinkan.
-          Circular wait. Semua proses saling menunggu.


Deadlock Modeling
(a)suatu proses holding suatu proses, (b)suatu proses merequest resource, (c)Deadlock terjadi



Strategy for dealing with deadlock
1.      Ignore the problem (use Ostrich Algoritm)
2.      Detection & recovery. Deadlock occur, detect it, then take action.
3.      Dynamic avoidance
4.      Deadlock Prevention

Deadlock Prevention
-          Untuk mencegah mutual exclusion, cara nya adalah melakukan pembatasan hak akses. Ada file yang di deny writenya, jadi hanya read only. Sehingga tidak menggangu fungsi atau proses write.
-          Kalau hold and wait pencegahannya adalah yang sudah punya resource jangan ditampilin lagi. Istilahnya di blok.

-          No Preemption. Adanya task manager untuk interup suatu proses sehingga proses di paksa berhenti.

"Deadlock not always death"

Session 7 & 8

Concurency


Concurency adalah adalah suatu saat dimana ada banyak proses yang berjalan bersamaan. Tujuan dari concurrency ini adalah
-          Communication among process
-          Sharing resouces
-          Synchronization
-          Allocation of time
Namun concurrency juga mempunyai masalah yang cukup signifikan bila tidak di atasi seperti
-          Sharing global resources
-          Management of allocation of resouces
-          Programming errors difficult to locate

Competition among process for resouces

-          Mutual exclusion
Hanya ada satu proses yang diprioritaskan untuk melakukan aksi resources
-          Deadlock
Kondisi dimana semua proses tertumpuk dan tidak ada jalan keluar
-          Starvation
Kondisi dimana semua proses berpikir yang lain sedang memakai resources, padahal resource sedang idle.

Semaphores
Semaphores adalah suatu tanda atau symbol untuk mengatur bentuknya variable integer.


"Concurency lah yang menjalankan proses itu bersamaan"




Jumat, 08 Mei 2015

Session 6

Process and Threads


­
Behaviour of Process
a.      Process-bound
b.      I/O bound

CPU Scheduler
Ada 4 state dalam CPU Scheduling:
1.      Switches from running to waiting state
2.      Stiches from running to ready state.
3.      Switches from waiting to ready
4.      Terminates

Dispatcher
Dispatcher yang bertugas memberi control ke CPU untuk process. Tugas dispatcher sendiri antara lain:
-          Switching context
-          Switching to user mode
-          Jumping to the proper location in the user program to restart that program
Dispatcher memiliki waktu yang diberikan ke proses untuk diberhentikan dan lanjut ke proses lain, itu disebut dispatch latency. Semakin kecil latency maka semakin cepat suatu proses dijalankan.

Scheduling Criteria
-          CPU Utilization. Tetap menjaga kerjaan dari CPU
-          Througput. Jumlah proses yang complete.
-          Turnaround time. Waktu yang dipakai untuk execute suatu proses.
-          Waiting time. Jumlah waktu suatu proses yang menunggu untuk siap diproses
-          Response time. Jumlah waktu yang dipakai dari ketika suatu request di lakukan.

Goals of scheduling
-           All systems. (Fairness-Policy-Balance)
Artinya semua system harus ikut aturan yang telah di tetapkan
-          Batch System (Througput-Turnaround time-CPU Utilization)
Sistem memiliki suatu target harus menyelesaikan berapa pekerjaan dan tetap bekerja
-          Interactive system (Response time-Proportionality)
System memiliki respon yang cepat dan pembagiannya pas
-          Real-time system(Meeting deadline-Predictablity)
Harus pada saat itu juga dan memastikan tidak ada data yang hilang

Batch Scheduling Algorithm
Ada 3 metode dalam Batch Scheduling Algorithm:
1.      First-Come First-Service
2.      Shortest Job First – Non Preemptive
3.      Shortest Job First – Preemptive
Ada keuntungan dan kerugian dari algoritma ini. Keuntungannya adalah mudah dipahami karena seperti proses kehidupan sehari-hari, namun kerugiannya adalah ada beberapa proses yang harus nunggu lama (tidak ada prioritas).

1.      First-Come First-Service
Processnya di assigned oleh CPU sesuai dengan order yang diminta. Jadi proses mana yang datang duluan akan dikerjakan terlebih dahulu, dilihat dari arrival time nya dan kemudian dikerjakan sampai burst time nya habis. Lebih jelas dapat dilihat di gambar di bawah ini.














2.      Shortest Job First – Non Preemptive
Proses yang dikerjakan adalah proses yang paling pertama sampai dilihat dari arrival timenya. Dan proses pertama itu harus dikerjakan sampai selesai. Setelah itu, untuk proses berikut yang dikerjakan harus dibandingkan dulu. Skenarionya seperti ini, selama proses satu dijalankan, apakah ada proses lain yang datang (dilihat dari arrival time), seperti gambar di bawah ini, selama P1 jalan, P2,P3,dan P4 sudah sampai, namun harus kita bandingkan siapa yang paling kecil burst time nya itu yang kita jalankan, terlihat P3 burst time nya Cuma 1 oleh sebab itu dijalankan terlebih dahulu, setelah itu apabila jumlah burst timenya sama, kita ambil yang arrivalnya lebih dahulu.














3.      Shortest Job First – Preemptive
Untuk proses preemptive, kita akan jalankan dari proses yang paling awal datang , karena ini preemptive yang artinya bisa di interup, oleh sebab itu saat P1 dijalnkan baru 2 detik sudah harus dihentikan karena ada P2 yang sudah datang walaupun P1 belum selesai. Kemudian P2 jalan, sama seperti saat P1, P2 juga harus di interup dan akhirnya P3 jalan, P3 karena hanya 1 burst timenya dan pas detik kelima juga datang P4. Namun P2 dijalankan kembali, kenapa? Karena saat detik kelima kita bandingin dulu masih ada P1 pending 5 burst time, P2 pending 2 burst time, dan P4 baru datang dengan 4 burst time. Kita ambil yang paling kecil burst timenya yakni P2. Oleh sebab itu P2 dijalankan, setelah itu sampai di detik ke 7 kita bandingin lagi antar P1 dan P4 burst time siapa yang lebih kecil dan sampai selesai semua proses dijlankan.













Interactive Scheduling Algorithm
-          Round-robin scheduling
-          Priority scheduling
-          Multiple
-          Short process next
-          Guaranteed scheduling
-          Lottery scheduling
-          Fair share scheduling

"proses scheduling memastikan semua proses berjalan sebagaimana mestinya"


Session 5

Process and Thread


Session sebelumnya kita telah mengetahui sekilas tentang proses dan kali ini, kita akan belajar mengenai thread.
Thread dapat dikatakan sebagai bagian kecil dari suatu proses. Jadi thread juga bekerja dalam suatu proses.
Thread memiliki execution state yakni ready,running,terminated.

Relationship between Thread & Process
Ada 4 hubungan antara thread dan proses dalam suatu system operasi, yaitu:
-          1 thread à 1 process. Satu thread dijalankan satu proses
-          Many thread à 1 process. Banyak thread dalam satu proses.
-          1 thread à Many process. Satu thread dalam banyak proses.
-          Many thread à many process. Banyak thread dan proses yang berjalan bersama.

Multithreading
Multithreading dapat dikatakan sebagai banyak thread yang berjalan bersama. Window dapat support proses yang banyak dalam bersamaan kareana dia multithreading.


Advantages of Thread
-          Lebih efisien karena membutuhkan waktu yang lebih sedikit.
-          Cepat di terminate
-          Bisa saling berkomunikasi.

Thread Implementation
(by user space) Thread table di proses
Advantages:
-          Proses bisa dijadwalkan
-          Performancenya bagus
Disadvantages:
-          Proses dapat diblok
-          Harus ada yang gentian


(by kernel space) thread table di kernel
Advantages:
-          Tidak perlu blocking, karena thread table sdh di kernel, jadi tidak berebutan.
Disadvantages:
-          Biayanya lebih mahal



"tanpa thread anda tidak akan bisa mengetik dan muncul dilayar dengan bersamaan"