Pages

Senin, 01 Juni 2015

Day 7

Security

    awalnya kita perlu tau beda thread dan threat. Meskipun penyebutannya hampir sama, makna dari 2 kata itu berbeda yang satu berarti benang - benang untuk process (Thread) dan yang lainnya berarti ancaman terhadap sistem kita (Threat).
Hal ini dibahas mendalam di network security.

Requirement untuk security

- Confidentiality
- Integrity
- Availability
- Authenticity

Tipe - tipe threats
- Interupsi terbagi atas :
     attack di availability
     menghancurkan hardware
     memotong line komunikasi
     disable file management system

- Interception
     orang luar bisa akses data yang tidak seharusnya
     attack on confidentiality
     wiretapping (penyadapan) untuk ngambil data dalam network

- Modifikasi
     attack on integrity
     mengubah value dalam data
     mengubah sebuah program sehingga bekerja berbeda dari biasanya

- Fabrikasi
     attack on authenticity
     memasukkan sebuah object baru di network sehingga bekerja sesuai kemauan kita.
     biasa merubah query seperti Sql injection.

Intruders = adalah orang atau pihak yang melakukan penyerangan
     biasa menargetkan orang yang tidak terlalu mengerti IT dan jaringan
     snooping melalui insider
     biasa dilatarbelakangin mencari duit
     komersial atau spionase militer

Accidental data loss
  1. Acts of God
        gempa bumi, perang, banjir, dll
  2. Hardware atau software error
        CPU malfunction, bad disk, program bugs
  3. Human errors
        data entry, wrong tape mounted.
Protection mechanism
- Protection Matrix
- Protection Domain

Computer system assets

Hardware : threats yang merusak hardware , contoh virus disket dan cd
Software : threats yang menghapus, mengubah dan merusak data atau sistem komputer.
Data : melibatkan files dan mengancam keprivasian orang lain dengan adanya Big Data.
Komunikasi dan jaringan : passive attack, melepas virus melalui jaringan komunikasi.

Attack from inside : salah satu contohnya adalah trojan horse, back door, logic bomb, spoofing,
                           dan buffer overflow.


4 tahap virus:
Dormant
Propagation
Triggering
Execution

Cara kerja antivirus :

Detection -> mendeteksi ada virus atau tidak
Identification -> mengidentifikasi jenis virus yang ada
Remove -> menghapus virus yang sudah dikenali

Binus & Sky Connectiva

Day 6

Multi Processor dan Embedded System.


     Multicore adalah sebuah cpu yang terdiri dari lebih satu core. Core bekerja sebagai processor yang terpisah dalam sebuah single chip dan sistem core ini meningkatkan performa tanpa menaikkan clock processor.

     Multiprocessor adalah kombinasi lebih dari satu cpu untuk satu komputer, dan multicore dapat diterapkan ke dalam multiprocessor sehingga performancenya makin meningkat. Aplikasi penggabungan multiprocessor dan multicore dapat dilihat saat proses render film atau video 3D yang sangat membutuhkan processor yang kuat.

     perbedaan multicore dan multiprocessor
  1. Multicore lebih efisien dalam penggunaan listrik dari multiprocessor
  2. Energy yang digunakan untuk proses komunikasi antar chip lebih murah jika dibanding dengan banyak chip (processor dalam suatu circuit)
  3. Multicore lebih hemat tempat karena dibuat dalam satu chip, sedangkan multiprocessor membutuhkan banyak tempat untuk menyimpan processor yang beda - beda. (satu chip processor yang mengandung 2 core lebih hemat tempat dibanding dua processor dengan satu core chip di masing - masing processor).
  4. Multiprocessor mampu menghandle banyak request lebih baik dari multicore logikanya, banyak processor mampu diatur untuk mengerjakan request - request bersamaan dengan multiprocessor sementara untuk multicore , memang lebih cepat namun untuk memproses requestnya sistemnya tetap antri karena hanya satu processor.
UMA (Uniform memory access) multiprocessor :

    akses memory secara seragam biasa dibilang juga sebagai symmetrical multiprocessor (SMP).

without caching
with caching
with caching and private memories.

NUMA (Nonuniform memory access) multiprocessor.
NORMA (No-Remote-memory-access) architecture.
     contoh : hypercube oleh intel.

SMP architecture menggunakan bus atau cross-bar switch sebagai interconnection network.
Sistem ini mempunyai bentuk simetris sehingga hanya satu buah proses yang melewati bus lainnya ngantri sehingga bisa dianalogikan sebagai leher botol. Dalam sistem ini, CPU menghadapi unpredictable delay di memory access. dengan ditambah cross -bar switch , delay bisa lebih predictable karena ada switch yang berperan mirip lampu merah.

    Kernel dari sebuah multiprocessor OS disebut SMP kernel.

Untuk mengantisipasi kelemahan UMA architecture, dibuatlah NUMA architecture.
Sistem dalam NUMA architecture memiliki kernel masing - masing yang terpisah, berbeda dengan UMA yang simetris. Memungkinkan untuk membuat satu partisi dengan satu atau lebih CPU karena tidak perlu memikirkan arsitektur yang simetris seperti UMA.

Persamaan UMA dan NUMA : single memory spaces
Perbedaan : akses time NUMA lebih cepat dari UMA karena delay di NUMA lebih predictable.

Karakteristik NUMA machine:
  1. single address space visible untuk semua CPU
  2. access ke remote memory menggunakan LOAD dan STORE (bahasa tersendiri ....)
Klasifikasi paralel system :
  1. Single Instruction Single Data (SISD)
  2. Single Instruction Multiple Data (SIMD)
  3. Multiple Instruction Single Data (MISD)
  4. Multiple Instruction Multiple Data (MIMD)
