Senin, 25 Mei 2015

--Pertanyaan Yang Diajukan mengenai I/O Software Layers--



1. Pengertian I/O Software Layers
    I/O Software Layers adalah suatu lapisan I/O Software yang terdiri dari 4 lapisan, yaitu
    
   
    Prinsip kenapa bisa muncul Software I/O adalah untuk mengorganisasikan software ke beberapa layers dimana level bawah menyembunyikan akeses/kepemilikan hardware untuk level atasnya, dan level diatasnyalah yang membuat interface yang baik untuk usernya


2. Bagaimanakah penjelasan dari masing-masing level tersebut
    jawab:

    a. User-Level I/O Software
        User level I/O Software terbagi menjadi 2,
        -  Library Call
           Dimana pengguna umumnya membuat library call yang kemudian membuat panggilan sistem
        -  Spooling
           >Dimana program dari user akan ditempatkan didalam directory khusus.
           >Daemon(Background Program) mengambil data dari directory dan mengeluarkan data                          tersebut ke devices.

     b.Device-Independent operating system software 
         Adalah software I/O yang tidak bergantung pada perangkat keras.

         Fungsinya:
    1. Interface seragam untuk seluruh device-driver.
    2. Penamaan device.
    3. Proteksi device.
    4. Memberi ukuran blok device agar bersifat device-independent.
    5. Melakukan Buffering.
    6. Alokasi penyimpanan pada blok devices.
    7. Alokasi dan pelepasan dedicated devices.
       c. Devices Driver
           Mekanisme kerja daripada Devices Driver:
                    1. Menterjemahkan perintah abstrak menjadi perintah konkret.
                    2. Setelah mengetahui perintah-perintah apa saja yang harus diberikan ke pengendali,devices driver mulai                                 menulis ke register-register pengendali peralatan.
                    3. Setelah operasi terselesaikan, maka devices driver akan memeriksa kesalahan-kesalahan apa saja yang                                     terjadi.
                    4. Jika semuanya berjalan dengan baik, maka devices drivers akan melewatkan data ke perangkat lunak                                       software independent.
                    5.Devices melaporkan informasi status sebagai pelaporan kesalahan ke pemanggil.

        d.Interrupt Hendler
            -Interrupt disini harus desembunyikan agar tidak terlihat rutin berikutnya.
            -Ketika interrupt terjadi, prosedur penanganan interrupsi (Interrupt Handler) akan bekerja agar devices driver                        keluar dari state yang sedang terblock

        e. Hardware

            Mendefinisikan perangkat kerasnya.







           www.binus.ac.id
         www.skyconnectiva.com
           

Jumat, 08 Mei 2015

BAB 10. MEMORY MANAGEMENT

1. Pengertian Memory management
    Pengelompokan memori untuk menampung beberapa proses

2. Memory Management Requirement
a. Relocation
Setiap kali program diexecute maka memorinya pun juga akan berpindah lokasi dari lokasi sebelumnya
b. Protection
Proses tidak bisa mereference lokasi memori dari proses lain tanpa izin
c. Sharing
Berbagi memori dengan porsi memori yang sama
d. Logical Organization
-Program ditulis dalam bentuk module
-Setiap modul bisa dicompile dan ditulis secara independen
e. Physical Organization
Dibagi berdasarkan memori fisik dengan mengizinkan beberapa modul diassign ke region memori yang sama

3.Memori Allocation Algorithm
a. First Fit
b. Next Fit
c. Best Fit
d. Worst Fit
e. Quick Fit
f. Buddy System






www.binus.ac.id
www.skyconnectiva.com
BAB 8. DEADLOCK

1. Pengertian Deadlock
    Deadlock adalah suatu keadaan dimana terdapat dua proses atau lebih yang sama-sama menunggu       satu resource


    

2. Kondisi- kondisi yang menyebabkan deadlock Terjadi
    a. Mutual Exclution
        Hanya terdapat satu proses pada satu waktu yang dapat menggunakan sebuah resource
    b. Hold and Wait
        Adalah proses yang sedang memegang satu resource tetapi dia masih menunggu resource                     tambahan lain atau proses lain
    c. No Preemptive
        Resource dapat dibebaskan kalau proses tersebut benar-benar sudah mau melepas dan sudah               meyelesaikan tugasnya
    d. Circulr Wait
        Terjadi ketika antar proses saling tunggu-tungguan sampai membentuk circular

