Kamis, 07 Mei 2015

Proses Penjadwalan Preemptive Shortest Job First ( PSJF )

Proses Penjadwalan
Preemptive Shortest Job First ( PSJF )

Pendahuluan
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan adalah fungsi dasar dari sistem operasi. Semua resources pada komputer dijadwalkan sebelum digunakan. Penjadwalan bertugas untuk memutuskan proses yang harus berjalan serta kapan dan selama berapa lama proses itu berjalan.
Penjadwalan CPU adalah pemilihan proses dari ready queue untuk dapat dieksekusi. Proses yang belum mendapatkan jatah alokasi dari CPU akan mengantri di ready queue. Oleh sebab itu algoritma penjadwalan diperlukan untuk
mengatur giliran proses-proses tersebut. Beberapa algoritma penjadwalan seperti: FCFS (First Come First Serve), SJF (Shortest Job First), Priority, dan Round Robin.
Shortest Job First ( SJF )
Kali ini akan dibahas mengenai algoritma penjadwalan Shortest Job First (SJF). SJF merupakan proses penjadwalan yang ada di ready queue dan akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses. Karena hal tersebut, maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.
SJF memiliki 2 sifat :
  • non-preemptive (tidak dapat diinterupt), pemilihan proses adalah proses dalam antrian yang memiliki waktu eksekusi tercepat. CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil.
  • preemptive (dapat diinterupsi), proses yang dipilih adalah proses yang memiliki waktu sisa eksekusi terkecil. Teknik ini juga dikenal dengan nama Shortest Remaining Time First.
Contoh Jika ada proses P1 yang datang pada saat P0 sedang berjalan lalu akan dilihat CPU burst P1 apabila :
  • Preemptive, Jika CPU burst P1 lebih kecil dari sisa waktu yang dibutuhkan oleh P0 maka CPU ganti dialokasikan untuk P1.
  • Non-Preemptive, Akan tetap menyelesaikan P0 sampai habis CPU burst-nya.
Preemptive Shortest Job First ( PSJF )
Preemptive Shortest Job First (PSJF) disebut juga sebagai Shortest Remaining Time First. PSJF merupakan penjadwalan dengan prioritas dan dengan preempsi. Prioritas didasarkan kepada pendeknya sisa proses. Makin pendek sisa proses makin tinggi prioritasnya. Selanjutnya dengan ketentuan ini, ketika tiba, proses terpendek di bagian belakang antrian tidak saja berpindah ke bagian depan antrian, melainkan juga melalui preempsi, mengeluarkan proses yang pada saat itu berada di dalam proses (jika ada).
Pada PSJFjika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses diready queue dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di ready queue tersebut. Beberapa istilah yang akan sering muncul :
  • Process : Urutan proses yang akan dilakukan
  • Arrival Time : Waktu kedatangan dari proses yang akan dilakukan
  • Average Turn Around Time : Rata-rata waktu total yg dibutuhkan sebuah proses dari datang sampai selesai dieksekusi oleh CPU
  • Burst Time: Waktu yg dibutuhkan untuk mengeksekusi sebuah proses
  • Average Waiting Time: Rata-rata waktu yang dihabiskan proses selama berada pada status ready ( menunggu eksekusi CPU )
Misalnya ada 2 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 10 ms, P2 dengan arrival time pada 2.0 ms dan burst time 2 ms.
Process
Arrival Time
Burst Time
P1
0.0
10
P2
2.0
2
Capture
waiting time PSJF nya :
P1 = 0 + ( 4 ms – 2 ms ) = 2 ms
P2 = 0
Average waiting time : (2 ms + 0 ms ) / 2 = 2 ms
Average turn around : (12 ms + 0 ) / 2 = 12 ms

Tabel Solusi
Process
Arrival Time
Burst Time
Waktu Mulai
Waktu selesai
Waiting Time
Turn Around
P1
0
10
0
12
2
12
P2
2
2
0
4
0
0
Average
2
12

Kamis, 12 Maret 2015

Tugas Sistem Operasi Halaman 8

Tugas Sistem Operasi Halaman 8