Gang Scheduling : adalah banyak proses secara simultan yang akses prosesor sehingga scheduling
                        lebih gampang.

3 part dari gang scheduling :
  1. thread dengan sifat yang sama digabungkan sebagai satu unit gang
  2. semua anggota gang berkerja simultan di timeshared cpu yang berbeda - beda
  3. waktu start dan end dari gang bersifat sama.
Embedded System :

Salah satu embed system yang terkenal adalah eCOS.
Embed system adalah suatu kombinasi hardware dan software yang didesign untuk fungsi tertentu.
Contoh embed system adalah penerapan di mobil, dimana mobil tersebut dapat parkir otomatis, dan juga untuk ignite system, engine management, dan brake system (di mazda). 

Karakteristik embed system

- Real time operation
     gerak secara real time (saat itu juga), contoh aplikasi deteksi jantung.

- Reactive system
     gerak saat ada aksi dari luar atau dari eksternal embed system tersebut.

- Configureability
     dapat dimodifikasi atau diotak - atik dengan fungsi yang tetap namun dalam berbagai versi

- I/O device flexibility
     alat untuk input dan output secara fleksible.

- Streamlined protection mechanism
     embed system secara tipikal di design khusus untuk fungsi yang terbatas dan jelas sehingga
     lebih aman.

-Direct use of interrupts
     embed system memperbolehkan untuk mengakses interrupts secara langsung.

Kelebihan embed dibanding traditional
- mampu menghandle tidak hanya sequential code.
- routine dapat berhenti saat komplit maupun secara mendadak karena event tertentu
- banyak bagian system kerja secara konkurently
- safe critical system

Pendekatan dalam membuat embed system
- tentukan hardwarenya
- softwarenya harus fit dalam chip dan bisa digunakan dengan hardware yang kompatibel
- object oriented
- design process untuk periodik yang lama.

Keuntungan embed system :
  processnya cepat dan ringan
  scheduling secara real time
  ukuran nya kecil
  respon untuk interrupt cepat
  meminimize interval selama interupt disable
  menyediakan special sequential files
  maintain real-time clock

eCOS = embedded configurable operating system
    adalah configuration tool, yang berjalan di windows dan linux.

komponen eCOS :
- HAL = Hardwarer Abstraction Layer
- eCos kernel

Binus & Sky Connectiva

Minggu, 31 Mei 2015

Encryption

Malam all. Kali ini akan dibahas tentang enkripsi.

    Mungkin kita semua telah sering mendengar kata enkripsi, apa lagi kalau menonton beberapa film - film yang mengenai hacking, future technology dan science fiction yang ceritanya seputar cyber teroris, wkwkwkwk :D . Namun enkripsi itu merupakan sebuah teknik yang benar - benar ada alias exist dan bukan hanya science fiction dan telah lama digunakan dan dipakai terutama dalam abad 21 dimana perkembangan teknologi begitu pesat dan arus keluar masuk informasi sudah tidak dapat dibendung lagi. Ditambah dengan teknologi baru dalam managing data yaitu Big Data dimana memungkinkan sebuah aplikasi mampu mengambil data atau berkomunikasi dengan aplikasi lain sehingga terlihat sangat tersinkronisasi. Enkripsi menyediakan layanan keamanan dalam tukar menukar data. Apa itu enkripsi ?, akan dibahas dibawah :D hehehehee

 


    Enkripsi atau dalam bahasa inggris (biar keren dikit) Encryption adalah sebuah teknik merubah informasi menjadi sebuah informasi yang tidak bermakna atau tidak dapat dibaca jika informasi tersebut dalam bentuk kalimat, dan informasi tersebut hanya bermakna bagi orang - orang tertentu yang memiliki pengetahuan khusus mengenai enkripsi yang digunakan atau mengetahui kunci untuk membalikkan atau mengartikan enkripsi tersebut. Singkatnya enkripsi adalah mengubah informasi menjadi tidak dapat dimengerti oleh orang lain. Proses hasil enkripsi (chipertext) diurai / dipecahkan menjadi sebuah informasi yang bermakna disebut sebagai Dekripsi (Decryption) dan tentu saja proses ini dapat dilakukan oleh yang berhak (karena memiliki key encryption asli) dan juga oleh orang luar yang memiliki pengetahuan atau keahlian tertentu (hacker,cracker, dll).


 


     Perlu kita untuk mengetahui sejarah mengenai enkripsi dan disini akan dibahas secara singkat jika ingin mengetahui lebih dapat membaca di History of Encryption.

     Enkripsi pertama kali dilakukan oleh orang - orang yunani saat mereka menggunakan metode atau algoritma tertentu untuk membuat pesan rahasia yang tidak bisa dibaca oleh orang biasa. Pada jaman itu dikenal sebuah tool yang disebut Scytale. Scytale ini gunakan untuk membantu mereka merubah plaintext menjadi chipertext. Sebuah algoritma enkripsi yang terkenal dari masa ini adalah Caesar chiper yang digunakan oleh Julius Caesar. Metode Caesar Chiper adalah menggeser susunan huruf dalam alfabet ke kiri atau ke kanan dengan selisih yang sama sehingga jika diketahui :

plaintext : ABCDEFGHIJKLMNOPQRSTUVWXYZ
chiper :    DEFGHIJKLMNOPQRSTUVWXYZABC

sebuah kalimat : " Enkripsi " setelah di enkrip akan menjadi " Hqnulsvl "