3. Pemodelan Deadlock
    

4. Strategy dealing with deadlock
    a. Menolak masalah dengan menggunakan Ostrich algorithm
    b. Mendeteksi dan memperbaiki, dimana ketika deadlock terjadi maka langsung dideteksi dan                 langsung diambil aksi untuk negatasi masalah tersebut
    c. Menghindarinya dengan mengalokasikan resource dengan hati-hati 
    d. Mencegahnya secara struktural dengan beberapa kondisi yang dibutuhkan 


5.Deadlock avoidence
   a. Deadlock-avoidence algorithm
       Digunakanlah algoritma untuk menguji resource allocation state untuk memastikan bahwa tidak          akan terjadi kondisi circular

   b. Resource allocation State
       Digunakan untuk mendefinisikan kira-kira berapa banyak resource yang masih ada dan                        maximum yang dibutuhin
   
6. Safe and UnSafe State
    -Safe State    
    -Unsafe State
    











BAB 7. CONCURRENCY

1. Pengertian Concurrency
    Concurrency merupakan landasan umum perencangan sistem operasi.
    Proses-proses disebut concurrency jika proses-proses (lebih dari satu proses) berada pada saat           yang sama.

2. Macam-Macam Concurrency
    a. Communication among processes
    b. Sharing Resource
    c. Synchronization of multiple processes
    d. Allocation of processor time
    e. Multiple application
    f. Structured Application
    g. Operating-system structure

3. Masalah didalam Concurrency
    a. Sharing Global Resource
        contoh : Pada printer ketika digunakan bersama-sama
    b. Management of allocation of resource
        Bagaimana memanagement pengalokasian memori dengan aman
    c. Programming errors difficult to locate
        contoh : Bisa terjadi deadlock jika concurrency tidak diatur dengan baik

4. O/S CONCERN
    a. Mencari tahu terlebih dahulu proses-proses yang aktif itu apa saja yang bisa menimbulkan masalah concurrency
    b. Resource yang perlu dialokasikan dan didealokasikan
    c. Melindungi data dan resource
    d. Hasil dari suatu proses haruslah independen dari kecepatan eksekusi dati proses koncuren lain

5. Kompetisi antar proses dari sumber daya
    a. Mutual Exclusion
        Diberikan suatu hak khusus
    b. Deadlock
    c. Starvation

6. Cooperation among process
    a. By Sharing
    b. By Communication

7. Mutual Exclusion
    Hanya boleh satu proses pada suatu waktu yang diijinkan untuk menggunakan resource yang               sifatnya critical

8. Mutual Exclution by busy waiting
    a.Disabling interrupts
    b. Lock variables
    c. Strict alternation
    d. Peterson's solution
    e. The TSL instruction
9. Shemaphore
    Variabel khusus yang disebut shemaphore itu digunakan untuk signaling.
    Shemaphore adalah variabel yang memiliki integer value.
    Memiliki 3 operasi/penanda dan nilai integer yang bisa digunakan hanya 3 operasi

10.Mutex
    Mutex hampir sama dengan Shemaphore namun hanyalah terdapat 2 operasi/penanda saja

11.Monitor
     -Konstruksi bahasa pemrograman yang mendukung akses yang dikontrol untuk sharing data
     -Enkapsulate 









www.binus.ac.id
www.skyconnectiva.com
      
BAB6. PROCESS SCHEDULING


1. PROCESSOR SCHEDULING AND MULTIPROCESSOR SCHEDULING
    - Processor Scheduling adalah Suatu proses cheduling untuk mengatur bagaimana caranya dalam           satu processor menjadwalkan prosesnya masing-masing
    - Multiprocessor Scheduling adalah scheduling dengan banyak processor

2.Behavior Of  Process
    a. Process-Bound
    b. I/O Bound

3. Dispatcher
    Modul dispatcher akan memberikan kontrol kepada CPU untuk proses yang dipilih oleh short term     scheduler(penjadwalan dalam jangka pendek)
    
    Dispatcher Latency -> Waktu yang diambil oleh dispatcher untuk menstop proses A dan menstart       proses B