1. Sebutkan dua fungsi utama sistem operasi?
Jawab :
· Sebagai Resource Manager
Sebagai pengatur sumber daya komputer, baik hardware maupun software agar dapat menjalankan perintah-perintah yang diberikan oleh pengguna.
Tugas utama Sistem Operasi sebagai resource manager adalah memantau penggunaan semua resources serta menerapkan aturan (policy) tertentu untuk menjalankan kerja komputer. Selain itu juga mengalokasikan resources yang diminta dan mengambil kembali (dealokasi) resource.
· Sebagai Extended Machine (Virtual Machine)
Menyembunyikan kompleksitas pemrograman hardware dari programmer atau user. Sehingga pengguna dapat melakukan kegiatan atau kerja dengan lebih mudah melalui tampilan user interface. Dan pengguna juga tidak direpotkan berkaitan dengan kegiatan-kegiatan yang mengatur resource sebuah komputer.
menyajikan fasilitas yang lebih mudah dan sederhana untuk menggunakan hardware.
2. Apa yang dimaksud dengan multiprogrammin? Berikan dua alasan diadakannya multiprogramming!
Jawab :
Multi programming adalah suatu kemampuan dari sebuah sistem untuk melayani lebih dari satu program yang dijalankan sekaligus dalam satu komputer yang sama.
Alasan diadakannya multiprogramming yaitu :
· Saat ini banyak aplikasi yang dalam proses penjalanannya mengakses lebih dari satu program. Sehingga agar program tersebut dapat berjalan lebih optimal perlu sistem multiprogramming.
· Memberikan efisiensi pekerjaan yang cukup tinggi, dengan mampu untuk menjalankan beberapa aplikasi secara bersamaan.
· Kebutuhan user yang semakin tinggi dan kompleks maka memerlukan sistem multiprogramming. Contohnya, ketika seorang user melakukan pekerjaannya sekaligus mendengarkan musik untuk refreshing.
3. Apa yang dimaksud dengan spooling? Apakah anda menganggap personal komputer harus memiliki spooling sebagai standar dasar di masa yang akan datang?
Jawab :
Spooling adalah membuat peripheral seolah-olah dapat digunakan bersama-sama sekaligus, dapatdiakses secara simultan, yaitu dengan cara menyediakan beberapa partisi memori. Saat terdapat permintaan layanan peripheral, langsung diterima dan data disimpan dulu di memori yang disediakan (berupa antrian), kemudian dijadwalkan agar secara nyata dilayani oleh peripheral.
Karena pada saat ini kebutuhan akan kecepatan kinerja komputer semkin besar, maka teknologi spooling mutlak untuk dikembangkan dan diaplikasikan di komputer. Dengan teknologi itu maka proses komputasi sebuah program akan lebih cepat ditangani dan dikerjakan.
4. Pada awal perkembangan komputer, setiap byte data yang dibaca atau yang ditulis ditangani oleh CPU (tidak ada DMA-Direct Memory Access). Apa implikasinya struktur seperti ini terhadap konsep multiprogramming.
Jawab :
Bila sistem tersebut digunakan untuk melayani konsep multiprogramming, maka akan membutuhkan waktu yang lama dalam pemrosesannya. Dengan tidak ada memory pembantu proses maka proses pengaksesan data untuk diproses akan lama. Apalagi untuk kegiatan multiprogramming maka proses tersebut akan semakin lebih lama lagi. Oleh karena itu komputer pada awal perkembangannya tidak mampu untuk mengakomodasi konsep multiprogramming.
Jadi implikasi dari tidak adanya DMA dalam pemrosesan komputer adalah pada waktu untuk pengerjaan (pemrosesan) informasi. Bahkan mungkin konsep multiprogramming tidak bisa diaplikasikan oleh sistem prosesor non DMA.
5. Mengapa timesharing tidak tersebar luas pada generasi ke-2 komputer?
Jawab :
Karena varian dari multiprogramming, dimana tiap pemakai mempunyai satu terminal on-linedengan pemroses hanya memberi layanan pada pemakai yang aktif secara bergantian dengan cepat. Pemakai akan merasa dilayani terus menerus, padahal sebenarnya digilir persatuan waktu yang cukup singkat.
6. Instruksi-instruksi manakah yang diperbolehkan dalam Mode Kernel :
a. Disable all interupts.
b. Read the time-of-day clock.
c. Set the time-of-day clock.
d. Change the memory map.
Jawab :
Instruksi yang diperbolehkan dalam mode kernel adalah A (Disable all interupts) dan D(Change the memory map).
7. Sebutkan beberapa perbedaan sistem operasi pada personal komputer dengan sistem operasi pada mainframe!
Jawab :
Perbedaan sistem operasi pada PC dengan Sistem Operasi Mainframe :
1. Dalam sistem operasi PC hanya mampu melayani satu user saja, sedangkan sistem operasi mainframe mampu untuk melayani banyak user.
2. Pada sistem operasi PC biasanya memiliki user interfeace yang lebih menarik karena tujuan utamanya adalah member kemudahan kepada pengguna. Sedangkan sistem operasi mainframe biasanya hanya berupa barisan-barisan program saja tanpa adanya GUI yang memadai.
3. Sistem operasi mainframe memiliki tingkat sekuritas yang jauh lebih baik daripada sistem operasi untuk komputer desktop.
4. Sistem operasi mainframe memiliki kecepatan dan realibilitas kerja yang jauh lebih tinggi daripada sistem operasi personal komputer. Hal ini dikarenakan sistem operasi mainframe diharuskan untuk mampu menangani ratusan program aplikasi secara bersamaan. Serta sistem operasi mainframe harus mampu mengatur sejumlah pengaksesan dan penyimpanan ke basis data secara simultan. Sedangkan sistem operasi personal komputer biasanya hanya mampu menangani beberapa program saja untuk dijalankan secara bersamaan.
8. Bagaimana secara umum sistem operasi memberitahukan kepada direktori kerja apakah path name untuk sebuah file adalah absolute atau relative?
Jawab :
Direktori adalah file, dimiliki sistem operasi dan dapat diakses dengan rutin-rutin di sistem operasi. Kebanyakan informasi berkaitan dengan penyimpan. Meski beberapa informasi direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori secara langsung meski dalam mode read-only.
Direktori juga menyediakan pemetaan nama file ke file. Informasi terpenting direktori adalahyang berkaitan dengan penyimpanan, termasuk lokasi penyimpanan dan ukuran file yang disimpan. Pada sistem bersama (shared system), informasi yang terpenting adalah informasimengenai pengendalian akses file. Satu pemakai adalah pemilik file yang dapat memberi wewenang pengaksesan ke pemakai-pemakai lain.
Aturan penamaan direktori mengikuti aturan penamaan file karena direktori merupakan file yang khusus.
Jalur pengaksesan (path name).
Bila sistem file diorganisasikan dengan pohon direktori,maka diperlukan cara menspesifikasikan nama file. Masalah penamaan file diselesaikan dengan penamaan absolut dan penamaan file relatif. Terdapat dua jalur, yaitu :
a) Nama jalur absolut (absolute pathname).
Nama jalur dari direktori root ke file, selalu dimulai dari
direktori root da nakan bernilai unik.
b) Nama jalur relatif (relative pathname).
Jalur relatif terhadap direktori kerja/saat itu (working atau current director). Pemakai dapat menyatakan satu direktori sebagai current directory. Nama jalur yang tidak dimulai direktori root berarti relatif terhadap current directory.
9. Mengapa shell bukan bagian dari sistem operasi?
Jawab :
Shell delete command interpreter yaitu Program yang menerima masukan berupa perintah kesistem, dan menterjemahkan menjadi aktivitas sistem komputer. Tidak termasuk sistem operasi karena,shell di dalam kegiatannya tidak menjembantani antara user dengan hardware. Program ini di dalam menjalankan perintah mengakses informasi yang tercantum di sistem operasi.
10. Berikan sebuah contoh bagaimana mekanisme dan kebijaksanaan bisa terpisah dengan baik dari pejadwalan. Buat sebuah mekanisme yang bisa mengijinkan sebuah parent process untuk mengontrol kebijaksanaan penjadwalan children.
Jawab :
Mekanisme merupakan penjelasan bagaimana melakukan sesuatu. Sedangkan kebijakan menentukan apa yang akan dilakukan. Dalam melakukan sebuah pemrosesan mekanisme tidak bisa diubah sedangkan kebijakan dapat diubah agar bila terjadi sesuatu hal dapat diantisipasi. Kebijakan penting untuk mengatur semua alokasi sumberdaya dan menjadwalkan masalah serta menentukan perlu atau tidaknya mengakolasikan sumber daya. Oleh karena itu antara mekanisme, kebijakan dan penjadwalan harus dipisahkan.
Contoh sebuah mekanisme yang bisa mengijinkan sebuah parent process untuk mengontrol kebijaksanaan penjadwalan children adalah pada sistem operasi UNIX. Sistem operasi ini mempunyai system call fork yang berfungsi untuk membuat proses baru. Proses yang memanggil sistem call fork ini akan dibagi menjadi dua, yakni proses induk dan proses turunan yang identik. Fork ini berfungsi sebagai manajemen proses. Proses ini independen satu sama lain namun memiliki instruksi yang berbeda sama sekali. Jadi pengeksekusian program bisa dilaksanakan terus menerus tanpa harus menunggu sistem child selesai memproses. Dan bisa juga instruksi program induk mengatur pengeksekusian program anak atau turunan.
11. Model Client-Server tekenal didalam distributed systems. Dapatkah juga digunakan dalam sistem komputer tunggal?
Jawab :
Dapat, karena sistem terdistribusi adalah sistem yang proses kerjanya membagi tugas proses untuk dijalankan oleh beberapa prosesor yang menjalankan fungsi masing-masing. Dan hal ini dapat dijalankan dalam sistem komputer tunggal. Contohnya dengan adanya prosesor dual core yang masing-masing prosesor melakukan fungsi tertentu serte keduanya terhubung oleh jaringan komunikasi data. Dengan menerapkan sistem terdistribusi ini maka akan meningkatkan kecepatan proses, penyediaan data dan peningkatan kehandalan kerja komputer.
12. Mengapa proses tabel membutuhkan sistem timesharing? Apakah hal ini juga dibutuhkan dalam system personal computer yang pada suatu saat hanya terdapat satu proses yang sedang bekerja dan mengambil alih mesin sampai proses tersebut selesai?
Jawab :
Karena sistem timesharing dapat mengatur penjadwalan pemrosesan data maka kecepatan proses akan menjadi lebih cepat.
Ya, teknologi sistem timesharing mutlak diperlukan untuk menjadwal pemrosesan data oleh prosesor. Walaupun hanya melakukan satu proses saja untuk dapat mempercepat kinerja pemrosan maka timesharing diperlukan. Bila prosesor harus langsung mengakses data dari memory permanent maka akan membutuhkan waktu yang lama untuk pemrosesan. Bahkan jika pengguna hanya menggunakan satu program saja pada satu waktu. Sistem operasi perlu mendukung program internalnya sendiri, seperti manajemen memori. Dengan kata lain, semua aktivitas tersebut adalah harus dilaksanakan dengan sistem timesharing.
13. Apa perbedaan mendasar diantara blok special file dan character special file?
Jawab :
Perbedaan mendasar dari block special file dan character special file adalah proses pengiriman atau pentransferan datanya. Bila block special file transfer data dilakukan perblock perintah, sedangkan untuk character special file pentransferan datanya dilakukan perkarakter.
Contoh block special file adalah proses pentransferan data pada media penyimpanan. Seperti Harddisk, CD-R, Floppy disk, Flash disk. Dan contoh penggunaan character special file adalah pada mouse dan keyboard.

