Pages

Sabtu, 09 Mei 2015

Day 1



Pengenalan Sistem Operasi

     Sebuah sistem operasi adalah sebuah software yang menggunakan resources dari hadrware yang berupa satu atau lebih processor dalam komputer untuk menyediakan berbagai services atau jasa untuk sistem user (end user). Operating sistem juga bertanggung jawab untuk memanage secondary memory dan Input Output devices sesuai dengan apa yang diinginkan 
 
     Perlu diketahui apa saja elemen - elemen dasar dari sebuah operating sistem yaitu :

  • Processor
         untuk mengontrol kegiatan dari komputer dan menyediakan data processing function.
         biasa disebut sebagai CPU (Central Processing Unit)
  • Main Memory
         merupakan tempat penyimpanan data dan program, bersifat volatile dan biasa
         direferensikan sebagai real memory atau primary memory atau RAM.
  • I/O Modules
         alat - alat atau modul - modul untuk perpindahan data antara komputer dan
         lingkungan eksternal yang terdiri dari berbagai jenis devices dan terminal.
  • System Bus
         merupakan sistem jalur yang menyediakan arus komunikasi antara processor, main
         memory, dan I/O modul.
Berikut gambar selengkapnya:


 


      Setelah mengetahui komponen - komponen dasar dari sebuah komputer, dalam sebuah komputer perlu diketahui juga cara sebuah komputer mengeksekusi perintah atau command dari luar agar diproses. Oleh karena itu, kita mengenal yang namanya Arsitektur Komputer.
Secara garis besar, alur instruksi dasar dalam sebuah komputer seperti gambar:


     Sebuah instruksi akan memasuki tahap start lalu menuju ke tahap fetch untuk dieksekusi dan jikalau telah selesai akan berhenti, namun dalam process execute , bisa saja perintah tadi dibawa lagi ke fetch agar diproses kembali. 
      Untuk tahap eksekusi perintah diatas, dikenal juga adanya proses Pipelining (berlangsung satu eksekusi perintah dalam satu satuan waktu, seperti linier dan tidak bisa balik ke tahap selenjutnya). Namun ada juga yang berupa Superscalar yaitu masing - masing fetch unit akan dimasukkan bersama dalam sebuah penampung agar diurutkan, fetch mana yang akan dijalankan duluan. 
  
     Terdapat beberapa elemen yang bekerja di dalam proses fetch dan execute. Elemen - elemen tersebut adalah :

  • PC (Program Counter)
       yang bertugas untuk men-track instruksi selanjutnya yang akan dieksekusi (menambah
       count) dan akan ditempatkan instruksi tadi ke dalam IR (instruction register)
  • AC (Accumulator)
       kerjanya untuk menambah / mengeksekusi data yang dimiliki dalam sebuah memory yang
       sedang diakses.
  • IR (Instruction register)
       tempat penyimpanan perintah atau instruksi yang akan dijalankan.
  • MAR (Memory Address Register)
       adalah tempat penyimpanan yang menyimpan alamat memory yang mengandung
       potongan data selanjutnya atau sebuah instruksi atau perintah yang akan dilaksanakan.
  • MBR (Memory Buffer Register)
       tempat register penyimpanan sementara isi atau value memory dari alamat yang
       dimiliki oleh MAR.
  • I/O AR (Input Output Address Register)
       menspesifikasikan perangkat input / output yang akan diakses.
  • I/O BR (Input Output Buffer Register)
       menyimpan data yang akan dituliskan ke dalam sebuah port dengan alamat dari
       I/O AR.

     Gambar diatas menjelaskan bahwa untuk process fetch pertama kali, PC akan mencatat alamat memory yang akan diakses dan value dari memory yang ditunjuk alamat tadi akan disimpan di IR. Value di IR akan diambil untuk dijadikan alamat yang menunjuk alamat memory lain yang berisi value baru. AC bertugas mengambil value tersebut lalu menyimpannya. Setelah itu, PC akan diincrement sehingga menunjuk ke alamat memory yang baru dengan isi data yang berbeda untuk diprose oleh AC. Pada akhirnya, hasil perhitungan tadi akan disimpan kembali dalam sebuah alamat memory oleh AC.

     Setelah mengetahui proses sebuah perintah di eksekusi di dalam komputer, muncul pula yang namanya interupsi atau gangguan karena adanya proses pengeksekusian perintah tersebut.

            Jenis - Jenis Interupsi :
  • Program
         Jenis interupsi karena adanya kondisi yang kurang tepat dalam eksekusi perintah contoh : Arithmetic overflow, Division by zero, illegal machine instruction, references outside allowed memory space.
  • Timer
         Interupsi yang dihasilkan oleh timer dalam processor
  • I/O
         Jenis interupsi yang dihasilkan oleh Input Output controller, berupa signal yang mengandung makna tertentu.
  • Hardware Failure
         Jenis interupsi karena kegagalan hardware.
