Rabu, 03 Juni 2015

Security


Security

Kali ini kita akan membahas mengenai security. Tidak akan terlalu dalam saya bahas, karena saya belum mempelajarinya lebih dalam. Jadi ini masih sepintas dan hanya menyentuh kulit luar nya saja dari security ini.

Pertama security sangat sering kita dengar, dari security yang menjaga komplek perumahan sampai security yang sudah masuk dunia IT. Security bisa sangat luas, dalam perbankan misalnya, organisasi ini sangat rentan, dalam sehari ada ratusan bahkan ribuan kali pencobaan untuk meretas sistem perbankan. Namun pada dasarnya, security memiliki requirements dan goal yang sama di setiap aspek dan memiliki tipe serangan/retas yang sama jenisnya. Apa saja, kita simak yang satu ini.

Security Requirements
- Confidentiality. Data diakses oleh orang yang berwenang.
- Integrity. Data tidak diubah-ubah.
- Availability. Datanya ada saat kita cari.
- Authenticity. Bisa memastikan user yang benar yang berhak memakai.

Goals of Security
- Data confidentiality
- Data integrity
- System availability

Type of threat
1. Interuption
    - Attack on availability
    - destruction hardware
    - cutting of communication line
    - disabling the file management
2. Interception
    - attack on confidentiality
    - wiretapping to capture data
    - copying files or programs
3.Modification
    - semacam menguabah data
    - attack on integrity
4.Fabrication
    - menabahkan suatu object untuk meretas (virus,malware)
    - attack on authenticity

Intruders
Intruders adalah orang atau sesuatu yang melakukan serangan dari luar.
- casual prying by nontechnical user
- snooping by insider
- determined attemp to make money
- commercial or military espionage

Attacks form the inside
Selain dari luar, penyerangan juga dapat terjadi dari dalam. Jenis penyebarannya sebgai berikut.
- trojan horse
- login spoofing
- logic bomb
- trap door/backdoor
- buffer overflow

Berbicara soal serangan, yang paling sering dan umum kita dengar adalah virus. Inilah beberapa virus stage.
- Dormant phase. Kondisi data kita tidak benar-benar rusak.
- Propagation phase. Virus memperbanyak diri.
- Triggering Phase. Tahap virus memicu.
- Execution phase. tahap melaksanakan serangan.

Ada perlunya kita juga tahu bagaimana cara kerja AntiVirus yang menangkal virus. Hanya ada 3 yakni D-I-R.
- Detection
- Identification
- Removed

Data Loss
hanya ada 3 kejadian yang dapat menghilangkan data
- Acts of God (bencana alam)
- hardware or software error
- human error

Ada yang namnya protection domain dan protection matrix.
ini gambarnya

protection domain
protection matrix
Jadi ada dua model protection list baik dalam domain dan matrix. Kedua nya sama-sama menyajikan skenario untuk authentication bagi user yang berhak memakai.

Kemudian ada istilah Author. Author adalah status kepemilikan. Jadi protection ini membantu memperjelas author.

"security menjadi bagian yang tidak bisa dilepaskan dalam suatu sistem, secanggih apapun itu"



Multiprocessor & Embedded System

Multiprocessor

Berbicara tentang multiprocessor, kata ini terdiri dari 2 kata yang digabungkan, yakni multi dan processor. Apabila kita terjemahkan satu persatu, multi adalah kondisi lebih dari satu dan processor bisa kita artikan alat yang melakukan suatu proses dalam hal ini kita kaitkan dengan operating system dan alat itu adalah CPU (Central Processing Unit) istilah lainnya adalah "otak" komputer.
Jadi singkatnya multiprocessor adalah memiliki lebih dari satu CPU. That's the point.

Kita pasti juga pernah mendengar istilah multicore, tanpa perlu panjang lebar, singkatnya multicore adalah alat yang memiliki lebih dari satu core. Bedanya dengan multiprocessor adalah, dalam satu CPU bisa saja itu multicore yang berarti ada banyak core dalam satu CPU tsb.
Core sendri bentuk fisiknya bisa saya katakan adalah sebuha chip yang memiliki pin di processor.

Biar ga bingung sy kasi gambarnya.
Ini adalah bentuk multicore. Disini sy mengambil contoh processor Intel Core 2 Quad yang berarti memiliki 4 core dalam satu processor / CPU.

Terlihat jelas sekali ya, itulah bagian dalam dari sebuah processor. 
Kemudian ini adalah multiprocessor.


Terliahat ada 2 socket untuk processor. Ini berarti dalam satu motherboard itu dapat menampung 2 processor sekaligus, itulah yang dikatakan multiprocessor. Motherboard seperti ini jarang kita lihat di PC biasa. Sering nya untuk server dan komputer yang memang menghandle banyak tugas dan powerful. 

Selain dari bentuk fisik ada yang membedakan multicore dan multiprocessor. 
1. multicore lebih save energy
2. mulicore lebih hemat tempat. 
3. namun multiprocessor lebih jago handle multiple request dibanding multicore

Kemudian ada UMA dan NUMA. UMA adalah Uniform Memory Access, NUMA adalah Nonuniform Memory Access. 
UMA dan NUMA adalah metode mengakses suatu memory. Namun UMA memiliki 2 kekurangan yakni bottleneck dan unpredictable. Ini dikarenan UMA memakai SMP (Symetrical Processor). 
NUMA didesain untuk memperbaiki kekurangan UMA. 
Namun UMA dan NUMA punya kesamaan yakni single memory space dan pitfall. Pitfall adalah perbedaan pembagian/pemakaian memory. 
Perbedaan UMA dan NUMA adalah 
-access time
-processor
-bus vs network implementation

"tanpa ada multicore dan multiprocessor anda tidak bisa membaca blog ini sambil membuka tab lain pada browser"


Embedded System

Embedded system adalah suatu sistem yang dijalankan untuk suatu fungsi tertentu. Misalnya anda pernah membeli tiket di Indomaret? Nah kiosk itulah kita sebut embedded system. Suatu sistem khusus yang menangani tugas tertentu, selain itu tidak bisa. 

Characteristic dari embedded system adalah
- Real time operator. 
  cth: mesin pendetek detak jantung
- Reactive operation
  cth: brake system pada mobil
- configurability 
- I/O device flexibilty
- Streamlined protection mechanism
- Direct use of interupts
- eCOS (embedded Configuration Operating System)

eCOS adalah salah satu produk yang melakukan embedded system. Selain eCOS ada TinyOS juga.
eCOS component ada 2 yakni 
- HAL (Hardware Abstraction Layer)
- eCOS kernel (jantung nya).

"embedded system adalah suatu sistem yang dijalankan untuk suatu fungsi tertentu." 





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"