Jumat, 12 Juni 2015

Security

Security Requirement

A. Confidentiality
     Informasi yang digunakan dalam suatu sistem komputer hanya dapat diakses oleh pihak yang memiliki akses atau orang-orang yang authorize.
B. Integrity
     Lebih menekankan pada data itu sendiri, datanya dapat di percaya atau tidak (kebenaran atau keaslian suatu data).
C. Availability
    Data yang akan digunakan dalam sistem komputer tersedia atau tidak (ketersediaan data yang dapat diakses).
D. Authenticity
     Memastikan identitas dari user yang akan menggunakan data tersebut, siapa saja yang dapat mengakses data tersebut.



Security Environtment











Types of Threats

A. Interruption
     Dalam interruption, dapat menyebabkan asset dari sistem hilang, data yang akan diakses tidak tersedia atau tidak dapat digunakan. Interruption menyebabkan gangguan pada availability.
B. Interception
     Beberapa pihak(orang/program/sistem komputasi) yang tidak memiliki hak akses atau orang-orang yang unauthorize memperoleh akses terhadap asset. Hal ini mengakibatkan gangguan terhadap confidentiality.
C. Modification
     Jika pihak yang tidak memiliki hak akses tidak hanya mengakses data saja, melaikan mengubah data seperti mengubah isi database, mengubah program sehingga melakukan suatu perhitungan tambahan atau mengubah data yang dikirim secara elektronik, dapat mengakibatkan gangguan pada integrity.
D. Fabrication
     Memasukkan transaksi palsu ke sistem jaringan komunikasi atau menambahkan catatan untuk database yang sudah ada, terkadang penambahan ini dapat dideteksi, tetapi jika terampil dilakukan, penambahan ini hampir tidak dapat dibedakan dari aslinya. Hal ini menyebabkan gangguan pada authenticity.





Basic Cryptography















Digital Signature
















Protection Mechanism(1)

- Protection Domain







Protection Mechanism(2)

- Protection Matrix












Protection Mechanism(3)

- Protection Matrix with domain as object










Protection Mechanism(4)















Protection Mechanism(5)

- Two Access control list







- Capability List












Computer Sytem Assets


  • Hardware
  • Software
  • Data
  • Communication line and networks


Digital Immune System 

























Attacks From Inside


A. Trojan Horse
      Suatu program yang terlihat tidak berbahaya yang berisi kode untuk melakukan fungsi yang tidak terduga atau fungsi yang tidak diinginkan. Fungsi yang tidak diinginkan tersebut dapat memodifikasi, menghapus atau mengenkripsi file pengguna ke tempat dimana cracker atau tempat persembunyian yang aman sementara melalui email/FTP.

B. Login Spoofing
         Mendapatkan username dan password dengan membuat halaman login palsu. Dengan trik
tertentu memaksakan pengguna untuk memasukkan password mereka.
ex : Windows meminta pengguna untuk menekan Ctrl+Alt+Del sebelum halaman login untuk alasan tertentu.

    C. Logic Bomb
         Merupakan program kecil atau bagian dari program dipicu oleh beberapa peristiwa seperti tanggal atau waktu tertentu. Dapat mengakibatkan penghapusan file sebagian atau sepenuhnya.
ex: seorang programmer dapat membangun sebuah logic bomb untuk menghapus bagian penting dari kode jika ia di berhentikan dari perusahaan.

    D. Trap Door
         Memungkinkan seorang programmer sistem untuk memotong seluruh otentikasi, yaitu untuk memilih nama login, tidak peduli terhadap password dan jenid pengguna.

    E. Buffer Overflow 
        Menggunakan inputan yang diimplementasikan dengan buruk, tetapi aplikasi yang digunakan sama sekali tidak berbahaya, biasanya dengan hak akses root/administrator.


Famous Security Flaws
















Viruses