Berikut gambar untuk proses eksekusi perintah dengan interupsi. 
      Salah satu komponen yang penting dalam proses pengeksekusian perintah adalah memory.
Memory dalam hal ini berarti adalah tempat untuk menyimpan sementara data yang akan diproses maupun data yang telah diproses untuk penyimpanan.
Hirarki dari memory itu sendiri adalah 

   
  

Salah satu jenis memory yang sering digunakan untuk buffer temporary data sebelum disimpan ke dalam disk adalah Cache Memory.

   

       Mengapa cache memory digunakan ?? Karena cache memory lebih dekat dengan CPU jika dilihat dari arsitekturnya. Tugas cache memory seperti penyimpanan informasi sementara yang biasanya diakses oleh Processor dari memory, sehingga jika data yang akan diakses oleh processor tersebut telah ada sebelumnya dalam cache memory, main memory tidak perlu mengirimkan secara langsung data tersebut ke processor, cukup cache memory yang mengirimkannya sehingga process komputesi menjadi lebih cepat ketimbang tanpa cache memory.

           3 Tipe Cache Memory
  • L1
        Berupa built in dalam CPU. contoh Intel Pentium memiliki 16 K cache memory
     
  • L2
        Merupakan fast access memory (SRAM) yang terletak antara CPU dan Main Memory.
     
  • L3
        Umumnya diketahui sebagai High Access Memory yang terletak diantara Motherboard dan CPU.
     Setelah memngetahui proses yang terjadi dalam komputer kita saat mengeksekusi sebuah perintah atau program, kembali dapat menjadi bahan pertanyaan yaitu, Sebenarnya Operating System diciptakan untuk apa ??
     
     Operating System adalah sebuah program yang mengendalikan proses eksekusi dari aplikasi dan merupakan jembatan antara aplikasi (software) dan hardware (Interface) dan memiliki tujuan atau goal sebagai berikut :
  • Kenyamanan (Convenience)
         Operating system akan membuat sebuah hardware (komputer) lebih nyaman untuk digunakan dengan berbagai tampilan yang eye catching dan fungsi - fungsi yang mudah untuk digunakan.
  •  Efisiensi
         Membuat komputer resources digunakan seefisien mungkin sehingga komputer dapat bekerja mencapai performa maksimalnya.
  • Kemampuan untuk berevolusi (Ability to evolve)
         Sebuah OS perlu kemampuan untuk berkembang menyesuaikan dengan perkembangan jaman dan teknologi sehingga tetap laku dipasaran dan mempunyai fitur - fitur yang membuat user lebih nyaman memakainya.
Sebuah operating system juga menyediakan services dalam area - area seperti :
  • Program development
  • Program execution
  • Access to I/O devices
  • Controlled access to file
  • System access
  • Error detection and response
  • Accounting
  • Instructioin set of architecture
  • Application binary interface
  • Application programming interface
Komputer yang kita kenal sekarang yang begitu canggih pun merupakan evolusi dari komputer - komputer sebelumnya. Berikut sejarahnya
     Serial Processing (late 1940 - mid 1950)
          Pada jaman ini belum ditemukan OS oleh karena itu, programmer langsung berinteraksi
          dengan hardware secara langsung. Masalah yang dihadapi saat itu adalah tentang
          Scheduling  dan Setup time

     Simple Batch System (mid 1950)
          Konsep Batch OS mulai dikembangkan oleh General Motors untuk digunakan di IBM 701.
          Meskipun OS sudah mulai digunakan untuk mempermudah penggunaan komputer,
          penggunyanya masih ingin hal - hal seperti : Memory protection, Timer, Priviledge
          Instruction dan Interrupts sehingga konsep ini masih akan dikembangkan.

      Job Control Language (JCL)
          Konsep ini dikenalkan dengan penggunaan bahasa pemrograman khusus dan mampu
          menyediakan perintah ke monitor berupa kompiler apa yang harus digunakan ?
          data apa yang perlu digunakan ?
      Uniprogramming
          Konsep OS ini adalah linier processing atau processor harus menunggu perintah
          Input / Outpu selesai dikerjakan lalu processor dapat melanjutkan pekerjaannya.

      Multiprogramming
          Operating system ini merupakan evolusi dari uniprogramming yang telah support
          multiprocess seperti contoh : jika ada salah satu jon yang harus menunggu hasil dari
          Input / Output, processor dapat switch ke proses yang lain , sehingga tidak ada antrian 
          panjang , dan lebih cepat dari uniprogramming.

      Time Sharing
          Operating system yang lebih canggih dari multiprogramming (Batch Multiprogramming)
          yang menekankan pada minimalisasi respon time, dan perintah - perintah di masukkan 
          lewat terminal.

     Dalam operating system yang baik, memory management adalah hal yang harus dipertimbangkan agar penggunaan resources komputer dapat seefisien mungkin sesuai dengan goal dari operating system.
     Memory itu sendiri memiliki prinsip management storage. 
          Proses terpisah
          Alokasi dan management memory secara otomatis
          Mendukung programming modular
          Access kontrol dan keamanan
          Penyimpanan jangka panjang

     Sementara, kita sering mendengar kata virtual memory. Namun apa itu virtual memory ?