jika kata " Hqnulsvl " diberikan atau tidak sengaja ditemukan oleh orang biasa (tidak memiliki chiper), kata itu hanya menjadi sebuah hal yang tidak berarti meskipun didalamnya mungkin memiliki pesan yang dapat menghancurkan dunia saat itu (hahaha lebay dikit).

    Beberapa metode enkripsi lainnya yang terkenal adalah :

- Enigma encryption merupakan enkripsi didalam mesin enigma ,digunakan oleh pihak jerman
   dalam perang dunia 2 untuk mengirimkan pesan tentang strategi perang kepada pasukkannya
   dengan cara mengubah pesannya dengan algoritma sehingga tidak dapat diartikan oleh pasukan
   sekutu sehingga pasukan sekutu tidak dapat mempersiapkan diri terhadap penyerangan tiba -
   tiba atau serangan terhadap mereka. Namun mesin itu berhasil di pecahkan (kurang lebih 2
   tahun) sehingga mampu membuat pasukan sekutu memenangkan perang dunia ke 2. Lebih
   jelasnya dapat dilihat atau ditonton dalam film The Imitation Game (Awesome movie :D).

Seiring berjalannya waktu, makin banyak metode - metode enkripsi atau chiper yang dikembangkan untuk membuat sebuah enkripsi menjadi lebih aman atau tidak dapat dipecahkan.
berikut sejarah singkat mengenai chiper di era modern.

Lucifer adalah nama yang diberikan beberapa orang block cipher saat awal-awal, dikembangkan oleh Horst Feistel bersama teman-temannya di IBM.
Data Encryption Standard (DES) adalah sebuah block cipher (bentuk dari enkripsi rahasia yang dibagikan) dipilih oleh National Bureau of Standards sebagai Federal Information Processing Standard (FIPS) di Amerika pada tahun 1976 yang kemudian digunakan secara luas dan mendunia.
Kekhawatiran tentang keamanan dan perkembangan operasi dari DES yang lambat membuat peneliti software termotivasi untuk mengusulkan berbagai alternatif desain dari block cipher, muncul pada akhir tahun 1980an dan awal 1990an. Sebagai contoh ada RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 dan FEAL.
Algoritma enkripsi Rijndael digunakan oleh pemerintahan Amerika sebagai standar enkripsi sysmmetric-key, atau Advanced Encryption Standard (AES). AES diumumkan secara resmi oleh National Institute of Standards and Technology (NIST) sebagai U.S. FIPS PUB 197 (FIPS 197) pada 26 November 2001, setelah 5 tahun proses standarisasi dimana ada 15 desain block cipher bersaing untuk terpilih menjadi algoritma enkripsi yang cocok.

terdapat 2 jenis algoritma yang digunakan untuk membuat chiper.
  • Algoritma Symmetric key menggunakan kunci enkripsi untuk enkripsi dan dekripsi.
  • Algoritma Asymmetric key menggunakan kunci berbeda untuk enkripsi dan dekripsi. Biasanya ini disebut sebagai Public-key Cryptography.

Enkripsi Symmetric key

Untuk menjelaskan konsep enkripsi ini, kita akan menggunakan sedikit penjelasan dari Wikipedia untuk memahami bagaimana cara kerja algoritma Symmetric.



Apa itu Enkripsi dan Bagaimana Cara Kerjanya??

Alice menaruh sebuah pesan rahasia di dalam kotak dan mengunci kotak menggunakan gembok dan ia memiliki kuncinya. Kemudian dia mengirimkan kotak ke Bob melalui surat biasa. Ketika Bob menerima kotak, ia menggunakan kunci salinan sama persis yang dimiliki Alice untuk membuka kotak dan membaca pesan. Bob kemudian dapat menggunakan gembok yang sama untuk membalasa pesan rahasia.
Dari contoh itu, algoritma sysmmetric-key dapat dibagikan kepada stream cipher dan block cipher. Stream cipher mengenkripsi satu per satu bit dari pesan, dan block cipher mengamil beberapa bit, biasanya 64bit dan mengenkripsi mereka menjadi satu bagian. Ada banyak algoritma berbeda dari symmetric termasuk Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, and IDEA.

Enkripsi Asymmetric key

Pada metode asymmetric key, Bob dan Alice memiliki gembok yang berbeda, bukan satu gembok dengan beberapa kunci seperti contoh symmetrick key di atas. Tentu saja contoh ini lebih sederhana daripada yang seharusnya, tapi sebenarnya jauh lebih rumit.

Apa itu Enkripsi dan Bagaimana Cara Kerjanya??