Merupakan program yang dapat menginfeksi atau menginjeksi program lain dengan memodifikasi program tersebut.
- Modifikasi tersebut dapat berupa copy dari virus program.
- Program yang terinfeksi virus dapat menginfeksi program lain.


Worms

Menggunakan network connection untuk menyebar dari satu sistem ke sistem lain. Worm menginfeksi program dengan cara memperbanyak dirinya sendiri.
- Electronic mail facility
   Worm mail dapat mengcopy dirinya dari satu sistem ke sistem lain.
- Remote execution capability
   Worm menjalankan copyan dari dirinya pada sistem lain.
- Remote log-in capability
 

Zombie

Merupakan program yang secara tersembunyi menangani internet-attached computer lain. Menggunakan computer untuk menjalankan attack yang sulit untuk ditemukan oleh pembuat zombie.


Antivirus Approach


  • Detection
  • Identification
  • Removal


Selasa, 02 Juni 2015

Embeded System

Pengertian 
Merupakan kombinasi dari software dan hardware yang di design untuk suatu fungsi tertentu.

Contoh Embedded System :






















Karakteristik Embedded System :

  • Real-time operation 
  • Reactive operation 
  • Configurability
  • I/O device flexibility
  • Streamlined protection mechanism
  • Direct use of interrupt
Embedded System Development
  • Codingnya reactive, tidak sequential dari atas ke bawah.
  • Dapat berhenti dimana saja secara tiba-tiba.
  • Dapat menjalankan proses secara bersamaan.

Tujuan dibentuknya Embedded Operating System
Embedded Operating system dirancang untuk digunakan di system komputer yang embedded. Embedded OS di operasikan pada mesin kecil seperti PDA, OS ini dapat beroperasi dengan sumber daya yang sangat terbatas. OS ini dirancang agar sangat kecil dan efisien. Contoh dari embedded operating system adalah eCOS.


eCOS
eCOS merupakan open source real-time operating system bebas yang ditujukan untuk aplikasi embedded. Karena sifatnya yang mudah di konfigurasi, eCOs memungkinkan system operasi akan disesuaikan dengan kebutuhan aplikasi secara tepat. Memberikan kinerja yang baik dan mengoptimalkan sumber daya hardware.



Multi Processor

Multicore Computers
- Merupakan CPU yang terdiri lebih dari satu core.
- Meningkatkan performance walaupun clock speednya kecil.


MULTIPROCESSOR
- Terdiri lebih dari satu CPU.
- Dapat mengkombinasikan dua teknologi, multicore dan multo processor.


Multicore System
Save Energy

  • Hanya menggunakan satu chip saja, sehingga energy yang dibutuhkan lebih kecil.
  • Circuitnya tidak berulang-ulang.
Save Space

  • Hanya menggunakan satu chip sehingga spacenya lebih kecil.
  • Lebih menghemat space karena dalam satu chip dapat terdiri lebih dari satu core.  


Multi Processor System
Performance
  • Memiliki performance yang lebih bagus karena dapat menjalankan aplikasi secara bersamaan.
  • Dapat menghandle request yang lebih banyak.











a. Shared-Memory Multiprocessor
b. Message-Passing Multicomputer
c. Wide area distributed system





UMA Multiprocessor with Bus-Based Architectures










a. Without Catching
b. With Catching
c. Witch Catching and private memory


UMA(Uniform Memory Access)
Paling sering diwakili oleh Symetric Multiprocessing(SMP) mesin. Processor identik akses yang sama dan waktu akses ke memory kadang-kadang disebut CC-UMA (Cache Coherent UMA). Cache Coherent berarti jika satu processor update ke lokasi di memory bersama, semua processor lain tahu tentang pembaruan. Cache Coherent dicapai pada tingkat hardware (akses memory secara seragam).



NUMA(Non-Uniform Memory Access)
Sering dibuat untuk menghubungkan dua atau lebih SMP, satu SMP dapat langsung mengakses memory SMP lain. Tidak semua processor memiliki waktu yang sama akses ke semua link, akses memory melalui link lambat, jika Cache Coherent dipertahankan maka bisa juga disebut CC-NUMA atau Cache Coherent NUMA (akses memory tidak secara seragam).




