• Virtual Memory
    -Virtual Memory
    merupakan teknik manajemen memori yang dikembangkan untuk kernel multitugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer dari komputer penyimpanan data, yang memungkinkan sebuah program harus dirancang seolah-olah hanya ada satu jenis memori, memori virtual, yang bertindak secara langsung beralamat memori baca/tulis

    -Virtual Address
    Alamat yang dimasukkan ke lokasi pada virtual memory agar lokasi tersebut dapat diakses seolah-olah itu merupakan baggian dari main memory

    -Virtual Address Space
    Virtual storage yang ditugaskan untuk sebuah proses

    -Address Space
    Barisan dari memory addresses yang ada untuk sebuah proses

    -Real Address
    Alamat dari sebuah storage location pada main memory

    Perbedaan Antara Real Memory dengan Virtual Memory
    -Real Memory
    Real Memory merupakan main memory yang berupa RAM

    -Virtual Memory
    Virtual Memory merupakan memory pada disk dan membuat multiprogramming menjadi lebih efektif

    Requirement untuk Virtual Memory
    -Hardware harus dapat melakukan paging dan segmentation
    -Di dalam OS harus terdapat software untuk mengatur pergerakan pages atau segmentasi diantara secondary memory dan main memory

    Paging
    -Paging merupakan sistem manajemen pada sistem operasi dalam mengatur program yang sedang berjalan. Program yang berjalan harus dimuat di main memory. Kendala yang terjadi apabila suatu program lebih besar dibandingkan dengan main memory yang tersedia.

    Page Table
    -Stuktur hirarki Page Table

    Picture1

    -Simple Page Table = satu Page Table setiap proses

    Inverted Page Table
    -Struktur Inverted Page Table

    Picture2

    -Disebut inverted karena struktur tersebut memberi index pada page table entries dengan frame number daripada virtual page number
    -Page Number yang merupakan bagian dari virtual address dipetakan menjadi sebuah hash value
    -Hash value menujuk ke inverted page table
    -Bagian yang tetap(fixed) dari real memory dibutuhkan untuk tables tanpa melihat jumlah proses atau virtual pages supported

    Transaction Lookaside Buffer
    -Untuk mengatasi efek yang muncul dari membuat memory access time menjadi dua kali lipat, special high-speed cache atau lebih dikenal dengan Transaction Lookaside Buffer wajib digunakan
    -Setiap virtual memory reference dapat menyebabkan dua akses ke alamat physical memory.Yang satu untuk melakukan fetching page table entry dan yang satu lagi untuk melakukan fetching data atau instruksi selanjutnya

    Page Size
    -Semakin banyak pages yang dibutuhkan dalam tiap proses, maka ukuran page tables juga semakin besar
    -Untuk program yang besar pada lingkungan multiprogramming, beberapa bagian page tables dari proses yang aktif harus berada di dalam virtual memory daripada main memory

    Segmentation
    -Segmentation memperbolehkan programmer untuk melihat memory sebagai multiple address spaces atau segments
    -Simple dalam menangani struktur data yang sedang berkembang
    -Dapat merubah program serta dapat dikompile ulang secara independent
    -Setiap segment table entry mengandung starting address yang sesuai dengan segment pada main memory dan panjang dari segment itu
    -Sebuah bit dibutuhkan untuk menentukan jika segment telah berada di main memory
    -Bit-bit yang lain dibutuhkan untuk menentukan jika segment telah diubah sejak berada di main memory

    Penggabungan Paging dengan Segmentation
    -User address space dipecah menjadi kumpulan segments.Setiap segments dipecah menjadi kumpulan sized pages yang tetap yang sesuai dengan panjang main memory frame
    -Segmentation dapat dilihat oleh programmer, sedangkan Paging tidak dapat dilihat oleh programmer

    Address Translation

    Picture3

    Picture4

    Basic Algorithm untuk replace halaman yang telah diseleksi

    Picture1

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

  • Session 15 – 16
    File Management

    File Management System
    -Merupakan bagian dari Operating System
    -Menggunakan file untuk melakukan input ke aplikasi
    -Output disimpan pada file yang mempunyai jangka waktu penyimpanan yang lama

    Tujuan File Management System
    -Mencari kebutuhan yang diperlukan dalam data management
    -Data di dalam file dijamin valid
    -Optimisasi performa
    -Menyediakan I/O support untuk bermacam – macam jenis storage device
    -Menyediakan I/O support untuk banyak user
    -Menyediakan I/O support interface routines yang telah distandarisasi
    -Meminimalisasi resiko(kehilangan atau kerusakan data)

    Requirements dalam File Management System
    -Setiap user harus dapat melakukan create, delete, read and change files
    -Setiap user dapat memiliki akses kontrol terhadap file user yang lain
    -Setiap user dapat melakukan kontrol terhadap suatu file yang memiliki access type(allowed/not allowed)
    -Setiap user harus dapat melakukan modifikasi files untuk menyesuaikannya dengan masalah yang ada
    -Setiap user harus dapat memindahkan data diantara file – file
    -Setiap user harus dapat melakukan back up dan recovery files
    -Setiap user harus dapat mengakses files dengan symbolic names

    Basic File System
    -Physical I/O
    -Exchanging blocks of data
    -Placement of blocks
    -buffering blocks in main memory

    Requirements for Long-Term Storage
    -Harus dapat menyimpan informasi yang sangat banyak
    -Informasi harus melewati termination process
    -Multiple processes harus dapat mengakses informasi secara concurrent

    Session 17 – 18
    Input/Output Management

    Perbedaan Antar I/O Devices
    -Data Rate
    -Application
    -Complexity of control
    -Device

    I/O Techniques
    -Programmed I/O
    -Interrupt Driven I/O
    -Direct Memory Access

    Cara Kerja DMA(Direct Memory Access)
    1.Ketika prosesor ingin melakukan read atau write sebuah blok data, proesor mengeluarkan perintah kepada modul DMA dengan mengirimkan beberapa informasi sebagai berikut :
    -Ketika diminta untuk read/write, gunakanlah read/write control line diantara processor dan DMA module
    -Setiap address dari I/O devices yang digunakan melakukan komunikasi pada data lines
    -Mulai dari read from/write to dan disimpan oleh DMA module pada Address Register
    -Banyaknya kata untuk diread/write disimpan pada data count register
    2.Processor dapat melanjutkan task yang lain

    Hardware Issues
    -Efficiency
    -Generality

    O/S Issues
    -Efficiency = I/O tidak dapat menyesuaikan dengan kecepatan prosesor, banyak I/O yang sangat lambat dibandingkan dengan main memory, multiprogramming, swapping
    -Generality = menhandle semua I/O devices secara serentak, menyembunyikan sebagian besar details dari service I/O pada lower level routines sehingga suatu proses dan upper levels dapat melihat device secara umum

    I/O Organization
    -Logical I/O
    -Device I/O

    I/O Buffering
    -Proses harus menunggu I/O selesai sebelum melanjutkan ke proses berikutnya
    -Halaman tertentu harus tetap ada pada main memory selama proses I/O
    -Block Oriented
    -Stream Oriented

    Single Buffer
    -OS menempatkan buffer di main memory untuk permintaan I/O
    -Block Oriented
    -Read ahead

    Double Buffer
    -Menggunakan dua system buffers
    -Proses dapat mengirim data ke atau dari satu buffer selama OS mengosongkan atau mengisi buffer yang lain

    Circular Buffer
    -Menggunakan lebih dari dua buffers
    -Setiap individual buffer merupakan satu unit yang berada pada circular buffer
    -Circular Buffer digunakan ketika I/O operation harus tetap mengikuti proses

    Disk Scheduling
    -FIFO
    -Priority
    -Shortest Service Time First
    -Scan
    -C-Scan

    Disk Arm Scheduling
    -Read/Write time factors
    1.Seek time
    2.Rotational delay
    3.Actual data transfer time

    Session 19 – 20
    Memory Management

    Memory Management
    -Memory Management memperlakukan main memory sebagai resource untuk dialokasikan ke dan dibagikan diantara sejumlah processor yang sedang aktif
    -Basic tools dalam Memory Management adalah Paging dang Segmentation.Dalam paging, tiap proses dibagi ke ukuran yang kecil, fixed-size pages.Sedangkan segmentation disediakan untuk penggunaan potongan dengan ukuran yang berbeda.Hal ini juga memungkinkan untuk menggabungkan segmentation dan paging dalam single memory management scheme
    -Memory Management meningkatkan efisiensi pemakaian memory sehingga memungkinkan banyak proses-proses lain yang dapat dijalankan

    Memory Management Requirement
    -Relocation
    -Protection
    -Sharing
    -Logical organization
    -Physical organization

    Memory Management Techniques
    -Fixed Partitioning
    -Dynamic Partitioning
    -Simple Paging
    -Simple Segmentation
    -Virtual Memory Paging
    -Virtual Memory Segmentation

    Memory Partitioning
    -Placement Algorithm
    -Replacement Algorithm
    -Buddy System
    -Relocation

    www.binus.ac.id

    www.skyconnectiva.com

  • Concurrency and Deadlock

    -Concurrency
    Concurrency adalah sebuah properti sistem dimana beberapa perhitungan dieksekusi secara bersamaan, dan berpotensi untuk berinteraksi antara satu dengan yang lainnya.

    -Conccurency terjadi pada
    Proses dalam suatu aplikasi
    Thread dalam proses
    Program itu sendiri

    -Tujuan Concurrency
    Proses komunikasi antar proses
    Berbagi sumber daya
    Sinkronisasi antara beberapa proses
    Alokasi waktu proses

    -Masalah-masalah dalam Concurrency
    Berbagi sumber daya yang sama / bersifat global
    Manajemen alokasi sumber daya
    Error dalam programming susah diidentifikasi

    -Fokus dalam OS
    Menelusuri setiap proses yang sedang aktif
    Mengatur alokasi dan de-alokasi dari sumber daya tertentu, misalnya : Memory, I/O Devices, Processor Time
    Melindungi data dan sumber daya
    Hasil dari proses harus bersifat independen dari proses concurrency lainnya

    -Kompetisi antar Proses untuk mendapatkan sumber daya
    1.Mutual Exclusion
    Hanya satu program yang diperbolehkan untuk mengakses sumber daya ketika ada 2 program yang sama – sama membutuhkan sumber daya tersebut.

    2.Deadlock
    Ketika ada 2 proses / lebih yang saling berebut untuk mendapatkan suatu sumber daya yang sama

    3.Starvation
    Ketika ada 2 proses / lebih yang saling berebut untuk mendapatkan suatu sumber daya yang sama, namun semua proses saling mengalah sehingga tidak ada yang dapat mengakses sumber daya tersebut.

    -Semaphore
    Semaphore adalah sebuah variabel spesial yang digunakan untuk mengirimkan sinyal.

    -Karakteristik dari Semaphore
    Variable Semaphore merupakan sebuah integer
    Operasi pengiriman sinyal yang dilakukan oleh Semaphore tidak dapat diinterupsi

    -Cara kerja proses dalam Semaphore
    Proses Inisialisasi menggunakan angka non-negatif
    Proses Waiting akan mengurangi nilai Semaphore
    Proses Signaling akan menambahkan nilai Semaphore

    -Monitor
    Monitor adalah sebuah bahasa pemrograman yang mensupport semua akses kontrol kedalam data yang dishare

    -Beberapa kondisi yang tidak boleh dijalankan selama berada didalam monitor antara lain :
    Proses menunggu signaling dari proses lain
    Variable proses hanya dapat diakses dari dalam monitor
    Proses waiting akan melepaskan monitor secara sementara

    -Deadlock
    Deadlock adalah sebuah kondisi dimana setiap proses dalam sebuah set saling menunggu event dalam proses lainnya sehingga tidak ada proses yang berjalan

    -Beberapa hal yang dapat menyebabkan terjadinya Deadlock
    1.Mutual exclusion
    Hanya satu proses yang dapat mengakses sumber daya saat itu

    2.Hold and Wait
    Sebuah proses yang saat itu membawa sebuah sumber daya memerlukan sumber daya lain yang sedang dibawa oleh proses lain agar dapat berjalan

    3.No preemption
    Sebuah sumber daya dilepaskan oleh sebuah proses setelah proses tersebut selesai menjalankan tugasnya

    4.Circular wait
    Setiap set saling menunggu sumber daya dari set lain sehingga terbentuk sebuah looping

    -Solusi Deadlock
    Mengabaikan permasalahan yang terjadi
    Sengaja membiarkan Deadlock terjadi, kemudian cari lokasi Deadlock terjadi dan selesaikan Deadlock tersebut
    Pencegahan secara dinamik
    Pencegahan dengan cara meniadakan salah satu dari 4 kondisi deadlock

    -Stravation
    Starvation adalah sebuah Algoritma untuk mengalokasikan sejumlah sumber daya.

    -Karakteristik dari Starvation
    Dapat memberikan prioritas kepada job yang paling singkat
    Efektif untuk beberapa job singkat dalam sebuah system
    Dapat menyebabkan sebuah job tertunda dalam jangka waktu yang lama

    Soal Deadlock

    d1

    Ada 3 proses dalam gambar diatas, yaitu proses A, B, C.

    Dalam kondisi saat ini saldo yang ada di Bank adalah 3 + 3 + 2 + 2 = 10

    Tentukan proses safe / unsafe dari setiap proses :
    -Selisih saldo yang dibutuhkan dari proses A adalah 9 – 3 = 6
    -Selisih saldo yang dibutuhkan dari proses B adalah 4 – 2 = 2
    -Selisih saldo yang dibutuhkan dari proses C adalah 7 – 2 = 5
    -Sedangkan saldo yang dimiliki Bank saat ini adalah 3, maka dapat kita simpulkan bahwa saat ini A & C bersifat unsafe, dan B bersifat safe

    Bank meminjamkan saldonya ke proses yang bersifat safe, yaitu B. Maka proses yang terjadi adalah :
    -Bank meminjamkan 2 saldo ke B, sehingga free = 1 dan B = 4
    -B mengembalikan saldonya ke Bank, sehingga free = 5
    -Bank meminjamkan 5 saldo ke C, sehingga free = 0 dan C = 7
    -C mengembalikan saldonya ke Bank, sehingga free = 7
    -Bank meminjamkan 6 saldo ke A, sehingga free = 1 dan A = 9
    -A mengembalikan saldonya ke Bank, sehingga free = 10

    Karena setiap proses berhasil mengembalikan saldonya ke bank, maka problem diatas bersifat safe

    d2

    Solusinya :

    d3

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

  • Scheduling

    -CPU Scheduler
    CPU Scheduler memilih sebuah proses-proses dalam memory yang siap untuk dieksekusi, dan mengalokasikan CPU ke salah satu dari proses tersebut.

    -Kapan Scheduling terjadi?
    Ketika terjadi perubahan state dari running ke waiting.
    Ketika terjadi perubahan state dari running ke ready.
    Ketika terjadi perubahan state dari waiting ke ready.
    Ketika terjadi Terminasi

    -Jenis-jenis Scheduler
    1.Long-term Scheduling
    Keputusan untuk menambahkan suatu proses kedalam daftar proses yang akan dieksekusi

    2.Medium-term Scheduling
    Keputusan untuk menambahkan beberapa proses yang ada dalam main memory baik secara utuh maupun parsial

    3.Short-term Scheduling
    Keputusan untuk memilih proses mana yang dapat dieksekusi oleh prosesor

    4.I/O Scheduling
    Keputusan untuk menjalankan proses I/O yang belum berjalan oleh I/O device yang tersedia

    -Dispatch
    Dispatcher memberikan control CPU kepada proses yang dipilih oleh Short-term Scheduler.
    Dispatch latency merupakan waktu yang diperlukan oleh dispatcher untuk menghentikan sebuah proses dan menjalankan proses lainnya.

    -Elemen-Elemen dalam Scheduling
    CPU Utilization : CPU harus berjalan sesering mungkin.
    Throughput : Banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
    Turnaround Time : Waktu yang dibutuhkan untuk menjalankan sebuah proses tertentu.
    Waiting Time : Waktu tunggu sebuah proses dalam ready queue.
    Response Time : Waktu yang dibutuhkan oleh sebuah proses dari minta dilayani hingga ada respon pertama yang menanggapi layanan tersebut.

    -OPtimization
    1.Max CPU Utilization
    2.Max Throughput
    3.Min Turnaround Time
    4.Min Waiting Time
    5.Min Response Time

    -Tujuan Scheduling
    1.All Systems
    Fairness : Setiap proses mendapat pembagian CPU yang sama.
    Policy Enforcement : Kebijakan dijalankan
    Balance : Menjaga agar setiap part dari system berjalan

    2. Batch Systems
    Throughput : Memaksimalkan pekerjaan tiap jam.
    Turnaround Time : Meminimalkan waktu antara submission dan termination.
    CPU Utilization : Menjaga agar CPU selalu sibuk.

    3. Interactive Systems
    Response Time : Respon terhadap suatu request secepat mungkin.
    Proportionality : Sesuai dengan ekspektasi user.

    4. Real-Time Systems
    Meeting deadlines : Menghindari kehilangan data
    Predictability : Menghindari penurunan kualitas dalam system multimedia

    -Batch-Scheduling Algorithm
    1.First-Come First-Serve
    Proses diassign ke dalam CPU secara urut. Kemudahan menggunakan algoritma ini adalah mudah dimengerti dan mudah untuk di buat programnya. Sedangkan kesulitannya adalah tugas yg kecil/sedikit akan menunggu telalu lama jika mengantri dibelakang tugas yg besar.

    2.Shortest Job First – Non Preemptive
    Ketika CPU diberikan suatu proses yg tidak bisa di interupsi sampai CPU burst-nya selesai.

    3.Shortest Job First – Preemptive
    Ketika CPU diberikan suatu proses yg bisa di interupsi sebelum CPU burst-nya selesai.

    4.Interactive Scheduling Algorithm
    Round-robin scheduling
    Priority scheduling
    Multiple queues
    Shortest process next
    Guaranteed scheduling
    Lottery scheduling
    Fair-share scheduling

    e-book Halaman 447 Bagian 9.2

    1. First-Come First-Serve

    pict1

    Waiting time for A=0, B=2, C=5, D=1, E=3
    Average Waiting Time = (0+2+5+1+3)/5 = 2,2

    2. Shortest Job First – Non Preemptive

    pict2

    Waiting time for A=0, B=4, C=0, D=1, E=3
    Average Waiting Time = (0+4+0+1+3)/5 = 1,6

    3. Shortest Job First – Preemptive

    pict3

    Waiting time for A=0, B=4, C=0, D=1, E=3
    Average Waiting Time = (0+4+0+1+3)/5 = 1,6

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

  • Session : Thread

    -Thread
    Thread merupakan sebuah proses yang membuat banyak eksekusi dalam proses di tempat yang sama dan memiliki kendali tunggal

    -Execution State
    Thread memiliki 3 execution state,yaitu:
    1.Running
    2.Ready
    3.Terminated

    -Jenis-jenis Thread
    Jenis-jenis Thread antara lain sebagai berikut :
    1.Lightweight Process : Thread yang mempunyai beberapa properti dalam suatu proses
    2.Multithreading : Melakukan banyak eksekusi pada thread dalam proses tersebut

    -Benefits of Thread
    Keuntungan dari penggunaan Thread :
    1.Proses pembuatan Thread lebih cepat daripada pembuatan proses baru
    2.Proses termination Thread lebih cepat daripada proses
    3.Proses switching antar Thread lebih cepat

    -Thread Implementation
    1.User Space

    Picture1

    Kelebihan : Setiap proses dapat memiliki algoritma penjadwalan
    Kekurangan : Tidak dapat dijalankan oleh Thread lain kecuali Thread yang bersangkutan sudah selesai/terminate

    2.Kernel Space

    Picture2

    Kelebihan : Tidak membutuhkan pemanggilan baru sistem non-blocking
    Kekurangan : Biaya untuk membuat dan menghancurkan Thread lebih mahal

    3.Hybrid

    Picture3

    -Thread Basics
    Semua Threads dalam proses yang sama saling bertukar :
    1.address space yang sama
    2.Instruksi proses
    3.Banyak data
    4.Open files
    5.Signals and Signals Handlers
    6.Direktori tempat eksekusi/proses sekarang
    7.User dan Group ID

    Setiap Thread mempunyai keunikan dalam hal :
    1.Thread ID
    2.Set of registers,stack pointer
    3.Stack for local variable,return addresses
    4.Signal mask
    5.Prioritas/tingkatan
    6.Return value

    -Thread State
    Terdapat 4 state dalam Thread,yaitu :
    1.Spawn : Thread dibuat oleh OS
    2.Block : Thread menunggu event
    3.Unblock : Event terjadi dan Thread mulai berjalan
    4.Finish : Thread selesai

    -Penerapan Multi-Threading dalam Uniprocessor

    Picture4

    -Relasi antara Thread dan Process:

    Picture5
    Picture6

    -Threading granularity

    1.Coarse Threading = modul individu, yang disebut sistem, yang ditugaskan untuk prosesor individu
    2.Fine-Grained Threading = banyak tugas yang sama atau identik dibagi di beberapa prosesor
    3.Hybrid Threading = merupakan gabungan dari Fine-Grained Threading dan Coarse Threading

    -POSIX(Portable Operating System Interface)Threads

    Picture7

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

  • Session 1 : Process (PartI)

    Program = merupakan sekumpulan instruksi untuk melakukan pekerjaan

    Process = merupakan tahapan eksekusi dari program

    Process Characteristic
    -Identifier
    Memberikan label untuk tiap-tiap proses agar dapat membedakannya dari proses yang lain
    -State
    Keadaan dari suatu proses
    -Priority
    Tingkat prioritas suatu proses
    -Program Counter
    Alamat dari instruksi selanjutnya pada suatu program untuk dieksekusi
    -Memory Pointers
    Merupakan pointer yang menunjuk ke source code suatu program serta data yang berkaitan dengan proses program tersebut
    -Context Data
    Data yang tersedia pada registers di processor ketika proses dijalankan
    -I/O status information
    Informasi yang berisi tentang status dari I/O itu sendiri yang berkaitan dengan proses
    -Accounting Information
    Informasi yang berisi tentang processor time, clock time, dll

    Process Creation
    -Memberikan label yang unik untuk proses yang dituju
    -Mengalokasikan memory/space untuk proses
    -Melakukan inisialisasi PCB(Process Control Block)
    -Mempersiapkan linkages/link yang cocok
    -Membuat dari perluasan struktur data yang lain

    Process Termination
    -Normal completion
    Proses berakhir dengan normal
    -Time limit exceeded
    Proses melewati batas waktu yang telah ditentukan
    -Memory unavailable
    Memory tidak tersedia/tidak cukup untuk proses
    -Bounds violation
    Melewati batas yang telah ditentukan
    -Protection error
    Error yang terjadi karena Hak akses proses yang dibatasi
    -Arithmetic error
    Error dalam kalkulasi/perhitungan
    -Time overrun
    -I/O failure
    Error yang terjadi pada I/O components
    -Invalid Instruction
    Melakukan instruksi yang tidak sesuai
    -Privileged Instruction
    Instruksi yang memerlukan hak istimewa seperti admin
    -Data misuse
    Data yang disalahgunakan
    -Operating System intervention
    Terjadi ketika deadlock
    -Parent terminates so child processes terminate
    Ketika parent dihentikan,maka proses child juga akan berhenti
    -Parent request
    Permintaan dari parent

    Process Table
    -Merupakan letak dimana suatu proses disimpan
    -Terdiri dari Process ID,Process State serta lokasi pada memory

    Process Location
    -Merupakan proses yang terdiri dari sekumpulan program yang akan dijalankan
    -Terdiri dari PCB(Process Control Block) yang berisi kumpulan-kumpulan atribut dan Process Image yang berisi kumpulan-kumpulan dari program,data,stack dan atribut

    PCB(Process Control Block)
    Berikut ini merupakan tahapan-tahapan proses dalam PCB :
    1.Process Identification
    -Merupakan tahapan memberikan label/identitas untuk suatu proses
    -Terdiri dari Identifiers
    2.Processor State Information
    -Terdiri dari User-visible registers, Control and Status registers dan Stack Pointers
    3.Process Control Information
    -Terdiri dari Scheduling and state information

    Five State Process Model

    cat

    Process Switch
    Berikut ini merupakan beberapa penyebab utama terjadinya Process Switch/Pengalihan Proses :
    -Clock interrupt
    -I/O interrupt
    -Memory Fault
    -Trap
    -Supervisor Call

    Process Suspension
    Berikut ini merupakan beberapa penyebab utama terjadinya Process Suspension/Penundaan Proses :
    -Swapping
    -Other OS reason
    -Interactive user request
    -Timing
    -Parent process request

    Execution Mode
    1.User Mode
    -Terdapat sedikit hak istimewa/privileged
    -Sebagian besar program dijalankan melalui mode ini
    2.System Mode, control mode or kernel mode
    -Terdapat banyak hak istimewa/privileged
    -Merupakan kernel dari OS

    Session 2 : Process (PartII)

    Process Management System Call – fork()
    Cara memanggil fork() :
    1.Membuat proses baru(didefinisikan sebagai child)
    2.Parent dan child dijalankan secara bersamaan
    3.Setiap proses dapat men-fork() proses lain hingga membuat suatu hirarki proses
    4.Proses dapat memilih untuk menunggu child untuk dihentikan

    Beberapa hal yang harus diperhatikan dalam fork() :
    1.returns -1 jika gagal
    2.returns 0 untuk child
    3.mengembalikan bilangan positif, child identifier(child PID) yang berada di parent
    4.Ketika fork() dijalankan,fork akan membuat copy yang identik dari address space
    5.Kedua proses dapat berjalan setelah itu
    6.Oleh karena itu parent dan child dapat berjalan secara terpisah/bebas

    ddsd

    fork() parent dan child process

    asada

    system()
    -Menjalankan perintah dari dalam sebuah program
    -perintah biasanya direprensentasikan dalam bentuk shell
    -Membuat subproses untuk menjalankan standard Bourne shell
    -Menggunakan /bin/sh
    -Pada GNU/LINUX system, shell menunjuk pada bash

    system() process
    #include
    int main ( )
    {
    int return_value ;
    return_value = system ( “ls -l /” );
    return return_value;
    }

    exec()
    -Memanggil salah satu kelompok/family exec() akan langsung menghentikan program yang sedang berjalan dan memulai eksekusi program baru yang telah diidentifikasi di parameter exec dalam konteks dari existing process
    -Process ID tidak berubah

    exec() family system calls
    -int execl( const char *path, const char *arg, …);
    -int execv( const char *path, char *const argv[]);
    -int execle( const char *path, const char *arg , …, char * const envp[]);
    -int execlp( const char *file, const char *arg, …);
    -int execvp( const char *file, char *const argv[]);

    fork() dan exec() process

    adadadwa

    Other System Calls
    1.exit()
    -Menghentikan proses secara normal
    -melakukan unblock parents yang telah menunggu
    2.wait()
    -digunakan oleh parent
    -parent menunggu child untuk membereskan eksekusi
    3.getpid()
    -Mengembalikan identifier dari proses pemanggilan
    4.getppid()
    -Mengembalikan identifier dari parent

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

  • Session 1 : Computer and Operating System Overview

    1.Computer System Component

    Berikut ini merupakan komponen-komponen yang berada pada komputer :

    -Processor

    -Main Memory
    Main Memory terdiri dari Primary Memory dan Secondary Memory
    Primary Memory berupa RAM(Random Access Memory),sedangkan Secondary Memory berupa HDD(Hard Disk Drive)

    -Input/Output Modules
    Input/Output Modules terdiri dari secondary memory devices,communications equipment dan terminals

    -System Bus
    System Bus merupakan komunikasi antar Processor,Memory dan Input/Output Modules

    2.Computer Architecture

    Picture1

    PC(Program Counter)bertugas mencari instruksi-instruksi yang akan dijalankan.Setelah instruksi ditemukan oleh PC,copy dari instruksi tersebut disimpan didalam IR(Instruction Register).Selanjutnya,MAR(Memory Address Register) menyimpan memory address yang berisi data atau instruksi selanjutnya.

    Proses pengolahan data berada di Central Processor.Central Processor terdiri dari ALU(Arithmetic Logic Unit) dan Control Unit.ALU bertugas untuk pemrosesan data,sedangkan Control Unit bertugas untuk fetching instruksi dari memory serta mendecodeny/menterjemahkannya dan melakukan sinkronisasi sebelum mengirimkan sinyal ke komponen-komponen yang ada di komputer

    3.Instruction,Fetch and Execute

    Instruction Cycle :

    Picture2

    FDE(Fetch,Decode,Execute)= merupakan alur proses menjalankan perintah dalam CPU yang terdiri dari Fetch(Pengambilan Instruksi dari main memory),Decode(Menterjemahkan instruksi tersebut) dan Execute(Menjalankan instruksi tersebut)

    Jenis-Jenis dari instruksi :
    -Processor-Memory = transfer data antara processor dan memory
    -Processor-I/O = pengiriman data ke atau dari komponen-komponen komputer
    -Data Processing = Aritmetik atau logic dari data
    -Control = melakukan perubahan dalam urutan execution

    Execution Cycle :

    -Pipelining

    Picture3

    -Superscalar

    Picture4

    4.Interruption

    Interrupt/Interupsi merupakan proses menentukan instruksi/perintah mana yang harus diutamakan.

    Klasifikasi Interrupts :
    -Program
    -Timer
    -I/O
    -Hardware Failure

    Interrupt Cycle :
    Pertama-tama processor akan melakukan pengecekan apabila terdapat interupsi.Jika interupsi tidak ditemukan,instruksi selanjutnya akan difetching serta dieksekusi.Apabila interupsi ditemukan,instruksi/proses selanjutnya akan ditunda dan Interrupt Handler dijalankan

    5.Memory

    Memory Hierarchy :

    Picture5

    Cache Memory :
    -L1 Cache = Dibagi menjadi dua,yaitu untuk menampung instruksi serta menyimpan data
    -L2 Cache = Fast access memory yang berada diantara CPU dan main memory
    -L3 Cache = High access memory yang berada diantara CPU dan motherboard

    Session 2 : File System Introduction

    File System = mengatur files yang ada serta aksesnya

    Komponen yang berada dalam File System berupa meta data.Meta data itu sendiri terdiri dari :
    -Owner(Informasi pemilik)
    -Time(Waktu)
    -Permission(Izin)

    Contoh-contoh File System :
    -UFS(Unix File System)
    -HSFS(High Sierra File System)
    -EXT2
    -FAT32
    -HFS+
    -Elephant FS

    Unix File System

    Picture6

    6 Basic File Types :
    -Regular Files
    -Directories
    -Links
    -Symbolic Links
    -Special Files
    -Named Pipes

    Accessing File Name :
    -Terdapat 2 cara dalam Accessing File Name,yaitu menggunakan absolute pathname atau menggunakan relative pathname
    -Absolute Pathname = Mulai dari paling atas samapi file yang dituju
    -Relative Pathname = Mulai dari posisi dimana user berada

    File Permission :

    UGO = User,Group,Other

    Ketiga subjek diatas masing-masing memiliki r,w dan e.Total semuanya ada 9 akses/9 bit

    r = read access
    w = write access
    e = execute access

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

  • 56f7f361a544f549a5e4b2c034d7c011_400x400

    Nama : Sebastian Rio Saputra
    NIM : 1701292336
    Isi Laporan : Penyuluhan mengenai Kejujuran

    Pada hari ketiga,kami kembali ke TK Kemala Bhayangkari 7 untuk melakukan kegiatan penyuluhan mengenai “Kejujuran” dan apa pentingnya menanamkan sikap kejujuran sejak dini serta manfaat yang didapat dari kejujuran itu sendiri.
    Pertama-tama,kami bertanya kepada murid apakah para murid itu sendiri sudah menerapkan kejujuran dalam kegiatan mewarnai yang telah selesai dilaksanakan pada hari sebelumnya.Kejujuran dalam mewarnai yang dimaksud yaitu apakah para murid melakukan tindak mencontek atau menjiplak temannya.Para murid pun dengan serentak menjawab tidak menyontek,tetapi ada juga yang menuduh temannya.Setelah itu,kami menjelaskan betapa pentinganya kejujuran dalam kehidupan.Setelah itu,kami membagikan buku tulis sebagai tanda apresiasi kami kepada anak-anak/murid-murid TK dalam kegiatan mewaranai dan menanamkan kejujuran di lingkungan sekolah.

    20150506_090911

    20150506_090933

    20150506_093351

    20150506_112309

  • 56f7f361a544f549a5e4b2c034d7c011_400x400

    Nama : Sebastian Rio Saputra
    NIM : 1701292336
    Isi Laporan : Kegiatan mewarnai

    Pada hari kedua kami melaksanakan kegiatan sosial yang sudah ditentukan,yaitu membimbing anak TK dalam mewarnai gambar.Kegiatan ini dimulai dari pukul 07:00 pagi hingga pukul 12:00 siang.Sebelum kegiatan dimulai,terlebih dahulu kami memperkenalkan diri masing-masing.Para murid TK sangat antusias dan gembira melihat kami,dan kami pun senang melihat mereka.Setelah perkenalan diri selesai kami pun dibagi menjadi empat kelompok yang terdiri dari dua orang untuk melakukan bimbingan mewarnai karena terdapat empat kelas yang harus dibimbing.Selanjutnya,guru di setiap kelas memberikan instruksi kepada para muridnya untuk mengikuti instruksi kami.Tidak lama kemudian,kegiatan mewarnai dimulai dan para murid sangat gembira menyambut kegiatan tersebut.Setelah selesai mewarnai,kami pun memberikan hadiah berupa tempat pensil untuk satu orang murid yang hasil mewarnainya bagus.

    20150510_557

    20150506_082423

    20150506_082453

    20150506_082528

    20150506_082612

    20150506_111945

  • 56f7f361a544f549a5e4b2c034d7c011_400x400

    Nama : Sebastian Rio Saputra
    NIM : 1701292336
    Isi Laporan : Survey lokasi

    Pada hari pertama kegiatan sosial,kami melakukan survey ke Taman Kanak-Kanak Kemala Bhayangkari 7 yang terletak di Asrama Polri,Jakarta Barat.Dalam survey tersebut,kami menemui Ibu Dini selaku kepala sekolah untuk mendiskusikan mengenai kegiatan yang akan kami lakukan.Kegiatan yang akan kami lakukan yaitu membimbing anak TK dalam mewarnai gambar dan memberikan penyuluhan mengenai pentingnya menanamkan sikap kejujuran sejak dini.Beliau pun menyetujui kegiatan tersebut dan kami pun berterima kasih kepada beliau atas ketersediaannya untuk membantu kami.

    20150324_121158

    20150324_121110

    20150324_121032

    20150324_121015

    20150324_120042