Pertama Alice meminta Bob untuk mengirim gembok yang terbuka melalui surat biasa, sehingga ia tidak membagikan kuncinya. Ketika Alice menerimanya, ia menggunakannya untuk mengunci sebuah kota yang berisi pesan dan mengirimkan kotak dengan gembok terkunci tadi ke Bob. Bob kemudian membuka kotak dengan kunci yang ia pegang karena itu gembok miliknya untuk membaca pesan Alice. Untuk membalasnya, Bob harus meminta Alice untuk melakukan hal yang sama.
Keuntungan dari metode asymmetric key adalah Bob dan Alice tidak pernah berbagi kunci mereka. Hal ini untuk mencegah pihak ketiga agar tidak menyalin kunci atau memata-matai pesan Alice dan Bob. Selain itu, jika Bob ceroboh dan membiarkan orang lain untuk menyalin kuncinya, pesan Alice ke Bob akan terganggu, namun pesan Alice kepada orang lain akan tetap menjadi rahasia, karena orang lain akan memberikan gembok milik mereka ke Alice untuk digunakan.
Enkripsi asymmetric menggunakan kunci yang berbeda untuk enkripsi dan dekripsi. Penerima pesan memiliki sebuah kunci pribadi dan kunci publik. Kunci publik diberikan ke pengirim pesan dan mereka menggunakan kunci publik untuk melakukan enkripsi pesan. Penerima menggunakan kunci pribadi untuk membuka pesan enrkipsi yang telah dienkripsi menggunakan kunci publik si penerima.
Ada satu keuntungan melakukan enkripsi dengan menggunakan metode ini. Kita tidak perlu mengirim sesuatu yang rahasia (seperti kunci enkripsi kita atau password) melalui saluran yang tidak aman. Kunci publik kamu akan leihat ke dunia dan itu bukan rahasia. Kunci rahasia kamu akan tetap aman di komputer kamu, dimana itu tempatnya.

      Enkripsi banyak digunakan dalam dunai militer dimana keamanan sebuah informasi yang beredar sangat penting karena jika diketahui oleh musuh, akan berakibat kekalahan yang besar karena strategi yang beredar telah diketahui oleh musuh.

     Ditengah kemajuan pesat tukar menukar data melalui cloud, enkripsi pun digunakan untuk mengamankan link - link dan informasi yang melalui cloud sehingga tidak mudah dicuri atau dibajak hacker. Enkripsi dalam sebuah websites dapat dilihat dari tipe url websites tersebut.
     
     Sebuah websites yang ada enkripsinya atau aman, di alamat urlnya biasa tertulis Https:// 
yang berarti http atau alamat web tersebut memiliki sertifikat keamanan dari penyedia service yang dapat diliihat saat kita mengeksplore lebih tentang url tersebut. Contoh websites yang sudah https:// adalah GoogleFacebook, dll.



Dapat disimpulkan :
      
      Enkripsi adalah suatu proses pengamanan data yang disembunyikan (konversi) dari plaintext menjadi bentuk yang tidak dapat dibaca / dimengerti. Enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, namun hanya organisasi tertentu atau individu yang memiliki kebutuhan untuk kerahasian data, lebih sering digunakan untuk kepentingan intel, agent, dan militer dimana kerahasiaan data sangat penting. Untuk membalikkan proses enkripsi, perlu menggunakan algoritma yang biasa disebut chiper, dan proses ini dinamakan dekripsi. Chipertext adalah sebuah plaintext (informasi asli) yang telah di enkripsi menggunakan metode atau algoritma tertentu. Chipertext berisi informasi yang tidak dapat dibaca oleh manusia maupun komputer tanpa sebuah algoritma atau tanpa mekanisme yang tepat untuk membuat teks tadi menjadi bermakna.

Sekian postingan kali ini, semoga bermanfaat

Sumber inspirasi : 


Day 5

I/O Management and Disk Scheduling.

keyword dalam I/O management and scheduling

DMA -> suatu alat khusus yang memungkinkan transfer data secara langsung antara memory
           tanpa adanya interupsi

    3 model DMA :
          single bus detached DMA  : i/o bisa langsung connect ke memory atau modul DMA
          single bus integrated DMA I/O : i/o modul langsung akses ke DMA modul dulu, agar
                                                     bisa akses memory.    
          I/O bus : i/o modul tergabung dalam satu jalur bus dan jalur bus tersebut menuju ke
                       DMA modul.

cylinder -> adalah sebuah kepingan dalam harddisk yang muter2 mulu, ada 3 yaitu
                outer,middle,dan inner.

CD-R -> standard format compact disk yang recordable able atau disk / cd yang digunakan
             untuk merekam data dan hanya sekali (namun bisa diakalin).

    Cara proses merekam data (burn) dalam OS : (belum terjawab).

CD-ROM -> sebuah piringan compact dari jenis piringan optik yang dapat menyimpan data
                 mencapai kurang - lebih 700 mb.

    Beda CD-ROM dan CD-R adalah, untuk hak akses cd-rom, hanya ditulis dari pembuat atau pihak pertama kali yang mengakses cd-rom tersebut sehingga data di dalamnya fix dan hanya dapat dibaca. Namun cd-r adalah sebuah cd atau disk yang bisa ditulis dan dimodif contentnya sebelum sebuah cd-r tersebut di finalisasi atau di fix sehingga datanya akan menjadi read only dan tidak dapat dimodif lagi,(kecuali di nakalin, hehehehe).

Software Layer terbagi 5 yaitu
    User level ->
    Device independent operating system software
    Device driven
    Interrupt handler
    Hardware

DVD-R -> Digital Versatile Disk , merupakan disk yang seperti compact disk namun dengan
               ukuran kapasitas data yang lebih besar , umumnya 4.7 GB, dan karena tipenya
               DVD-R maka, hanya bisa ditulis sebelum finalisasi (atau belum menjadi read-only).

    4 tipe DVD :
         single sided,single layer dvd -> 4.7 gb
         single sided,dual layer dvd -> 8.5 gb
         double sided,single layer dvd -> 9.4 gb
         double sided,double layer ->

Blu-ray disk -> sering disebut juga BD adalah sebuah format cakram optik untuk penyimpanan
                   media digital yang high definition. Nama blu-ray diambil dari nama gelombang laser
                   yang digunakan dalam disk ini yang berwarna biru dan dengan gelombang
                   yang lebih pendek dari gelombang laser yang dipakai di cd dan dvd (warna merah).
                   kapasitas penyimpanan media ini berkisar antara 25 gb - 50 gb dan bisa double
                   sided dengan penyimpanan 50 gb - 100 gb.
    Beda blu-ray dengan HDDVD : penyimpanan beda single layer blu-ray 25 - 50 bg sementara
                                             hddvd untuk single layer antara 15 gb dan manufacturer
                                             beda.