Kamis, 11 Desember 2014

TUTORIAL PROGRAM SOROT ASSEMBLE



TUTORIAL PROGRAM SOROT ASSEMBLE
1.BUKALAH TERLEBIH DAHULU PROGRAM ASSEMBLE ANDA,LALU MASUKLAH KE MENU EDIT KEMUDIAN KETIKLAH PERINTAAH BERIKUT
DELAY MACRO
                PUSH CX
                XOR CX,CX
LOOP1:
        LOOP LOOP1
        POP CX
        ENDM

GESER MACRO PosY
        PUSH AX
        PUSH BX
        PUSH CX

        XOR CX,CX
        MOV AL,26
        SUB AL,PosY
        MOV CL,AL
LOOP2:
        MOV AL,BYTE PTR ES:[BX]
        MOV BYTE PTR ES: [BX+160], AL

HILANG:
        MOV BYTE PTR ES:[BX],' '
        DELAY
        ADD BX,160
        LOOP LOOP2

        POP CX
        POP BX
        POP AX
ENDM

Cls          MACRO                                ; Macro untuk menghapus layar
                MOV AX,0600h
                XOR CX,CX
                MOV DX,184Fh
        MOV BH,10      ; Atribut Hijau diatas hitam
                INT 10h
                ENDM
GotoXY                 MACRO X,Y         ; Macro untuk memindahkan kursor
                MOV AH,02
                XOR BX,BX
                MOV DH,Y
                MOV DL,X
                INT 10h
                ENDM