SMP(Symetric Multiprocessor)
Symetric Multiprocessing(SMP) menggunakan teknologi yang menghasilkan kinerja yang lebih baik. Dalam SMP setiap processor dapat menjalankan semua jenis bagian. Processor berkomunikasi satu sama lain melalui memory yang digunakan bersama. System SMP memiliki Load-Balancing dan toleransi kesalahan yang lebih baik. Hal ini dikarenakan bagian dalam system operasi dapat berjalan pada processor manapun dan kemungkinan terjadinya error dan hambatan pada CPU akan berkurang.



Time Sharing
Menggunakan single data structure untuk melakukan scheduling.












Space Sharing



Gang Scheduling


Sabtu, 30 Mei 2015

Translation Lookaside Buffer

Pengertian
Merupakan chace memory yang digunakan dalam memory management untuk meningkatkan kecepatan translasi virtual address. Dapat disimpulkan bahwa TLB merupakan chace memory yang menyimpan translasi terbaru dari memory virtual ke alamat fisik untuk pengambilan lebih cepat. Ketika alamat memory virtual direferensikan oleh sebuah program, pencarian dimulai pada CPU. Pertama, periksa instruksi chace, jika memory yang dibutuhkan tidak ada dalam chace, sistem harus mencari alamat memory fisiknya, Pada fase inilah TLB diperikasa untuk referensi cepat ke lokasi di memory fisik.


Cara Kerja
Diimplementasikan sebagai Content-Addressable Memory (CAM). CAM mencari kunci dari virtual address dan hasil dari physical address. Jika alamat yang di minta ada pada TLB, CAM mencocokkan dengan cepat dan alamat fisik yang diambil dapat digunakan untuk mengakses memory, ini disebut dengan hit TLB, jika alamat yang diminta tidak ada adalam TLB, maka terjadi kesalahan, dan translasi dihasilkan dengan melihat tabel halaman pada proses yang sedang berjalan. Untuk melihat pada tabel halaman membutuhkan banyak waktu dibandingan dengan kecepatan processor, karena melibatkan membaca isi beberapa lokasi memory dan menggunakannya untuk menghitung alamat fisik. Setelah alamat fisik ditentukan oleh tabel halamam, alamat virtual yang digunakan untuk pemetaan alamat fisik dimasukkan ke dalam TLB.





Jumat, 08 Mei 2015

Memory Management

  • Pengelompokan memori untuk menampung beberapa proses
  • Memori perlu dialokasikan secara efisien untuk menampung proses sebanyak mungkin.

Memory Management Requirements
  • Relocation : Programmer tidak tahu lokasi dimana program akan di letakkan dalam memory ketika program tersebut di eksekusi. Lokasi memory pada saat program di jalankan dapat berubah-ubah.
  • Protection : Suatu proses tidak boleh mereference ke lokasi memory proses lain tanpa ijin. Mustahil untuk mengecek alamat pasti dari suatu program pada saat program di realocate.
  • Sharing ; Mengijinkan beberapa proses untuk mengakses dengan porsi yang sama pada memory.
  • Logical Organization : Program ditulis dalam bentuk modul/fungsi. Setiap modul ditulis dan di compile secara independent berdasarkan fungsi bukan memory.
  • Physical Organization : Programmernya tidak tahu space memory mana yang sedang available.


Relocation



















Protection
















Addressing
  • Logical : mereference ke memory allocation independent dari data ke memory, terjemahannya harus dilakukan ke alamat fisik
  • Relative : Alamat dinyatakan sebagai lokasi relatif terhadap beberapa titik yang diketahui.
  • Physical : Alamat absolut atau lokasi yang sebenarnya di memori utama.

Swapping