Microns -> ukuran rentang jarak antar transistor didalam chip processor. Makin kecil jaraknya
               makin bagus.

Buffering -> manajemen device yang berfungsi untuk melakukan buffer. buffer itu adalah tempat
                 yang menampung sementara data operasi I/O.
    4 schema dalam bufering:
           no buffering
           single buffering
           double buffering
           circular buffering

    kenapa harus ada buffering : untuk menyesuaikan device - device yang mempunyai
                                              perbedaan dalam transfer data.

Driver -> driver itu mengacu kepada komponen perangkat lunak yang mengijinkan sebuah
             sistem komputer untuk berkomunikasi dengan sebuah perangkat keras (hardware).

    pengaplikasian driver dalam sebuah operating system bisa dengan diinstal melalui cd-rom atau dvd-rom dan dapat juga dengan di download.

Seek time -> waktu yang dibutuhkan kontroller harddisk untuk menentukan bagian tertentu dari
                   bagian yang disimpan. Sedangkan waktu yang dibutuhkan keseluruhan adalah ...

TLB -> merupakan cache memory yang digunakan untuk memory management untuk
           meningkatkan kecepatan translasi dari virtual address. (Translation Look aside Buffer).

    implementasi TLB : content addressable memory merupakan implementasi dari tlb, dan akan mencari key virtual address dan hasil dari physical address.

SSD-NAND -> Solid state disk - Nand yang merupakan media penyimpanan menggunakan cel
                     daripada piringan harddisk yang biasa, sehingga lebih aman untuk dibawa-bawa
                     dan lebih cepat. Nand didapat dari logika atau algorithm Circuit Gate.

Enkripsi -> proses transformasi informasi menggunakan algoritma agar tidak dapat dibaca orang
               yang tidak memiliki pengetahuan khusus  atau key tertentu. Digunakan hampir dalam
               semua transaksi atau proses dalam dunia maya di jaman ini.

Shadow copy -> sebuah program sederhana yang berfungsi untuk menyalin semua file dari satu
                       tempat ke tempat lain pada sistem operasi khususnya windows. Menyalin semua
                       file termasuk file yang terkunci dan file yang digunakan dalam sebuah program.

      Menggunakan shadow copy: buat sebuah folder untuk di shadow copy di drive c
                                           masukkan satu atau beberapa buah dokumen ke dalam folder
                                           cek properties folder pilih previous version
                                           jalankan sistem restore point dan buat sistem restore point baru
                                           buat perubahan pada folder yang telah dibuat tadi , bisa dengan
                                              menghapus atau menambah beberapa folder.
                                           selengkapnya liat di :

Interrupt -> sinyal yang menginformasikan kepada program bahwa terdapat kejadian tertentu
                 pada sistem komputer. Sinyal interrupt dapat menyebabkan sebuah program tidak
                 berjalan sementara waktu.

     Contoh implementasi interrupt :
           setiap ketikan keyboard, akan menghasilkan sinyal interrupt seperti halnya dengan printer
     yang menunjukkan adanya sebuah proses.
                                          
CD-RW -> cd-rom yang dapat ditulis kembali (rewriteable). cd-rw menggunakan media yang
               sama seperti cd-r. Kapasitas maksimum cd-rw adalah kurang lebih 700 mb.

GUI -> Graphical user interface adalah antar muka pada sistem informasi atau komputer yang
          menggunakan menu grafis agar mempermudah para penggunanya untuk berinteraksi
          dengan komputer.
          Kelebihan GUI : desain grafis lebih menarik. Interaksi dengan komputer lebih baik,
                               memudahkan pengguna, menarik minat pengguna, resolusi gambar yang
                               tinggi (optional).
          Kelemahan GUI : memakan resources memory yang besar, bergantung pada hardware,
                                 membutuhkan banyak tempat pada layar komputer, dan tidak fleksible.

Precise Interrupt -> merupakan sebuah interrupt yang tidak berefect pada mesin atau
                            menyebabkan kerusakan mesin.
       property precise interrupt :
           Program counter diletakkan di tempat yang diketahui
           Semua instruksi sebelum pc menunjuk telah diselesaikan
           Tidak ada instruksi atau perintah sesudah pc menunjuk yang dikerjakan
           State instruksi yang berjalan diketahui

RAID -> Redundan array independet disk adalah sebuah teknologi dalam penyimpanan data
            untuk mengimplementasikan fitur fault tolerance dengan menggunakan cara redundansi
            data. baik dengan menggunakan software maupun dengan hardware RAID terpisah.

     terbagi menjadi 6 level dari level 1:
         Raid level 1 = mirorring -> disk disamain
         Raid level 2 = Paralel access -> datanya di dobel (dicek menggunakan humming code)
         Raid level 3 = Bit interleaved parity
         Raid level 4 = Independent access
         Raid level 5 = Block-interleaved distributed parity
         Raid level 6 = Block-interleaved dual distributed parity

     bagaimana cara kerja RAID : ada beberapa konsep yaitu

         mirroring -> menyalin data ke lebih dari satu media penyimpanan (umumnya harddisk).
         stripping -> memecah data ke beberapa media penyimpanan.
         fault tolerance -> redudansi data disimpan untuk menguji kesalahan dan masalah untuk
                                  dapat dideteksi dan dipelajari
     
Shortest Seek First -> adalah sebuah algoritma scheduling untuk menentukan pergerakan
                               arm and head dari disk untuk membaca dan menentukan request.

Block oriented -> perangkat berorientasi block yang menyimpan informasi dan menukarkan atau
                        menerima atau mengirim informasi sebagai block - block berukuran tetap