4. Kriteria Scheduling
    a. CPU Utilization
        CPU harus tetap bekerja dengan baik
    b. Throughtput
        Setiap waktunya terdapat berapa proseskan yang selesai
    c. Turnaround Time
        Waktu yang digunakan untuk mengeksekusi suatu proses tertentu
    d. Waiting time
        Seberapa lama dia menunggu proses lain yang sedang berjalan
    e. Response Time
        Waktu yang dibutuhkan sejak request sampai dengan response

5. Kriteria pengoptimalisasian
    a. pemaksimalan penggunaan CPU
    b. pemaksimalan jumlah proses yang selesai
    c. waktu pengeksekusian yang seminimum mungkin
    d. waktu tunggu yang singkat
    e. waktu respon time yang singkat

6. Tujuan Scheduling
    a. All System
        Fairness -> Membagi sama rata
        Policy    -> Terdapat suatu kebijakan dan semuanya harus menaati dan mengikuti kebijakan                                    tersebut
        Balance  -> Proses dibuat setimbang, jika yang lain sibuk maka dia juga ikut sibuk

    b. Batch System
        Throughtput         ->Memaksimalkan kerja per jamnya
        Turnaround Time ->Meminimalisir waktu
         CPU Utilization  ->Lebih ke bagimana caranya untuk membuat CPU menjadi bagus kinerjanya
  
     c. Interactive System
         Respon time     -> Lebih ke berapakan waktu tunggu yang diperlukan untuk menjalankan                                                  sebuah request
         Proportionality -> Lebih kedalam kesesuaiannya dengan request yang disampaikan
     
      d. Real Time System
          Meeting Deadline
          Predictability

7. BATCH SCHEDULING ALGORITHM
    a. First Come First Server
     

     b. Shortest Job First-Non Preemptive
          
      c. Shortest Job First - Preempive
     












 BAB 4. PROCESS AND THREAD


PROSES


1. Process Vs Program
    Process  -> Mengandung instruksi untuk melakukan tugas
    Program -> Eksekusi dari sebuah program

2. Proses Model
    a. Multiprogramming dari 4 program
    b. Conceptual Model of four independent, sequential,processes
    c. Only one program is active at once
     
3.Process Creation
   Event yang menyebabkannya:
   - Instalasi sistem
   - Pelaksanaan sistem proses penciptaan panggilan dengan proses yang berjalan . ( fork ( ) )
- Permintaan user untuk pembuatan proses baru
- Inisialisasi Batch Job

4. Five State Process Model

5. Suspended Processes
Disini kerja processor lebih cepat dati I/O jadi semua proses dapat menunggu I/O tersebut
2 State Baru, meliputi
a. Blocked, Suspend
b. Ready, Suspend

6. Process Tables
Atribut yang dibutuhkan untuk menegementnya
a. Process ID
b. Process State
c. Lokasinya di memori

7. Process Location 
Peroses yang didalamnya terkandung kumpulan program untuk mengeksekusi
a. Lokasi data untuk lokal dan global variabel
b. Beberapa pendefinisian konstanta
c. Stack

8.Process Control Block
a. Process Identification
   -Identifier
b.Processor State Information
   -User Visible Register
c.Processor State Information
   -Control and Status Register
   -Stack Pointers
   -Scheduling and State Information
d.User Mode
e.System Mode,Control Mode, or Kernel Mode

9. Process Termination
Kejadian-Kejadian yang menyebabkan Proses terputus
a. Normal Exit(Voluntary)
b. Error Exit(Voluntary)
c. Fatal Error(Involuntary)
d. Killed By Another Process(Involuntary)

10.Fork()



- Ketika Program memanggil fungsi fork() maka proses duplikasi yang sering disebut proses child akan dibuat
-Hasil Fork() -> 0 berarti Child
                      ->-1 berarti error
                      -> Selain itu maka parent


THREAD