Memory Allocation Algorithm 
  • First Fit : mencari memory yang paling pertama dan spacenya cukup.
  • Next Fit : mencari memory dari lokasi memory sekarang ke selanjutnya, bukan dari lokasi memory yang paling pertama.
  • Best Fit : mencari ukuran yang paling mendekati / sesuai dengan yang di minta.
  • Worst Fit : mencari ukuran memory yang terbesar.
  • Quick Fit
  • Buddy System : mencari lokasi memorynya menggunakan rumus.

RUMUS Buddy System 
  • 2U-1 < s <= 2U

Memory allocation Algorithm




























Concurrency



Concurrency 

  • Komunikasi antar proses
  • Sharing resources
  • Sinkronisasi beberapa proses
  • Alokasi dari processor time



Processor time untuk mengatasi masalah :

  • Multiple Application
  • Structured Application
  • Operating System Structure

Problem in Concurrency
  • Sharing global resource
  • Management of allocation of resources
  • Sulit mememukan kesalahan program 

Competition among Processes for Resources
  • Mutual Exclution
  • Deadlock
  • Starvation
Mutual Exclution
  • Hanya ada satu proses yang diperbolehkan menggunakan resources.
  • Sebuah proses yang berhenti di bagian non-critical harus melakukannya tanpa mengganggu proses lain.
  • Tidak ada Deadlock dan Starvation
Mutual Exclution by Busy Waiting
  • Disabling interrupts
  • Lock variables
  • Strict alternation
  • Peterson's solution
  • The TSL Instruction

Cara penyelesaian Dining Philosophers problem :
1. Mutex 
    hanya ada dua, operasi atau penanda, mirip halnya seperti semaphore.
2. Solving Producer
3. Semaphores
    digunakan untuk mengatur jalannya proses, tidak boleh bernilai negatif, untuk penandaannya             harus bernilai pisitif.
4. Monitor
    mencatat setiap fork() yang ada, atau availablenya.
5. Message Passing
    mengkomunikasikan informasi antara satu proses dengan proses lainnya.





Deadlock


Deadlock

  • merupakan suatu kondisi dimana dua atau lebih proses memperebutkan atau mengakses satu resource yang sama
Kondisi-kondisi yang dapat menyebabkan Deadlock

1. Mutual Exclution
  • hanya ada satu proses yang bisa akses suatu resource
  • lebih  ke arah operating systemnya (aturannya)
  • operating sistem dapat mengatur agar tidak terjadi deadlock, suatu proses dapat diberikan multiple access untuk read tetapi hanya satu proses yang bisa write.
2. Hold and Wait
    ketika suatu proses hold suatu resource dan proses tersebut juga sedang menunggu resource lain.

3. No Preemption
    tidak dapat di interrupt, suatu proses tidak akan melepas suatu resource sampai proses tersebut             telah selesai atau proses tersebut mau melepas resource yang sedang di hold.       
4. Circular Wait
    kondisi dimana suatu proses saling menunggu, proses a menunggu proses b dan proses b                     menunggu proses c, dan begitu seterusnya.


Strategy dealing with Deadlock 
  • Mencegah atau menolak problem
  • Deteksi dan recovery, biarkan deadlock terjadi, deteksi deadlocknya dan ambil tindakan terhadap deadlock tersebut.
  • Jika sudah tahu kapan akses dan terjadi deadlock maka kedepannya jangan terulang lagi.
  • Pencegahan dengan meniadakan salah satu dari empat kondisi yang diperlukan.


Safe and Unsafe state










Buktikan bahwa B is unsafe, kerjakan yaah !!!




Deadlock Prevention




Starvation 
  • Algoritma untuk mengalokasikan resource
  • Bekerja dengan baik untuk shortest-job first
  • Dapat menyebabkan pekerjaan lama untuk di postpone





Process Schedulling


Behavior of process
Digunakan untuk melakukan process schedulling, biasanya dilihat dari behaviornya.

  • Process Bound
  • I/O bound