Stream orientes -> perangkat yang mengantarkan atau menerima aliran karakter tanpa peduli
                           dan membentuk suatu struktur block.

Single buffer -> sebuah block buffer menerima input dari I/O dan saat transfer tersebut
                      selesai, block yang baru akan langsung diminta untuk proses selanjutnya
                      proses ini sering dinamakan reading ahead.
Double buffer -> 2 buah block digunakan untuk menerima input / output dan yang satunya
                       digunakan untuk menyimpan ke dalam user process.

Asynchronus -> kendali(control) yang akan kembali ke user tanpa menunggu proses masukan dan
                      keluaran berakhir sehingga tidak terjadi wait loop atau waktu tunggu.
                      (proses yang berjalan tidak sinkron sehingga tidak perlu waktu tunggu).
                      contoh penerapan : saat menggunakan chating , tidak perlu menunggu balasan
                                                 dari proses atau chat lain untuk mengirim chat selanjutnya.

Synchronus -> kendali yang kembali ke user program setelah proses input atau output selesai
                     dilakukan sehingga diperlukan waktu tunggu bagi user untuk akses selanjutnya.
                     contoh penerapan : saat ambil foto digital di hape, perlu waktu tunggu untuk
                                                memproses data foto tersebut dahulu baru berlanjut ke
                                               proses ambil foto berikutnya.

Algorithm untuk disk scheduling ada 4 :

FIFO -> mengerjakan sebuah request berdasarkan urut masuk request dalam disk.

SSTF -> mengerjakan sebuah request yang terdekat terlebih dahulu dengan tempat sebelumnya.

SCAN -> proses menentukan jalur head saat akan menangani sebuah request baru saat posisi
             head belum mencapai posisi awal, langsung balik ke arah sebelumnya untuk memproses
             request tersebut (membatalkan rute balik ke arah awal , bisa diinterupt).

CSCAN -> proses menentukan jalur head saat menghadapi sebuah request baru yang bersifat
               tidak dapat diinterupsi sehingga si head akan kembali ke tempat awal di dalam disk
               lalu kembali memutar ke request tadi untuk diproses.

Binus & Sky Connectiva

Senin, 11 Mei 2015

Day 4

Virtual memory management

virtual machine -> di dalam sebuah mesin, ada mesin lain, bisa karena kondisi khusus sehingga
                          harus menggunakan mesin tambahan yang berupa virtual.
          
virtual memory -> didalam memory ada memory lagi (memory bayangan).

virtual memory menurut buku
     "a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory" yang artinya "skema alokasi penyimpanan di mana memori sekunder dapat diakali seolah-olah itu adalah bagian dari memori utama" -> (hasil mbah google disempurnakan). Jadi data yang akan diproses berada di harddisk namun seakan - akan berada di ram / main memory.

cara membuat virtual memory di laptop / komputer.
  1. Sobat klik kanan pada Komputer kemudian klik Properties seperti gambar berikut

  2. Kemudian pilih Advanced system setting di bagian kiri

  3. Kemudian klik Setting pada menu Performance

  4. Kemudian klik Advance pada Tab menu dan klik Change

  5. Untuk langkah yang ini sobat harus liat dulu Drive C sobat ukurannya berapa contoh misalnya Drive C: 90 GB nah sobat bisa set 50 untuk keperluan instalasi software dan lain-lain 20 GB untuk ruang bebas dan 20 GB bisa sobat untuk Virtual Memori, gede banget ya Virtual Memori nya 20GB tapi ga apa selagi Drive nya mampu nampung disini saya akan set Virtual memori nya 3 GB dan Maximal nya 4 GB. Pertama hilangkan tanda centang nya kemudian klik Custom size nah masukan Initial size nya = 3000 MB dan Maximum size nya 4000 MB kemudian klik set dan klik OK seperti gambar berikut

    (ada maximal size yang berbeda-beda tergantung hitung - hitungannya OS yang dipakai).

  6. Agar setingan berubah sobat harus Restart PC/Laptop sobat baru setingan terganti.

    disadur dan dimodif dari : https://wahyurizkyllah.wordpress.com
tujuan menggunakan virtual memory adalah untuk mengakali sebuah program yang membutuhkan memory yang besar sementara memory basic di komputer kita tidak mencukupi sehingga saat aplikasi itu berjalan, dapat terjadi not responding (ngehang). Namun cara ini masih kurang soalnya dapat membuat umur dari hardware untuk virtual memori-nya menjadi lebih pendek dan lebih cepat prosesnya jika membeli atau mengupgrade dengan ram yang lebih gede , hehehehe.

Paging adalah proses untuk membelah / partisi memory ke dalam file - file yang lebih kecil. File di secondary memory hasil paging adalah page file. hasil potong-potongan dari proses paging ini disebut juga sebagai chunk. Chunk dari proses paging dalam bentuk file disebut page file / pages sementara chunk dari memory disebut sebagai frame.

Virtual memory address -> alamat memory di harddisk yang seakan - akan merupakan alamat di
                                     ram (alamat harddisk yang muncul di ram sebagai tambahan, namun
                                     tidak menambah ukuran fisik ram-nya).

dari proses - proses diatas, muncul istilah simple paging dan simple segmentation
Bedanya :
  • simple paging : main memory dipartisi menjadi ukuran lebih kecil fix chunk yang bernama
                        frame. Processor akan menggunakan page number untuk menghitung
                        absolut addressnya.
  • simple segmentation : main memory tidak di partisi, namun dibagi berdasarkan segment
                                  number dan tidak kelihatan benar - benar dibagi. Processor akan
                                  menggunakan segment number untuk menghitung absolut addresnya.