1. Pengertian Thread
    Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara                   independen dengan sebagian program lainnya
   

    Keuntungan Sistem Thread
    -Respon lebih cepat
    -Menggunakan resource bersama-sama
    -Lebih Ekonomis
    -Meningkatkan utilitas arsitektur mikroprocessor

    Macam - macam Thread
    - User Thread
      Thread yang diatur dengan menggunakan pustaka user level thread

      Manfaat User Space
      - Mengizinkan masing-masing proses untuk memiliki algoritma schedulingnya sendiri
      - Performance lebih bagus

      Kekurangannya
      - Bisa melakukan bloking pemanggilan sistem
      - Tidak ada Thread yang boleh jalan apabila first thread sedang jalan(intinya dia harus menunggu)


    - Kernel Thread
      Thread yang didukung oleh kernel
       
      Manfaat Kernel Space
      - Tidak membutuhkan nonbloking pemanggilan sistem baru
    
      Kekurangannya
      - Membutuhkan biaya yang besar untuk membangun dan menhancurkan threadnya

    Status Eksekusi Thread
    - Running      -> Program Thread berjalan
    - Ready         -> Program thread siap untuk dijalankan
    - Terminated -> Program Thread Diputus

    Thread memungkinkan beberapa eksekusi berlangsung dalam lingkungan proses yang sama
a. Lightweight Process
Proses mengambil properti/atribut yang sama dari proses.
LWP terdiri dari 2 elemen
- LWP Identifier
- Prioritas dari LWP
Dengan LWP ini proses-proses tertentu akan diprioritaskan, dan otomatis thread-thread didalamnya juga akan didahulukan.

2. Pemodelan Thread




3. Hubungan antara Thead dan Process







www.binus.ac.id

Kamis, 07 Mei 2015

BAB 3. FILE SYSTEM


1. Pengertian File
   File adalah unit penyimpan logika yang diabstraksi sistem operasi dari perangkat penyimpan

2. File System
   File System berfungsi untuk mengkoordiansikan file dan memanage untuk pengaksesan data
   
   Fungsi File Sistem
   - File Management
     Bagaimana mengatur file kita mulai dari pembacaan file dan lain-lain
   - Auxilliary File Storage Management
   -File Integrity Mechanisms
     Untuk memastikan bahwa data tidak rusak dan menjaga keabsahan data
   -File Access Method

   Typically objects in the file system have meta data associated with them.Such meta data includes
   -Owner and Group Information -> UGO(User, Group,Other)
   -Time                                          -> Waktu yang kita habiskan untuk mengotak atik file kita
   -Permission                                 -> Yang mengizinkan apakah data bisa diexecute, dibaca,atau                                                                     keduanya

   Common examples of disk based file system include:
   -UFS
   -HSFS
   -EXT2
   -FAT32
   -HFS+
   -Elaphant FS

3. UNIX FILE SYSTEM
    
Sistem file yang mendefinisikan hirarki logis untuk mewakili objek pengguna membuat . Hal ini dapat mewakili seluruh namespace , bahkan mencakup seluruh disk

4. Tipe Objek Didalam File System
- Regular Files
- Directories
Direktori menyediakan pemetaan antara nama-nama  file dan file sendiri

- Link
Terbagi menjadi 2, yaitu
a. Softlink
-Bisa dibuat diantar network
-Kalau didelete maka data akan hilang
-Dia Mereference ke link simbolik
b. HardLink
-Kalau satu file kedelete maka file yang lain juga ikut kedelete
-harus berada didalam satu file
-Kalau didelete maka datanya tidak akan hilang
- SepesialFiles
Dia tidak mengandung file tapi mengandung servis untuk file sistem atau untuk memappingkan physical devices
contoh : con(connection),prn(printer),nul(kosong)
* dimana jika kita membuat folder dengan nama dari salah satu diatas maka folder tersebut tidak akan bisa didelete

-Named Pipe
Dia sepesial file juga, dimana dia tidak mengarah ke blog tapi mengarah kestruktur memory

5.CHMOOD
Digunakan untuk memodivikasi file

Library : #include<sys/types.h>
#include<sys/stat.h>







                                              BAB2. OPERATING SYSTEM OVERVIEW

1.Pengertian Sistem Operasi
   Sistem operasi adalah program yang bertindak sebagai perantara antara user
   dengan perangkat keras komputer.
2.Komponen Sistem Komputer
   -Perangkat Keras, merupakan sumber daya utama untuk proses komputasi.
    Perangkat keras komputer terdiri dari : CPU, memory dan perangkat input
    output.