Virtual memory adalah memory bayangan atau dapat dibilang memory yang dibuat secara logical / software yang membantu process pengolahan data dan dapat dibuat dari space hard disk penyimpanan kita. Virtual memory membantu programmer untuk menunjuk memory dari sudut pandang logical dan membantu melancarkan eksekusi process.

     Masalah security merupakan hal yang patut diperhatikan dari sebuah OS. Pada umunya masalah security yang berkaitan dengan OS adalah :
  • Availability (sistem perlindungan terhadap interupsi)
  • Confidentiality (user hanya mengakses hak aksesnya)
  • Data integrity (melindungi data yang ada, dari modifikasi pihak tak dikenal)
  • Authenticity (berbicara soal verifikasi dan validase)
 Penjadwalan dan Management resources juga perlu menjadi bahan pertimbangan untuk OS
  • Fairness : Tiap proses yang ingin minta resources diberikan seperty yang dialokasikan
  • Diferential responsive : respon yang dinamis sesuai pola yang seing terjadi.
  • Efisien : memaksimalkan throughput, mengurangi waktu response.

 

File System 

       File system adalah sebuah system yang mengorganisir file dan mengatur access menuju data. Konsern pertama dari file system adalah memanage penyimpanan secondary (disk storage).

             Meta data dalam file system meliputi
  • Informasi mengenai Owner dan group
  • Time
  • Permission
Contoh - contoh disk berdasarkan system file :
  • UFS (Unix File System)
  • EXT2
  • FAT32
  • HFS+
  • Elephant FS
     Unix file system adalah sebuah system file yang mendefinisikan hirarki secara logical untuk mereferensikan object - object yang dibuat oleh user.

     Tipe - tipe object dalam sebuah file system :

          File regular
                Adalah sebuah file yang bisa berbentuk atau berekstention apa saja

          Direcktori
                Adalah sebuah file yang mengandung satu atau lebih file / object di dalamnya dan
                dapat diatur file - file didalamnya berdasarkan hierarchy.

          Link
                Adalah sebuah tautan atau shortcut program maupun file ataupun direktori yang
                mempermudah kita untuk mengakses file tersebut. Terdiri dari 2 jenis yaitu
                Softlink dan Hardlink.
                      Saat dibuat sebuah link di suatu tempat tertentu, jika menggunakan softlink
                      saat dihapus file shortcutnya, file aslinya juga akan ikut terhapus, namun
                      tidak berlaku untuk hardlinks.
     
          Special file
                Sebuah file yang tidak mengandung data didalamnya, namun digunakan untuk mapping
                physical device atau menyediakan services untuk file system.

          Named Pipes
                Merupakan tipe special file yang bukan menunjuk pada blok memory, melainkan
                langsung menunjuk ke struktur dalam memory.

Command - command dalam file operation : create, delete, open, close, read, write, append, seek,
                                                            get attributes, setattributes, rename.

Command - command dalam directory operation
        create, delete, opendir, closedir, readdir, rename, link, unlink.


          File Special
          Named Pipes


Process & Threads

      Process adalah sebuah atau gabungan dari beberapa aktifitas termasuk eksekusi sebuah program, sebuah instance dari program yang berjalan di komputer maupun sebuah entitas yang dapat di assign untuk dieksekusi dalam sebuah processor. Proses berbeda dengan program karena program adalah kumpulan instruksi untuk melakukan sebuah tugas sementara process adalah eksekusi dari sebuah program.

      2 state process model terdiri dari

State transition diagram & Queueing diagram



Awal dan akhir dari sebuah process dapat disebut juga dengan Process creation dan Process termination. Process creation terjadi saat process baru ditambah ke dalam process yang sedang berjalan atau sedang di manage, sementara process termination terjadi saat sebuah proses telah selesai dikerjakan.

Salah satu process model adalah Five state process model.



Masalah yang sering muncul adalah Suspended proses yaitu ada proses yang mengantri untuk dapat mengakses memory sehingga dapat berjalan semestinya. Ada 2 status orang yang tertinggal

Binus & Sky Connectiva

Tidak ada komentar:

Posting Komentar