dari istilah di atas, dapat disimpulkan bahwa main memory / ram di komputer kita dapat di partisi.
Dalam segmetation only, muncul length dan segment base di table entry segmentation karena ukuran yang dibagi kurang jelas seperti partisi.

Page replacement adalah suatu kebijakan atau aturan untuk managemen memory saat butuh page tambahan mana yang masih kosong agar mudah ngaturnya.

Page replacement algorithm (banyak algoritmanya karena banyak juga kekurangan dan kelebihan)

Optimal page replacement algorithm -> memilih replace page yang paling lama dalam proses yang
                                                     sedang berjalan
                                                      kekurangannya , gak bisa memprediksi event masa depan
                                                     dan algoritma ini hanya bisa diterapkan jika mengetahui
                                                     urutan pasti memory di masa depan yang mana yang
                                                     sequencenya paling jauh. Setiap adanya perubahan
                                                     urutan, disebut sebagai page fault. (melihat masa depan
                                                     dan yang paling duluan lahir / paling pertama lahir)

Non recently used page replacement

Fifo ->memasukkan atau page fault berdasarkan urutan dan nilai yang uda ada tidak perlu di
         fault. (page di remove menggunakan teknik round-robin). kurang bagus karena, ada
         kemungkinan page yang dibuang akan dipakai lagi di masa depan, namun bagus hasilnya
         jika hasilnya atau urutannya sama semua.

Second chance page replacement

Clock page -> melihat atau mengisi fault page berdasarkan urutan clock atau penanda, jika
                    yang masuk adalah alamat yang sudah ada dalam urutan sebelumnya, clocknya
                    tidak bergerak.

Least recently used page replacement -> melihat mana yang jarang dipakai, atau replace page
                                                     page yang jarang dipakai. (melihat masa lalu dan ngitung
                                                     waktu lahir terakhir)
Working set page replacement

WSClock page replacement.

catatan : semakin sering sebuah memory direplace, semakin sering juga butuh resources baru. jadi makin tinggi tingkat page fault , makin kurang baik, dan berlaku sebaliknya.

Page fault prediction : digunakan untuk mencari dari susunan alamat yang diberikan kondisi kapan page fault dan jumlah page faultnya dan distance stringnya, pembatas internal array untuk menentukan bahwa distance string yang melebihi pembatas internal array akan menjadi page fault. Computation dari page fault dari distance string C = banyaknya distance string
contoh : C1 = banyaknya distance string bernilai 1 =..... dan F = jumlah dari semua C dari n + 1
contoh : F1 = C2 + C3 + ..... C infiniti (n=1)

Belady's anomaly

File management system

Long-term storage: sebuah penyimpanan file, harus mampu menyimpan dalam waktu yang lama
                           dan dalam ukuran yang besar.

tipe - tipe file : - file biasa
                     - executable file
                     - file archive

atribut - atribut file :

Directori dapat dibagi menjadi

   -Single level directory

   -Two level directory

   -Hierarchical directory system

sebuah folder yang berada di dalam folder lain dinamakan sub directory

Pathname : adalah penamaan untuk jalur yang digunakan untuk dapat menuju tempat / lokasi file atau folder yang ingin dituju. Pathname dibagi menjadi 2 yaitu :

   -Absolute pathname : sekali didefinisi path nya , file tersebut hanya bekerja di path name
                                 yang disebut. jadi tidak flexible. contoh penggunaan , keamanan sebuah
                                 aplikasi sehingga tidak dapat diakses di tempat lain.

   -Relative pathname : pathnamenya bisa flexible sehingga dapat diakses di tempat lain contoh
                                penggunaan, untuk file - file shareable , sehingga lebih effisien ketimbang
                                sebuah file harus dibuat ulang agar bisa dipakai di tempat lain.

Dalam file allocation method, hal yang penting adalah start block dan length, seperti arrival time dan burst time dalam materi sebelumnya. Cara - cara file allocation method seperti :

-  Contiguous allocation (filenya berdekatan, dan dapat dirapikan dengan defragment, namun jangan sering - sering defragment karena dapat merusak harddisk)

-  Chained allocation (alokasi file berdasarkan linked-list)

-  Indexed allocation (file - filenya diindex agar mudah dicari)

Tujuan file management :
    memaksimalkan performa
    gampang digunakan dan diakses oleh user
    support input / output support contoh printer yang langsung detect picture untuk diprint saat media penyimpanan eksternal dimasukkan ke dalam system.

Requirement awal file management

- Tiap user mampu untuk membuat,menghapus,membaca,dan merubah file
- Tiap user mampu untuk access file user lain
- Tiap user bisa mendefinisikan hak akses antar user
- Tiap user dapat merubah struktru file.
- Mampu untuk mengeliminasi kemungkinan untuk lost atau destroyed data.
- Menyediakan kumpulan standard interface input / output.
- Tiap user mampu untuk move , back up and recovery dan mengakses file berdasarkan icon

File system secara basic harus memperhatikan masalah Physical input / output, perubahan blok data karena saat blok data berubah dan ada proses yang ingin makai blok itu, akan terjadi collision, perhatikan juga mengenai penempatan blok - blok memory. Input / output juga memiliki basic input / output yang bertanggung jawab untuk inisiasi dan terminasi input / output file, mengontrol scheduling untuk memaksimalkan performance, dan merupakan bagian dari operating system.

Fungsi - fungsi dasar file management
  identifikasi dan mengetahui file yang di select
  block access file
  alokasi file untuk free blok
  mengatur tempat yang kosong untuk blok yang available
  dalam shared system , beri kontrol access.