SimpanL MACRO                              ; Macro untuk menyimpan seluruh
                LOCAL Ulang      ; isi layar monitor
                MOV AX,0B800h
                MOV ES,AX
                MOV CX,4000
                XOR BX,BX
Ulang:
                MOV AL,ES:[BX]
                MOV Layar[BX],AL
                INC BX
                LOOP Ulang
                ENDM
                BalikL MACRO    ; Macro untuk mengembalikan semua
                LOCAL Ulang      ; isi layar yang telah disimpan
                MOV CX,4000
                XOR BX,BX
Ulang:
                MOV AL,Layar[BX]
                MOV ES:[BX],AL
                INC BX
                LOOP Ulang
                ENDM
Sorot     MACRO X,Y         ; Macro untuk membuat sorotan
                LOCAL Ulang      ; pada menu
                MOV BL,Y
                MOV AL,160
                MUL BL
                MOV BX,AX
                MOV AL,X
                MOV AH,2
                MUL AH
                ADD BX,AX
                INC BX                  ; Alamat warna pada posisi X,Y
                MOV CX,15         ; Panjangnya sorotan
Ulang:
                MOV BYTE PTR ES:[BX],4Fh ; Atribut sorotan
                                                                 ; putih diatas merah
                ADD BX,2
                LOOP Ulang
                ENDM