CPU Scheduller
Digunakan untuk memilih process yang ada di memory yang ready dan dialokasikan.

  • Switching dari running ke waiting
  • Switching dari running ke ke ready
  • Switching dari waiting ke reeady
  • Terminates


Dispatcher
Modul yang memberikan kontrol pada CPU untuk melakukan seleksi proses dari short term scheduller, seperti :
  • Switching context
  • Switching untuk user mode
  • Jumping ke lokasi yang tepat dalam user program untuk me-restart program 
Dispatcher Latency : Waktu pada saat dispatcher meminta untuk stop atau start suatu proses, semakin besar waktu makan latency semakin jelek.


Schedulling Criteria :
  • CPU utilization
  • Throughput
  • Turnaround time
  • Waiting time
  • Response time

Goals of Schedulling
  • All System : Fairness, Policy, Balance
  • Batch System : Troughput, Turnaround time, CPU utilization
  • Interactive System : Response time, Proportionality
  • Real-time System : Meeting deadlines, Predictability

Batch Schedulling Algorithm

1. First Come First-Serve


  Process  Burst Time 
    P1                24
   P2                  3
   P3                  3







• Misalkan proses yang tiba dalam urutan: P1, P2, P3
   Gantt Chart :


  Waiting time for P1  = 0; P2  = 24; P= 27
   Average waiting time:  (0 + 24 + 27)/3 = 17

2. Shortest Job First - Non Preemptive
  Process      Arrival Time      Burst Time
  P1                      0.0                       7
   P2                     2.0                       4
   P3                    4.0                        1
   P4                    5.0                        4
SJF (non-preemptive)







Average waiting time = (0 + 6 + 3 + 7)/4 = 4

3. Round Robin
4. Priority Schedulling
5. Multiple Queue
6. Shortest Process Next
7. Guaranted Schedulling
8. Lottery Schedulling
9. Fair Share Schedulling
10. Schedulable real-time system



www.binus.ac.id


Process and Threads


PROCESS


Process Vs Program

  • Program : mengandung instruksi untuk melakukan suatu tugas.
  • Process : merupakan eksekusi dari suatu program.

The Process Model 











Process Creation
Event yang menyebabkan proses creation :
  • Inisialisasi sistem.
  • Pelaksanaan pemanggilan sistem proses creation dengan proses yang berjalan. (fork ())
  • Sebuah permintaan pengguna untuk membuat proses baru.
  • Inisiasi pekerjaan batch.

Process
  • Disebut juga dengan sebuah tugas atau pelaksanaan program secara individu, dan dapat ditelusiri daftar urutan instruksi yang mengeksekusinya.




5 States Process Model















Suspended Process

  • Prosesor lebih cepat daripada I / O sehingga semua proses dapat menunggu I / O
  • Swap proses ke disk untuk membebaskan lebih banyak memory
  • State yang diblokir menjadi suspend state ketika bertukar ke disk
  • Dua state baru : Blocked-suspend, Ready-suspend

Akibat dari Suspended Process
  • Swapping
  • Other OS reason
  • Interactive user request
  • Timing
  • Parent Process Request

Process Table
Merupakan lokasi dari suatu proses, atribut yang dibutuhkan untuk managementnya adalah :
  • Process ID
  • Process state
  • Location in memory 
Process Location
-   Proses mencakup sekumpulan program yang akan dieksekusi : 
  • Lokasi data untuk variabel lokal dan global
  • Setiap konstanta yang didefinisikan
  • Stack
-   Process Control Block
  • Merupakan sekumpulan atribut yang ada pada table process.
-   Process Image
  • Sekumpulan program, data, stack dan atribut.

Process Control Block
  • Mengidentifikasikan proses
  • Informasi state processor
  • Informasi proses control

Process Termination
Event yang dapat menyebabkan proses termination :
  • Normal Exit (voluntary)
  • Error Exit (voluntary)
  • Fatal Error (involuntary)
  • Di kill oleh process lain (invouluntary)