Criteria untuk organizing file
    rapid access (fast access)
    ease of update
    penyimpanan yang ekonomis
    gampang maintenance
    dapat dipercaya.

Binus & Sky Connectiva

Minggu, 10 Mei 2015

Day 3

Deadlock 

      Adalah kejadian atau peristiwa dimana lebih dari satu proses memperebutkan resources yang sama, contoh resources : Harddisk, Printer, dll. Pengertian deadlock menurut buku adalah
"Bloking secara permanent dari kumpulan proses yang mana memperebutkan system resources atau komunikasi antar proses" (terjemahan sendiri , No Google Translate).

Contoh Deadlock 
Kondisi untuk kejadian Deadlock Resources
  • Mutual Exclusion : hanya satu proses yang boleh mengakses resources, sehingga proses
                             menunggu dengan lama dan sabar.
  • Hold And Wait : sebuah kejadian dimana sebuah proses yang memegang resources
                         menunggu hasil inputan dari proses lain untuk run. contoh:
                         saat pembagian makanan di acara, yang duduk paling ujung langsung ambil
                         untuk dirinya sendiri, oleh karena itu jika makanan yang dibagi ternyata
                         tidak mencukupi, proses yang harusnya makan , malah tidak kedapatan, dan
                         proses yang tadi tidak akan makan sampai proses sebelumnya mendapat
                         makanan oleh karena itu terjadi deadlock (semuanya kelaparan wkwkwkwk).
  • No-preemption : Sebuah proses yang sedang berjalan, tidak dapat diganggu gugat sampai
                           proses tersebut selesai menggunakan resources dan melepasnya untuk
                           digunakan proses lain.
  • Circular wait :

Deadlock pun ada pemodelannya agar lebih mudah dalam menjelaskan situasi deadlock. Pemodelan menggunakan RAG (Resources Allocation Graph)
contoh :

 contoh kasusnya :


Jika kasus tersebut digambarkan kedalam RAG maka hasilnya seperti ini :


 dan penyelesaian dari deadlock tersebut bisa dengan cari ini :


Ada macam - macam cara untuk menghidari atau menghadapi deadlock seperti :
  • Ostrich Algorithm (Just ignore the problem)
  • Detection and Recovery : Membiarkan masalah terjadi, lalu masalahnya di analisa dan
                                       lakukan action yang sesuai untuk menghadapai masalah tersebut.
  • Dynamic avoidance : Menghindari masalah di awal dengan alokasi resources yang cermat.
  • Preventing : Mencegah deadlock dengan menghilangkan salah satu kondisi deadlock.
Deadlock avoidance juga mengandung algoritma yang akan membuat alokasi yang diberi adalah safe state sehingga menjamin bahwa tidak akan terjadi kondisi circular wait. Algoritma ini disebut juga sebagai Banker's Algorithm.

Berikut simulasinya :




Kondisi pencegahan dalam kondisi penyebab deadlock :
  • Mutual Exclusion
         sebaiknya jangan digunakan untuk yang shareable resources.
     
  • Hold and Wait
         harus dapat menjamin bahwa kapanpun sebuah proses ingin mengakses resources, proses tersebut tidak boleh memegang resources lain.
  • Circular wait
         ada proses yang harus nunggu atau jalan duluan sehingga tidak terjadi saling nunggu.
  • No-preemption
         bukan merupakan pilihan yang tepat untuk mencegah deadlock.
Oleh karena itu untuk deadlock prevention :
  • Mutual exclusion
         dalam menggunakan metode ini, harus membuat antrian proses yang akan mengakses resources.
  • Hold and Wait
         dalam menggunakan metode ini, semua proses harus menginisialisasi resources yang akan dipakai sejak awal
  • No preemption
         mengambil semua resource.
     
  • Circular wait
         buat antrian secara numerically.
untuk kasus starvation , solusinya dapat menggunakan kebijakan First-Come First-Serve  (antrian)

Memory Management

      Adalah cara - cara untuk memanage memory, agar memory yang dipakai se-efisien mungkin
Requirement untuk memory management :
  • Relokasi
         saat program sedang berjalan , program tersebut dapat saja di swap ke main memory di lokasi yang berbeda 

  • Proteksi
         sebuah proses yang aktif, tidak boleh mereference alamat memory di dalam proses lain tanpa ada permission

  • Sharing
          memperbolehkan beberapa proses untuk mengakses  porsi yang sama dari memory
  • Logical Organization
          program ditulis dalam bentuk modul - modul dan dicompile secara terpisah (share module)
  • Physical Organization
          memanage secara physical.
Addressing ada yang untuk logical , relative,  dan physical

Logical addressing : referensi alamat memory independent terhadap tugas data sekarang di memory

Relative addressing : alamat diekspresikan sebagai lokasi yang relatif terhadap titik/point yang dikenal

Physical addressing : lokasi absolut atau lokasi sebenarnya dalam memory.

Cara - cara memory management :
  • Partition
         membagi - bagi (partisi) memory yang digunakan sehingga mampu untuk memproses banyak job secara bersamaan.
     
  • Swapping
          perpindahan (swap) alamat memory saat sebuah proses sedang berjalan.
  •  Bit map
  •  Linked list
Algoritma dalam memory allocation :
  • First fit -> fastest (karena langsung menemukan)
  • Next fit
  • Best fit -> memilih blok memory yang terdekat dengan size yang diminta
  • Worst fit
  • Quick fit
  • Buddy system -> menggunakan perhitungan , dan semua space dianggap single block 2^U
                            dengan rumus 2U-1 < s <= 2U


memory allocation dengan buddy system

Binus & Sky Connectiva