Readkey MACRO                             ; Macro untuk membaca masukan dari
                MOV AH,00        ; keyboard.
                INT 16h                 ; hasilnya AH=Extended, AL=ASCII
                ENDM
MenuL MACRO String   ; Macro untuk mencetak menu
                MOV AH,09
                LEA DX,String
                INT 21h
                ENDM

.MODEL SMALL
.CODE
ORG 100h
TData:   JMP Proses



                Layar DB 4000 DUP (?)
                Menu DB            9,9,'+=============================+',13,10
                                DB      9,9,'|     >>> MENU SOROT <<<                     |',13,10
                                DB      9,9,'+=============================+',13,10
                                DB      9,9,'|                                                                   |',13,10
                                DB      9,9,'|  1. Cetak Karakter tak Warna                   |',13,10
                                DB      9,9,'|  2. Cetak Karakter warna                          |',13,10
                                DB      9,9,'|  3. Rontok                                                 |',13,10
                                DB      9,9,'|  4. end                                                       |',13,10
                                DB      9,9,'|                                                                   |',13,10
                                DB      9,9,'+=============================+$'
                PosX      DB          22           ; Posisi kolom mula-mula
                PosY      DB          12           ; Posisi baris mula-mula
Panah_Atas        EQU       72           ; Kode tombol panah atas
Panah_Bawah   EQU       80           ; Kode tombolpanah bawah
                TEnter   EQU       0Dh        ; Kode tombol Enter
Proses :
                Cls                                          ; Hapus layar
                GotoXY                 0 8                          ; kursor = 0,8
                MenuL Menu                    ; Gambar menu
                SimpanL                               ; Simpan isi layar
Ulang :
                BalikL                                    ; Tampilkan isi layar yang
                                                                ; disimpan
                Sorot     PosX,PosY           ; Sorot posisi X,Y

Masukan:
                Readkey                              ; Baca masukan dari keyboard   
                CMP      AH,Panah_Bawah            ; Panah bawah yang ditekan ?
                JE            Bawah                  ; Ya! lompat bawah

                CMP      AH,Panah_Atas                ; Panah atas yang ditekan ?
                JE            CekY                      ; Ya, lompat CekY

                CMP      AL,TEnter            ; Tombol enter yang ditekan ?

                je      pilihan

                JNE         Masukan             ; Bukan, lompat ke ulangi

CekY :
                CMP      PosY,12                ; Apakah sorotan paling atas ?
                JE            MaxY                     ; Ya! lompat ke MaxY
                DEC        PosY                      ; Sorotkan ke atas
                JMP       Ulang                    ; Lompat ke ulang
MaxY :
                MOV     PosY,15                ; PosY=Sorotan paling bawah
                JMP       Ulang                    ; lompat ke ulang
Bawah :
                CMP      PosY,15                ; apakah sorotan paling bawah ?
                JE            NolY                       ; Ya! lompat ke NolY
                INC         PosY                      ; Sorotkan ke bawah

2.KEMUDIAN JALANKAN PROGRAM NYA DENGAN TASM DAN TLINK,TAMPILAN AKAN BERUBAH SEPERTI INI
KEMUDIAN APA BILA ANDA MENEKAN NOMOR SATU MAKA AKAN KELUAR HURUF A-Z
APABILA ANDA MENEKAN MENU 2 HASILNYA AKAN KELUAR HURUF A DENGAN WARNA
DAN APABILA ANDA MENEKAN MENU TIGA MAKA PROGRAM YANG ANDA BUAT AKAN RONTOK
DAN JIKA ANDA MEMILIH 4 MAKA PROGRAM AKAN EXIT.
 

apabila anda ingin mendownload file maka klik link ini
here