Alasan untuk Process Termination
  • Normal completion
  • Batas waktu terlampaui
  • Memori tidak tersedia
  • Pelanggaran Bounds
  • Kesalahan perlindunga : misalnya menulis untuk read-only file 
  • Kesalahan aritmatika
  • Waktu overrun : proses menunggu lebih lama dari maksimum yang ditentukan untuk sebuah event.
  • I/O failure
  • Instruksi tidak valid
  • Terjadi ketika mencoba untuk mengeksekusi data
  • Privileged instruction
  • Penyalahgunaan Data
  • Intervensi sistem operasi
  • Seperti ketika deadlock terjadi
  • Parent di terminate sehingga proses child mengakhiri permintaan parentnya.
Alasan Untuk Process Switch
  • Clock interupt
  • I/O interrupt
  • Memory fault
  • Trap
  • Supervisor Call

Modeling Multiprogramming


















Utility CPU sebagai fungsi dari jumlah proses dalam memori.



Process Creation

  • System()
  • Fork()
  • Exit()

System()

Example
#include <stdlib.h>
int main ( )
{
int return_value ;
return_value = system ( "ls -l /" );
return return_value;
}



Fork()
  • Ketika program memanggil fork(), proses akan diduplikat  yang disebut proses child.
  • Proses parent terus melaksanakan program dari titik yang disebut fork.
  • Proses child juga, mengeksekusi program yang sama dari tempat yang sama pid_t frok (void)














Exit()
  •          execvp dan execlp (dengan p)

         menerima nama program dan mencari program dengan nama di jalur eksekusi saat ini; fungsiyang tidak mengandung p harus diberi path lengkap dari program yang akan dieksekusi

  •          execv, execvp, dan execve (dengan v)

         menerima daftar argumen untuk program baru sebagai array NULL-dihentikan pointer mengerjakan sesuatu • execl, execlp, dan execle (dengan l)

         menerima daftar argumen menggunakan mekanisme varargs bahasa C                                                   

  •            execve dan execle (dengan e)
         menerima argumen tambahan, dan beberapa array environtment variable. Argumen harus array NULL-diterminate dari pointer ke string karakter. Setiap karakter string harus dari bentuk "VARIABLE = nilai".




THREADS

Threads

  • Merupakan state eksekusi yang berjalan(running, ready, dll)
  • Thread kontext tersimpan ketika tidak berjalan
  • Per-thread memiliki beberapa penyimpanan statis untuk variable lokal
  • Akses ke memory dan resources dari proses tersebut



Thread memungkinkan beberapa eksekusi berlangsung dalam lingkungan proses yang sama :

  •  Proses Lightweight : karena thread memiliki beberapa properti dari proses
  •  Multithreading : memungkinkan beberapa thread dalam proses yang sama

Property Proses :
  • LWP identifier
  • Priority LWP
  • Signal mask
  • Register
  • Stack


Thread Model




Kolom pertama berisi beberapa item yang dishare oleh semua thread dalam proses. Yang kedua berisi beberapa item pribadi untuk setiap thread.












Setiap thread masing-masing memiliki stack




Single thread : terdiri dari satu thread
Multiple thread : terdiri dari banyak thread


Keuntungan menggunakan thread


  • Waktu yang lebih efisien untuk membuat thread baru daripada membeuat suatu proses
  • Waktu yang dibutuhkan untuk terminate thread lebih sedikit daripada proses
  • Waktu yang dibutuhkan lebih sedikit untuk beralih antara dua thread dalam proses yang sama
  • Sejak thread dalam memori yang sama berbagi proses dan file, mereka dapat berkomunikasi satu sama lain tanpa melibatkan kernel