3.Tujuan Sistem Operasi
   - Convenience
     Membuat komputer nyaman digunakan
   - Efisiensi
     Mengizinkan sumber sistem komputer untuk digunakan secara efisien
   - Kemampuan Untuk Dikembangkan
     OS bisa dikembangkan untuk jangka waktu yang panjang
4. Struktur Sistem Komputer
    
5. Kernel
    Adalah Porsi Operating System yang terdapat di dalam Main Memory yang terdiri dari banyak           frekuensi yang digunakan untuk fungsi dan juga disebut Nucleus
6. User/Computer Interface area yang disediakan oleh OS
    a. Program Development
        Bagaiman kita mendeveloping program kita 
        Contoh : Visual Studio, Dev C++, GCC
    b. Program Execution
        Jumlah Step yang dibutuhkan untuk mengeksekusi program
    c. Access to I/O devices
    d. Controlled Access to files
        Lebih ke bagaimana cara kita untuk membuat hak akses
    e. System Access
    f. Error detection and Response
    g.Accounting 
       Gimana cara menghitung respon time dan bisa memeonitor performance
    h. ISA 
    i. ABI
    j. API

7. Evolusi Operating System   
    a. Serial Processing
        Adalah Mesin yang dijalankan dari konsole dengan lampu layar dan switch tonge, perangkat               input dan printer dan dia bukan operating system
    b. Simple Batch System
        -Monitor -> Adalah Software yang mengkontrol jalannya program
        -Job Control Language(JCL)
          Tipe sepesial dari ahasa pemrograman dan dia menyediakan instruksi untuk memonitor apa                 yang compiler gunakan dan data apa yang digunakan
        -UniProgramming
          Processor harus menunggu I / O instruksi untuk menyelesaikan sebelum sebelumnya
-MultiProgramming
Ketika satu pekerjaan perlu menunggu I / O , prosesor dapat beralih ke pekerjaan lain

-Time Sharing
Menggunakan multiprogramming untuk menangani beberapa pekerjaan interaktif,dimana waktu processor dibagi ke beberapa pengguna dan beberapa pengguna secara bersamaan mengakses sistem melalui terminal

8. Perbedaan Uniprogramming dan MultiProgramming
Uniprograming
-Penggunaan memori lebih sedikit
-Penggunaan processor lebih sedikit
-Waktu yang diperlukan lebih lama
Multiprogramming
-Penggunaan memori lebih banyak
-Penggunaan processor lebih banyak
-Waktu yang diperlukan lebih cepat

9.Perberdaan Batch Multiprogramming dan Time Sharing
Batch Multiprogramming
- Prinsip tujuannya adalah memaksimalkan penggunaan processor
- Source of directive OS is job control language command provided with the job
Time Sharing
-Prinsip tujuannya dalah untuk meminimalisir respon time
-Source of directive OS adl command yang dimasukkan untuk terminal

10.Deadlock, Memory Management, dan Virtual Memori
- Deadleock
suatu kemungkinana dimana terdapat 2 atau lebih program yang menunggu program yang sama dalam satu waktu sehingga tidak terdapat satu program yang mendapatkan data tersebut
- Memory Management
Adalah bagaimana cara kita mengatur penggunaan memori pada sistem kita supaya penggunaannya lebih efisien dan efektif
- Virtual Memory
Adalah suatu fasilitas yang memungkinkan program untuk menempatkan data kita ke suatu address memori secara logic tanpa menampungnya di tempat penyimpanan fisik

11. Protection And Security
Pertimbangan proteksi dan keamanan Informasi
a. Availability
terdapat suatu program yang berfokus pada proteksi sistem
b. Confidential
Untuk memastikan user yang tidak terautorisasi untuk tidak dapat membaca data tertentu yang bukan miliknya
c. Data Integrity
Untuk menjaga keabsahan data dan memproteksinya dari pemodifikasian data tanpa terautorisasi
d. Autentifikasi
Fokus pada verifikasi user dan validasi data

12. Scheduling and Resource Management
- Fairness
- Differential Responsive
- Efisiensi
13. Operating System Services



14.Tipe System Call
              - Proses Control
              - File Management
              - Devices Management
              - Information Maintanance
              - Communication
              - Protection
              












           www.binus.ac.id
           www.skyconnectiva.com







                 
-