Hubungan antara Thread dan Proses
  • 1:1 (One to One)
  • M:1 (Many to One)
  • 1:M (One to Many)
  • M:M (Many to Many)

    www.binus.ac.id

    File System

    File System
    File sistem mengatur file dan mengelola akses ke data, mereka bertanggung jawab untuk manajemen file, manajemen penyimpanan file tambahan, mekanisme integritas berkas & metode akses file. Mengorganize file dan memanage untuk akases data. Biasanya objek dalam sistem file memiliki meta data yang terkait dengan file sistem, meta data tersebut meliputi:

    • Owner and group information 
    • Time
    • Permission

    Contoh umum dari disk yang berbasis file system, yaitu :

    • UFS (Unix File System)
    • HSFS(High Sierra File System) yang juga dikenal sebagai ISO9660
    • EXT2
    • FAT32
    • HFS+
    • Elephant FS
    UNIX File System 
    Sistem file yang mendefinisikan hirarki logis untuk merepresentasikan pembuatan objek user. Hal ini dapat merepresentasikan seluruh namespace, bahkan mencakup seluruh disk.





















    Tipe-tipe object dari suatu file system :

    • Regular files
    • Directories
    • Links(including symbolic links)
    • Special Files
    • Named pipes

    Directory 
    Direktori menyediakan pemetaan antara nama-nama file dan file itu sendiri, Dann merupakan file yang berisi pemetaan benda di dalamnya.


    Special File
    Tidak mengandung file, melainkan mengandung service untuk file system atau untuk memapingkan physical device.
    contoh :
    • con (connection)
    • prn (printer)
    • nul (kosong)
    dimana jika kita membuat folder dengan nama dari salah satu contoh diatas, maka folder tersebut tidak akan bisa di delete.

    File System API
    Sistem manajemen file dianggap sebagai bagian dari sistem operasi. Cara untuk melakukan input ke aplikasi adalah dengan file, dan output akan disimpan dalam file untuk penyimpanan jangka panjang.

    Named Pipe
    termasuk dalam salah satu special file, dimana named pipe tidak mengarah pada block tapi mengarah pada struktural memory.

    Perbedaan antara Softlinks dan Hardlinks
    • Softlinks : jika file sumber dihapus maka file yang telah dibuat softlinknya berdasarkan file sumber tersebut tidak akan bisa dijalankan.
    • Hardlink : jika file sumber dihapus maka file yang telah dibuat hardlinknya berdasarkan file sumber tersebut tetap dapat dijalankan.



    File Operation
    • Create 
    • Open
    • Close
    • Read 
    • Write
    • Append
    • Seek
    • Get Attribute
    • Set Attribiute
    • Rename

    Operating System Overview

    Operating System
    • Suatu program yang mengontrol eksekusi program aplikasi.
    • Suatu interface antara aplikasi dan hardware.

    Operating System Objectives 
    • Convenience : untuk mempermudah pemakaian komputer.
    • Efficiency : untuk melakukan pemakaian yang lebih efisien untuk hasil yang lebih baik.
    • Ability to evolve : Operating System dapat dikembangkan untuk jangka panjang.


    Structure of Computer System 


























    Operating System Concept
    • Process
    • Address Spaces
    • Files
    • I/O
    • Protection
    • The Shell
    • Harus memilik : memory yang besar, protection hardware, disk dan virtual memory.
    Monolithic Structure














    Layered System

    Layer                       Function
    5                              The Operator
    4                              User Program
    3                              I/O management
    2                              Operator-process communication
    1                              Memory and drum management
    0                              alokasi processor dan multi programming


    Client Server Model










    The Kernel
    Porsi sistem operasi yang ada di memori utama, dan berisi fungsi yang paling sering digunakan,
    juga disebut sebagai nukleus.


    Evolution of Operating System
    • Serial Processing
    • Simple Batch System 
    • Job Control Language
    • Uniprogramming
    • Multiprogramming
    • Time Sharing
    Process
    • Merupakan suatu program di eksekusi, atau suatu contoh dari sebuah program yang berjalan pada komputer.
    • Entitas yang dapat ditugaskan untuk dan dijalankan pada prosesor.
    Memory Management
    Proses isolasi atau alokasi memory secara otomatis dan manajemen untuk pemrograman modular dan perlindungan dan kontrol akses untuk penyimpanan jangka panjang.

    Virtual Memory
    Memungkinkan programmer untuk mengatasi memori dari sudut pandang logis sementara satu proses ditulis ke secondary store dan succession process.

    Scheduling and Resource Management
    • Fairness : memberikan akses yang sama atau adil untuk semua proses.
    • Differential responsiveness : membedakan antara kelas yang berbeda dari tugas-tugas.
    • Efficiency : memaksimalkan throughput, meminimalkan waktu respon, dan menampung sebanyak yang digunakan.
    Operating System Services





















    System Calls
    Pemrograman antarmuka untuk layanan yang disediakan oleh OS, biasanya ditulis dalam bahasa tingkat tinggi (C atau C ++). Sebagian besar diakses oleh program melalui high-level Application Program Interface (API) daripada menggunakan system calls langsung. Tiga API yang paling umum digunakan adalah API Win32 untuk Windows, POSIX API untuk sistem POSIX, dan Java API untuk Java virtual machine (JVM).






    System Calls API-OS


















    Types of System Calls
    • Program development : bagaimana untuk mendevelop suatu program.
    • Program execution : jumlah langkah yang dibutuhkan untuk menjalankan atau mengeksekusi program.
    • Akses ke I/O device
    • Controlled access to files (bagaimana cara membuat hak akses).
    • System access
    • Error detection and response
    • Accounting : bagaimana cara menghitung respon time dan dapat memonitor performance.


    Computer System Overview


    Operating system Sistem Operasi : Program yang bertindak sebagai perantara user dengan perangkat keras komputer.
    • Untuk mengeksekusi program user dan memudahkan menyelesaikan permasalahan user.
    • Tujuan OS : menggunakan hardware komputer secara efisien.
    Basic Element 


    • Processor : Mengontrol operasi komputer dan menampilkan fungsi data processingnya.
    • Main Memory : Menyimpan data dan program, memory ini sifatnya hanya sementara.
    • I/O Modules : Memindahkan data antara komputer dengan external environment.
    • System Bus : Menyediakan komunikasi antara processor, main memory dan I/O modules.


    Computer Architecture :




    Program counter (PC) melacak di mana untuk menemukan instruksi berikutnya sehingga salinan instruksi dapat ditempatkan dalam instruction Register (IR). Arus IR memegang instruksi yang akan dieksekusi. Dan Memory Address Register (MAR) digunakan untuk menyimpan alamat memori yang berisi baik bagian berikutnya dari data atau instruksi yang akan digunakan.
    Prosesor utama berisi Arithmetic-Logic Unit (ALU) dan control unit. ALU adalah dimana data diproses. Control unit mengambil instruksi dari memori,  Akumulator berada dalam Arithmatic Unit, PC dan IR berada dalam control unit, dan MAR dan MBR dalam prosesor.

    Instruction Cycle






           






    Types of Instruction
    • Processor memory : mentransfer data antara processor dengan memory.
    • Processor-I/O : data yang ditransfer dari atau ke peripheral device.
    • Data Processing : aritmatik atau operasi logic pada data.
    • Control : mengubah urutan dari eksekusi.

    Execution Cycle
    • Pipelining 








    • Superscalar















    Interrupt
    Suspensi proses yang disebabkan oleh peristiwa eksternal untuk suatu proses dan dilakukan sedemikian rupa sehingga proses dapat dilanjutkan.


    Type of Interrupt
    • Program
    • Timer
    • I/O
    • Hardware failure

    Instruction Cycle with Interrupt














    Memory

    ----------------- Highest Speed


















    ------------------- Lowest Speed






    Chace Memory















    Types of Chace Memory
    • L1 : biasanya digunakan oleh architerture CPU.
    • L2 : fast accsess memory (SRAM) yang biasanya berada di antara CPU dan memori utama.
    • L3 : biasanya dikenal sebagai akses yang tinggi memori antara motherboard dan CPU.