Performing Spectral Analysis in MATLAB

07.10 / Diposting oleh blog hayiem / komentar (0)

Spectral analysis is key to understanding signal characteristics, and it can be applied across all signal types, including radar signals, audio signals, seismic data, financial stock data, and biomedical signals. Signal Processing Toolbox provides MATLAB functions for estimating the power spectral density, mean-square spectrum, pseudo spectrum, and average power of signals.
Algorithms for Spectral Analysis in MATLAB
Spectral estimation algorithms in the toolbox include:
• FFT-based methods, such as periodogram, Welch, and multitaper
• Parametric methods, such as Burg and Yule-Walker
• Eigen-based methods, such as eigenvector and multiple signal classification (MUSIC)
Visualization in the Frequency Domain
Spectral analysis functions in the toolbox enable you to compute and view a signal’s:
• Time-frequency representation of a signal using the spectrogram function
• Power spectral density
• Mean-square spectrum

Visualizing signal spectra obtained with spectral analysis methods in MATLAB. Example plots from Signal Processing Toolbox include (clockwise from top left): Spectrogram of clean and noisy audio signals; mean-square spectrum of A/D converter input and output signals with aliasing in the output; and power spectral density of a noisy 200 Hz cosine signal, with a 95% confidence interval.

Designing Digital FIR and IIR Filters
Signal Processing Toolbox enables you to design, analyze, and implement FIR and IIR digital filters in MATLAB.
Filter Responses and Design Methods
The toolbox supports a wide range of response types and design methods, including:
• Filter responses for lowpass, highpass, bandpass, bandstop, Hilbert, differentiator, pulse-shaping, and arbitrary magnitude filters
• Parks-McClellan and Kaiser window for FIR filter design
• Butterworth, Chebyshev Type I and Type II, and elliptic filters for IIR filter design

MATLAB code and corresponding plots for FIR (top right) and IIR (bottom right) filter design using algorithms in Signal Processing Toolbox.
Analyzing Filters
You can analyze your filter design by simultaneously viewing multiple characteristics in the Filter Visualization Tool (FVTool):
• Magnitude response, phase response, and group delay in the frequency domain
• Impulse response and step response in the time domain
• Pole-zero information
FVTool also helps you evaluate filter performance by providing information about filter order, stability, and phase linearity. Once you design your filter, you can implement it using FIR and IIR filter structures.

Analysis of a lowpass FIR filter designed using a Kaiser window method. Example plots from Signal Processing Toolbox include (clockwise from top left): Magnitude and phase responses, impulse response, pole-zero plot, and filter order and stability information.
Interactive Filter Design and Analysis
Signal Processing Toolbox provides FDATool, FVTool, and Filterbuilder for interactive filter design and analysis. Together, these tools enable you to:
• Explore FIR and IIR design methods for a given filter specification
• Analyze filters by viewing filter characteristics, including magnitude response, phase response, group delay, pole-zero plot, impulse response, and step response
• Obtain filter information, such as filter order, stability, and phase linearity
• Import previously designed filters and filter coefficients stored in the MATLAB workspace and export filter coefficients

Filter Design and Analysis Tool (FDATool) showing magnitude response, filter order, and stability information for a lowpass FIR filter.
Designing Analog Filters
Signal Processing Toolbox provides functions for analog filter design and analysis. Supported analog filter types include Butterworth, Chebyshev, Bessel, and elliptic. The toolbox also contains discretization functions for analog-to-digital filter conversion.


http://www.mathworks.com/products/signal/description5.html

SOAL & JAWABAN UAS SISTEM OPERASI

00.42 / Diposting oleh blog hayiem / komentar (3)

1. Sebutkan perbedaan antara penjadwalan preemptive dan nonpreemptive.
2. Terdapat 5 job yang datang hampir pada saat yang bersamaan. Estimasi waktu eksekusi (burst time) masing-masing 10, 6, 2, 4 dan 8 menit dengan prioritas masing-masing 3, 5, 2, 1 dan 4, dimana 5 merupakan prioritas tertinggi. Tentukan rata-rata waktu turnaround untuk penjadwalan CPU dengan menggunakan algoritma
a) Round Robin (quantum time -2)
b) Priority
c) Shortest job first Diketahui proses berikut:
Proses
Arrival Time
Burst Time
P1
0
8
P2
0.4
4
P3
1
1











Tentukan rata-rata waktu tunggu dan rata-rata waktu turnaround dengan algoritma penjadwalan :
a) FCFS
b) SJF non preemptive
c) SJF preemptive / SRTF
d) Round Robin dengan quantum time = 1
4. Suatu algoritma penjadwalan CPU kemungkinan melibatkan algoritma yang lain, contohnya algoritma FCFS adalah algoritma RR dengan waktu quantum tertentu. Apakah ada hubungan antara pasangan algoritma berikut ?
a) Priority dan SJF
b) Priority dan FCFS
c) RR dan SJF
5. Apa yang dimaksud dengan race condition?
6. Apakah yang dimaksud dengan critical section ? Untuk menyelesaikan masalah critical section , ada tiga hal yang harus dipenuhi, sebutkan dan jelaskan !
7. Bagaimana algoritma Bakery untuk sinkronisasi banyak proses (n proses) ?
8. Apa yang dimaksud semaphore dan sebutkan operasi pada semaphore
9. Bagaimana struktur semaphore permasalahan :
a) bounded buffer problem.
b) reader and writer problem.
c) dining philosopher problem.
10. Apa yang dimaksud dengan sumber daya ? Berikan contohnya.
11. Apa yang dimaksud deadlock ?
12. Sebutkan 4 kondisi yang menyebabkan deadlock.
13. Sebutkan cara mencegah deadlock dari 4 kondisi tersebut pada soal 12.
14. Diketahui snapshot dari suatu sistem :

Allocation
Max
Available

ABCD
ABCD
ABCD
PO
PI
00 12 1000
00 12 17 5 0
15 2 0
P3
1632
1652

P4
00 14
065 6

Jawablah pertanyaan berikut:
a) Bagaimana isi matrik Need ?
b) Apakah sistem dalam state selamat ?
c) Jika proses PI meminta (0,4,2,0) dapatkah permintaan dipenuhi segera ?
15. Terdapat partisi memori lOOK, 500K, 200K, 300K dan 600K, bagaimana algoritma
First-fit, Best-fit dan Worst-fit menempatkan proses 212K, 417K, 112K dan 426K (berurutan) ? Algoritma mana yang menggunakan memori secara efisien ?
16. Apa yang dimaksud dengan fragmentasi eksternal dan fragmentasi internal ?
17. Diketahui ruang alamat logika dengan 8 page masing-masing 1024 word dipetakan
ke memori fisik 32 frame.
18. Berapa bit alamat logika ?
19. Berapa bit alamat fisik ?
20. Diketahui sistem paging dengan page table disimpan di memori
21. Jika acuan ke memori membutuhkan 200 nanosecond, berapa lama waktu
melakukan paging ?
22. Jika ditambahkan associative register, dan 75 persen dari semua acuan ke page-table
ditemukan dalam associative register, berapa efective access time (EAT) acuan ke memori ? (diasumsikan bahwa menemukan entri pada page table di associative register membutuhkan waktu 0, jika entri ada).
23. Diketahui sistem memory demand paging. Page table menggunakan register.
Membutuhkan 8 milisecond untuk melayani page fault jika frame kosong tersedia atau page yang di-replace tidak dimodifikasi dan 20 milisecond jika page yang di-replace dimodifikasi. Waktu akses memori adalah 100 nanosecond. Diasumsikan page yang di-replace akan dimodifikasi adalah 70 persen dari waktu. Berapa rata-rata page fault yang diterima untuk effective access time tidak lebih dari 200 nanosecond ?
24. Diketahui string acuan dari page : 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
Berapa banyak page fault yang terjadi untuk algoritma page replacement berikut dengan satu, dua, tiga, empat, lima, enam atau tujuh frame ? Ingat bahwa semua frame diinisialisasi kosong, sehingga setiap page unik pertama akan bernilai masing-masing satu fault
a. LRU
b. FIFO
c. Optimal
25. Diketahui array 2 dimensi A sebagai berikut:
var A : array[1..100] of array{1..100] of integer
Dimana A[l][l] berada pada lokasi 200 pada sistem page memory dengan page-page berukuran 200. Suatu proses kecil pada page 0 (lokasi 0 s/d 199) untuk manipulasi matriks, sehingga setiap instruksi dimulai dari page 0. Untuk 3 frame page, berapa banyak page fault yang dibangkitkan oleh loop inisialisasi array berikut menggunakan LRU dan asumsi frame page 1 sudah terdapat proses dan 2 frame page lainnya diinisialisasi kosong.
a. For (j = 1; j <= 100; j++) , For (i = 1; i <- 100; i++) A[i][j] = 0; b.For (i=1;i<=100; i++) For (j = 1; j <= 100; j++) A[i][j] := 0; A[i][j] = 0; 26. Diketahui sistem demand paging dengan paging disk mempunyai waktu akses dan transfer rata-rata 20 milisec. Alamat ditranslasikan melalui page table di memory, dengan waktu akses 1 microsec per akses memory. Sehingga acuan ke memori melalui page table sama dengan 2 kali akses memory. Untuk memperbaiki waktu, ditambahkan associative memory yang menurunkan waktu akses menjadi satu acuan memori, jika entri page table berada di associative memory. Diasumsikan 80 % akses pada associative memory dan dari sisanya (20%), 10% nya (atau 2 persen dari total) menyebabkan page fault. Berapakah effective access time-nya? 27. Apakah keuntungan dan kerugian menyimpan nama pembuat program pada atribut file (seperti pada SO Machintosh) 28. Terdapat beberapa metode akses misalnya sequential access dan direct access. Jelaskan ! 29. Sebutkan dan jelaskan Tree-structured directory dan acyclic-graph directory 30. Diketahui sebuah system mendukung 5000 user. Misalnya akan mengijinkan 4990 userdapat mengakses sebuah file. Bagaimana spesifikasi proteksi pada UNIX ? 31. Sistem file biasanya diimplementasikan dalam struktur layer atau modular. Jelaskan struktur layer pada system file. 32. Ada beberapa cara file dialokasikan pada ruangdisk, yaitu contiguous, linked atau berindeks. Jelaskan ketiga cara alokasi file diatas dan berikan contoh. 33. Sebutkan dan jelaskan cara untuk memperbaiki sistem dari kegagatan sehingga tidak kehilangan data atau data inconsistency. 34. Apakah permasalahan yang timbul bila sebuah system memperbolehkan system file di-mount secara simultan lebih dari satu lokasi ? JAWAB..!!


1. - Penjadwalan preemptive
Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari keadaan running
ke ready atau proses berpindah dari waiting ke ready.
- Penjadwalan non preemptive
Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari running
ke waiting atau apabila proses berhenti.
2. a) 3.6 menit
b)
c)
3. a). Menggunakan Algoritma FCFS
Waktu tunggu untuk P1 = 0, P2 = 8, P3 = 12
Rata-rata waktu tunggu (turn around) = (0 + 8 + 12) / 3 = 6,6



b). Menggunakan Algoritma SJF non preemptive (gambar 2 diatas)

Waktu tunggu untuk P1 = 0
P2 = 9 – 0,4 = 8,6
P3 = 8 – 1 = 7
Rata-rata waktu tunggu (turn around) = (0 + 8,6 + 7) / 3 = 5,2

c). Menggunakan Algoritma SJF preemptive / SRTF (gambar 3 diatas)

Waktu tunggu untuk P1 = 5 – 0 = 5
P2 = 4,8 – 0,4 = 4,4
P3 = 1 – 1 = 0
Rata-rata waktu tunggu (turn around) = (5 + 4,4 + 0) / 3 = 3,13

d). Menggunakan Algoritma Round Robin (quantum time = 1)(gambar 4 diatas)

Waktu tunggu untuk P1 = 8, P2 = 4, P3 = 2
Rata-rata waktu tunggu (turn around) = (8 + 4 + 2) / 3 = 4,6
4. Hubungan antara pasangan algoritma
a). Priority dan SJF
Algoritma SJF adalah Algoritma Priority untuk menyelesaikan suatu kasus khusus
b). Priority dan FCFS
Algoritma FCFS adalah Algoritma Priority yang memiliki prioritas sama.
c). Round Robin dan FCFS
Algoritma Round Robin adalah Algoritma FCFS yang bersifat preemptive
dan menggunakan time-sharing.

1. Race condition adalah suatu kondisi dimana dua atau lebih proses mengakses shared memory/sumber daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang dikehendaki.
2. Critical section adalah dengan mendesain sebuah protokol di mana proses-proses dapat menggunakannya secara bersama-sama.
1. Mutual Exclusion.
Jika suatu proses sedang menjalankan critical section-nya, maka proses-proses lain tidak dapat menjalankan critical section mereka. Dengan kata lain, tidak ada dua proses yang berada dicritical section pada saat yang bersamaan.
2. Terjadi kemajuan (progress).
Jika tidak ada proses yang sedang menjalankan critical section-nya dan ada proses-proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang yang sedang berada dalamentry section saja yang dapat berkompetisi untuk mengerjakan critical section.
3. Ada batas waktu tunggu (bounded waiting).
Jika seandainya ada proses yang sedang menjalankan critical section, maka proses lain memiliki waktu tunggu yang ada batasnya untuk menjalankan critical section -nya, sehingga dapat dipastikan bahwa proses tersebut dapat mengakses critical section-nya (tidak mengalamistarvation: proses seolah-olah berhenti, menunggu request akses ke critical sectiondiperbolehkan).
3. #define BUFFER_SIZE 10
typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
int counter = 0;
item nextProduced;
while (1) {
while (counter == BUFFER_SIZE)
; /* do nothing */
buffer[in] = nextProduced;
in = (in+1) % BUFFER_SIZE;
counter++;
4. Semaphore adalah lokasi di dalam memori yang nilainya dapat diuji dan di set oleh lebih dari satu proses. Tes dan operasi yang dapat diset adalah, selama masing-masing proses tekait, atomik atau uninterrupable; sekali dijalankan tidak dapat dihentikan. Hasil dari operasi tes dan set operasi merupakan penambahan nilai semaphore dan set nilai, yang dapat bernilai positif maupun negatif. Hasil test dan set operasi sebuah proses akan berhenti sampai nilai semaphore diubah oleh proses yang lain. Semaphore biasanya digunakan untuk memonitor dan mengontrol ketersediaan sumberdaya sistem, seperti pembagian segmen memori.
Operasi Down (P)

operasi ini menurunkan nilai semaphore
jika nilai semaphore menjadi non positif maka proses yang mengeksekusinya diblocked

Operasi Up (V)

Operasi ini menaikkan nilai semaphore
jika satu proses atau lebih telah di blocked pada suatu semaphore tak dapat menyelesaikan operasi Down, maka salah satu dipilih oleh sistem dan dibolehkan menyelesaikan operasi Down-nya
urutan proses yang dipilih tidak ditentukan oleh Dijkstra dapat dipilih secara acak, FIFO dll sesuai kepentingan
operasi UP menaikkan nilai semaphore, memindahkan dari antrian dan menempatkan proses ke antrian.

Operasi P dan V adalah sebagai berikut :
Wait(S) : while(S) <= 0 do no-op; S:=S-1; Signal(S) : S:=S+1; Keterangan : - Pada kondisi Wait(S) dimana S<=0, maka modifikasi yang mungkin adalah S:=S-1; - Operasi Wait dan Signal ini dijalankan secara individual. 5. a)Source code implementasi Bounded-Buffer Problem (Masalah Produsen Konsumen). Source code ini diprogram dengan menggunakan bahasa pemrograman Java.Bounded buffer adalah tempat penampung data yang ukurannya terbatas, contohnya pada proses produsen dan konsumen. Beberapa masalah produsen-konsumen : produsen menaruh data pada buffer. Jika buffer tersebut sudah terisi penuh, maka produsen tidak melakukan apa-apa dan menunggu sampai konsumen mengosongkan isi buffer dan konsumen mengambil data dari buffer. Jika buffer tersebut kosong, maka konsumen tidak melakukan apa-apa dan menunggu sampai buffer tersebut diisi oleh produsen. b) Problem lain yang terkenal adalah readers-writer problem yang memodelkan proses yang mengakses database. Sebagai contoh sebuah sistem pemesanan sebuah perusahaan penerbangan, dimana banyak proses berkompetisi berharap untuk membaca (read) dan menulis (write). Hal ini dapat diterima bahwa banyak proses membaca database pada saat yang sama, tetapi jika suatu proses sedang menulis database, tidak boleh ada proses lain yang mengakses database tersebut, termasuk membaca database tersebut. Dalam solusi ini, pertama-tama pembaca mengakses database kemudian melakukan DOWN pada semaphore db.. Langkah selanjutnya readers hanya menaikkkan nilai sebuah counter. Hasil dari pembaca nilai counter diturunkan dan nilai terakhir dilakukan UP pada semaphore, mengizinkan memblok writer. Misalkan selama sebuah reader menggunakan database, reader lain terus berdatangan. Karena ada dua reader pada saat bersamaan bukanlah sebuah masalah, maka reader yang kedua diterima, reader yang ketiga juga dapat diterima jika terus berdatangan reader-reader baru. Sekarang misalkan writer berdatangan terus menerus. Writer tidak dapat diterima ke database karena writer hanya bisa mengakses data ke database secara ekslusif, jadi writer ditangguhkan. Nanti penambahan reader akan menunjukkan peningkatan. Selama paling tidak ada satu reader yang aktif, reader berikutnya jika datang akan diterima. Sebagai konsekuensi dari strategi ini, selama terdapat suplai reader yang terus-menerus, mereka akan dilayani segera sesuai kedatanga mereka. Writer akan ditunda sampai tidak ada reader lagi. Jika sebuah reader baru tiba, katakan, setiap dua detik, dan masing-masing reader mendapatkan lima detik untuk melakukan tugasnya, writer tudak akan pernah mendapatkan kesempatan. Untuk mencegah situasi seperti itu, program dapat ditulis agak sedikit berbeda: Ketika reader tiba dan writer menunggu, reader ditunda dibelakang writer yang justru diterima dengan segera. Dengan cara ini, writer tidak harus menunggu reader yang sedang aktif menyelesaikan pekerjaannya, tapi tidak perlu menunggu reader lain yang datang berturut-turut setelah itu. c) Dinning Philosophers Simulation Sistem operasi merupakan suatu program yang bertindak sebagai interface antara user dan sistem komputer. Sistem operasi ini harus mampu melakukan pengontrolan penggunaan resource. Dalam proses perancangan sistem operasi, terdapat suatu landasan umum yang disebut dengan kongkurensi. 6. Sumber daya adalah suatu nilai potensi yang dimiliki oleh suatu materi atau unsur tertentu dalam kehidupan. Sumber daya tidak selalu bersifat fisik, tetapi juga non-fisik (intangible). Sumber daya ada yang dapat berubah, baik menjadi semakin besar maupun hilang, dan ada pula sumber daya yang kekal (selalu tetap). Selain itu, dikenal pula istilah sumber daya yang dapat pulih atau terbarukan (renewable resources) dan sumber daya tak terbarukan (non-renewable resources). Ke dalam sumber daya dapat pulih termasuk tanaman dan hewan (sumber daya hayati). contohnya : sumber daya berulang-ulang dan sumber daya sekali pakai. 7. Deadlock . Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock dapat digambarkan dalam gambar berikut.Pada gambar diatas, deadlock dianalogikan sebagai dua antrian mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut.Misal ada proses A mempunyai resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu. 8. Mutual Eksklusif: hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut. Memegang dan menunggu: proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini bisa menyebabkan kelaparan sumber daya sebab bisa saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama. Tidak ada Preemption: sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan Circular Wait: adanya kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya. 9. Mengabaikan masalah deadlock. Mendeteksi dan memperbaiki Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan deadlock . Yaitu dengan deadlock avoidance sistem untuk men- data informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya. Pencegahan yang secara struktur bertentangan dengan 4 kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memasti- kan bahwa salah satu kondisi yang penting tidak dapat menunggu. 10. Isi matrik Need didefinisikan dengan Max – Allocation. Need A B C P0 7 4 3 P1 1 2 2 P2 6 0 0 P3 0 1 1 P4 4 3 1 Sistem dalam keadaan state selamat dengan urutan < P1, P3, P4, P2, P0> yang memenuhi
kriteria algoritma safety.
Misalnya proses P1 meminta tambahan anggota tipe sumber daya A dan dua
anggota tipe sumber daya C sehingga Request1 = (1, 0, 2). Untuk menentukan apakah
permintaan dapat segera dipenuhi, pertama harus diperiksa apakah Request1 ≤ Available
((1, 0, 2) ≤ (3, 3, 2)) ternyata benar. Maka akan diperoleh state baru berikut :
Allocation Need Available
A B C A B C A B C
P0 0 1 0 7 4 3 2 3 0
P1 3 0 2 0 2 0
P2 3 0 1 6 0 0
P3 2 1 1 0 1 1
P4 0 0 2 4 3 1
Kemudian harus ditentukan apakah sistem berada dalam state selamat. Setelah
mengeksekusi algoritma safety ternyata urutan memenuhi criteria
safety.
Setelah sistem berada pada state doatas, permintaan (3, 3, 0) oleh P4 tidak dapat
dipenuhi karena sumber daya tidak tersedia. Permintaan (0, 2, 0) oleh P1 juga tidak
dapat dipenuhi karena meskipun sumber daya tersedia, state hasil tak selamat.
b). State Selamat (Safe State)
Ketika suatu proses meminta sumber daya yang tersedia, sistem harus
menentukan apakah alokasi sumber daya pada proses mengakibatkan sistem dalam state
selamat. Sistem dikatakan dalam state selamat jika sistem dapat mengalokasikan
sumber daya untuk setiap proses secara berurutan dan menghindari deadlock. Urutan
proses selamat jika untuk setiap Pi, sumber daya yang masih diminta Pi
masih memenuhi sumber daya yang tersedia dan sumber daya yang dibawa oleh setiap
Pj, dimana j < i. Jika sumber daya yang diperlukan Pi tidak dapat segera disediakan, maka Pi dapat menunggu sampai semua Pj selesai. Ketika Pj selesai, Pi dapan memperoleh sumber daya yang diperlukan, mengeksekusi, mengembalikan sumber daya yang dialokasikan dan terminasi. Ketika Pi selesai, Pi+1 dapat memperoleh sumber daya yang diperlukan dan seterusnya. Jika sistem dalam state selamat maka tidak terjadi deadlock, sedangkan jika sistem dalam state tidak selamat (unsafe state) maka kemungkinan terjadi deadlock seperti Gambar 6-4. Metode menghindari deadlock menjamin bahwa sistem tidak pernah memasuki state tidak selamat. Gambar 6-4 : Ruang state selamat, tak selamat dan deadlock Untuk menggambarkan sistem dapat berpindah dari state selamat ke state tidak selamat dapat dilihat ilustrasi berikut ini. Misalnya sistem mempunyai 12 magnetic tape drive dan 3 proses P0, P1 dan P2. Proses P0 membutuhkan 10 tape drive, proses P1 membutuhkan 4 dan proses P2 membutuhkan 9 tape drive. Misalnya pada waktu t0, proses P0 membawa 5 tape drive, P1 membawa 2 dan P2 membawa 2 tape drive sehingga terdapat 3 tape drive yang tidak digunakan. Kebutuhan Maksimum Kebutuhan Sekarang P0 10 5 P1 4 2 P2 9 2 Pada waktu t0, sistem dalam state selamat. Urutan < P1, P0, P2> memenuhi kondisi
selamat karena P1 dapat segera dialokasikan semua tape drive dan kemudian
mengembalikan semua tape drive sehingga sistem tersedia 5 tape drive. Kemudian P0
dapat memperoleh semua tape drive dan mengembalikan semua sehingga sistem
tersedia 10 tape drive dan terakhir proses P2 dapat memperoleh semua tape drive dan
mengembalikan semua tape drive sehingga system tersedia 12 tape drive.
kemudian mengembalikan semua tape drive sehingga hanya tersedia 4 tape drive.
Karena proses P0 sudah dialokasikan 5 tape drive tetapi membutuhkan maksimum 10
tape drive sehingga meminta 5 tape drive lagi. Karena tidak tersedia, proses P0 harus
menunggu demikian juga P2 sehingga system menjadi deadlock
c).
15. 15. First-fit : alokasi lubang pertama yang cukup untuk proses.
• Best-fit : alokasi lubang terkecil yang cukup untuk proses. Strategi ini
memerlukan pencarian keseluruhan lubang, kecuali bila ukuran sudah terurut.
• Worst-fit : alokasi lubang terbesar yang cukup untuk proses. Strategi ini memerlukan pencarian keseluruhan lubang, kecuali disimpan berdasarkan urutan ukuran.
Diantara algoritma diatas, first-fit dan best-fit lebih baik dibanidngkan worst-fit
dalam hal menurunkan waktu dan utilitas penyimpan. Tetapi first-fit dan best-fit lebih baik dalam hal utilitas penyimpanan tetapi first-fit lebih cepat.
16. Fragmentasi internal terjadi saat penyimpanan dialokasikan tanpa pernah ingin menggunakannya. [1] Ini adalah ruang-siakan. Sementara ini tampaknya bodoh, sering diterima dalam kembali untuk meningkatkan efisiensi atau kesederhanaan. Istilah "internal" merujuk pada kenyataan bahwa unusable penyimpanan yang dialokasikan di dalam wilayah namun tidak sedang digunakan.
Fragmentasi eksternal adalah fenomena yang gratis menjadi dibagi menjadi beberapa bagian kecil dari waktu ke waktu. [1] Ini adalah kelemahan dari beberapa algoritma alokasi penyimpanan, terjadi ketika aplikasi dan mengalokasikan deallocates ( "frees") dari daerah penyimpanan berbagai ukuran, dan alokasi oleh algoritma merespon meninggalkan dialokasikan dan deallocated daerah interspersed. Hasilnya adalah bahwa, walaupun gratis tersedia, maka secara efektif unusable karena dibagi menjadi potongan-potongan yang terlalu kecil untuk memenuhi kebutuhan dari aplikasi.
17. Ruang alamat logika dari suatu proses dibagi ke dalam 2 partisi :
• Partisi 1 terdiri dari 8K segmen yang pribadi (private) untuk proses tersebut.
• Partisi 2 terdiri dari 8K segmen yang digunakan bersama untuk semua proses
Informasi mengenai partisi pertama disimpan dalam local descriptor table
(LDT) sedangkan informasi mengenai partisi kedua disimpan dalam global descriptor
table (GDT). Setiap entry pada tabel LDT dan GDT terdiri dari 8 byte, dengan
informasi detail tentang segmen tertentu termasuk lokasi basis dan panjang segmen.
Alamat logika adalah pasangan (selector, offset), dimana selector sebanyak 16 bit.
1 page = 64 byte.
Menurut page table diatas page 0 akan dipetakan ke frame 8, maka alamat logika 0 akan
dipetakan ke alamat fisik (8 * 64) + 0 = 512.
Keadaan memori logika dapat digambarkan sebagai berikut :

Dari gambar tersebut dapat dilihat bahwa :
•alamat logika 50 berada di page 0, offset 50 sehingga
alamat fisiknya (8 * 64) + 50 = 562
•alamat logika 121 berada di page 1,offset 57 sehingga
alamat fisiknya (2 * 64) + 57 = 185
•alamat logika 380 berada di page 5,offset 60 sehingga
alamat fisiknya (1 * 64) + 60 = 124
Keterangan :
alamat offset diperoleh dari nilai absolut alamat logika
yang ditentukan dikurangi dengan alamat logika awal
dari page yang diketahui. Contoh : jika alamat logika
380 berarti alamat offsetnya adalah
absolut(380 – 320) = 60
18. Pada sistem segmentasi alamat logika pada kode instruksi program juga perlu ditranslasi pada saat dieksekusi. Misalnya sistem memori computer menggunakan alamat 16 bit sehingga maksimal kapasitas memori utama adalah 64 kbyte. Bit alamat logika dapat dipecah atas nomor segmen dan alamat offset. Misalnya, nomor segmen menggunakan 4 bit atas alamat logika, yang berarti terdapat maksimal 212=4 kbyte. Misalnya dalam program terdapat instruksi jump[4848]
19. Dati tabel segmen proses terlihat bahwa segmen 1 dialokasikan pada memori fisik pada alamat awal 8224 sehingga pada saat dieksekusi alamat 4848 akan ditranslasi menjadi 8224 + 752 = 8976.
20. Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. Memori logika juga dibagi ke dalam blok- blok dg ukuran yang sama yang disebut page. Semua daftar frame yang bebas disimpan. Untuk menjalankan program dengan ukuran n page, perlu menemukan n frame bebas dan meletakkan program pada frame tersebut. Tabel page (page table) digunakan untuk menterjemahkan alamat logika ke alamat fisik.
21. 40ms
23. Waktu akses memory = 200 nanosecond
Rata-rata waktu page-fault service time = 8 milliseconds
1 ms=106 ns
EAT = ((1 – p) x 200) + (p x (8 milliseconds))
= ((1 – p) x 200) + (p x 8,000,000)
= 200 + (p x 7,999,800)
Jika 1 dari 1.000 kali akses terjadi fault, maka EAT = 8.2 microseconds.



28) Sequential Access: Adalah suatu cara pengaksesan record, yang didahului pengaksesan record-record didepannya.Contoh : Magnetic Tape
Direct access: Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh recordyang ada.Contoh : Magnetic Disk.


30) Pada sistem UNIX, proteksi direktori ditangani sama dengan proteksi file, misalnya, diasosiasikan dengan setiap subdirektory menggunakan owner, group dan universe (others) sebagai 3 bit RWX.
Informasi yang terdapat pada file dari kiri ke kanan terdiri dari proteksi file atau direktori, jumlah link ke file, nama pemilik, nama group, ukuran file dalam byte, tanggal membuat, nama file:
-rw-rw-r-- 1 pbg staff 31200 Sep 3 08:30 intro.ps
drwx------ 5 pbg staff 512 Jul 8 09:33 private/
drwxrwxr-x 2 pbg staff 512 Jul 8 09:35 doc/
drwxrwx--- 2 pbg student 512 Aug 3 14:13 student-proj/
-rw-r—-r-- 1 pbg staff 9423 Feb 24 1993 program.c
-rwxr-xr-x 1 pbg staff 20471 Feb 24 1993 program
drwx—-x--x 4 pbg faculty 512 Jul 31 10:31 lib/
drwx------ 3 pbg staff 1024 Aug 29 06:52 mail/
drwxrwxrwx 3 pbg staff 512 Jul 8 09:35 test/


31)








Pada level terendah, I/O control berisi device driver dan interrupt handler untuk mengirim informasi antara memori dan sistem disk. Basic file system berisi perintah bagi device driver untuk membaca dan menulis blok fisik pada disk. File organization module berisi modul untuk mengetahui blok logika pada blok fisik. Logical file system menggunakan struktur direktori untuk memberikan ke file organization module informasi tentang kebutuhan terakhir. Informasi mengenai sebuah file disimpan pada struktur penyimpan yang disebut file control block seperti Gambar 10-2. Gambar 10-3 mengilustrasikan pentingnya struktur sistem file disediakan oleh sistem operasi. Pada saat membuka file (dengan menjalankan perintah open) blok-blok dari struktur direktori disimpan pada struktur direktori di memori dan mengubah file control block. Pada saat membaca file (dengan menjalankan perintah read), indeks yang dibaca di cari lokasi blok pada disk melalui tabel open file yang berada di memori.Virtual File Systems (VFS) merupakan implementasi sistem file yang berorientasi obyek. VFS memungkinkan antarmuka system call (API) yang sama digunakan untuk sistem file yang berbeda. API adalah lebih sebagai antarmuka VFS dan bukan untuk tipe sistem file tertentu.
32) Alokasi Berurutan (Contiguous Allocation)
Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada disk (Gambar 10-5). Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan panjang (jumlah blok). Akses pada blok disk dilakukan secara random dan memakan banyak ruang permasalahan dynamic storage-allocation). File yang disimpan secara berurutan tidak dapat berkembang.


Beberapa sistem file yang baru (misalnya Veritas File System) menggunakan skema alokasi berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada disk secara berkembang (extent). Extent adalah blok berurutan pada disk. Extent dialokasikan untuk alokasi file. Sebuah file terdiri dari satu atau lebih extent.

Alokasi Berhubungan (Linked Allocation)
Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah pada disk (Gambar 10-6). Pada setiap blok terdapat satu pointer yang menunjuk ke blok lain.


Alokasi berhubungan mempunyai bentuk yang sederhana, hanya memerlukan alamat awal. Sistem manajemen ruang bebas pada alokasi berhubungan tidak memakan banyak ruang. Model ini tidak menggunakan random access. Blok yang diakses adalah blok ke-Q pada rantai link dari blok pada file. Perpindahan ke blok = R + 1. Contoh sistem file yang menggunakan alokasi berhubungan adalah file-allocation table (FAT) yang digunakan MS-DOS dan OS/2. Bentuk file allocation tabel dapat dilihat pada
Gambar 10-7.


Alokasi Berindeks (Indexed Allocation)
Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file (Gambar 10-7). Alokasi berindeks berupa bentuk logika.

Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke blok-blok file yang lain. Akses dilakukan secara random. Merupakan akses dinamis tanpa fragmentasi eksternal, tetapi mempunyai blok indeks yang berlebih. Pemetaan dari logika ke fisik dalam file ukuran maksimum 256K word dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel indeks. Apabila pemetaan dari logika ke fisik dalam sebuah file dari ukuran tak hingga (ukuran blok adalah 512 word) maka digunakan skema menghubungkan blok link dari tabel indeks (ukuran tak terbatas). Untuk ukuran file maksimum 5123 digunakan skema two-level indeks (Gambar 10-8). Pada skema two-level indeks terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar kemudian dipetakan ke tabel indeks dalam setelah itu mengakses blok file yang dimaksud.

33) Untuk memperbaiki sistem file dilakukan dengan memeriksa konsistensi dengan cara membandingkan data pada struktur direktori dengan blok data pada disk dan mencoba memperbaiki inkonsistensi. Selain itu juga dapat menggunakan program sistem untuk back up data dari disk ke penyimpan lain (floppy disk, magnetic tape). Perbaikan akan Recover menghilangkan file atau disk dengan restoring data dari backup.

34) Mounting Sistem Berkas
Seperti halnya sebuah berkas yang harus dibuka terlebih dahulu sebelum digunakan, sistem berkas harus dimount terlebih dahulu sebelum sistem berkas tersebut siap untuk memproses dalam sistem. Sistem operasi diberikan sebuah alamat mounting (mount point) yang berisi nama device yang bersangkutan dan lokasi dari device tersebut.

Sejarah Singkat Linux

06.44 / Diposting oleh blog hayiem / komentar (0)

LINUX DAN GNU
Linux [ Linus Unix ], sebuah operating system (OS) yang dibuat oleh Linus Torvald yang awalnya terinspirasi oleh Minix. Minix sendiri dikembangkan oleh Andrew S. Tanembaum. Berawal sebuah hobi seorang Linus Torvald, yang notabene hanyalah seorang mahasiswa di Univ.
Helsinki, Finlandia berumur 21 tahun. Beliau berpikiran untuk membuat Minix yang gratis dan dapat diedit, Minix sendiri adalah suatu proyek pelajaran di kelasnya waktu itu yang menyerupai sistem UNIX, akhirnya hasil karyanya dinamakan dengan istilah kernel Linux, Linux versi pertama (0.01) dikerjakan sekitar bulan Agustus 1991 yang kemudian dia posting hasilnya ke dalam milisnya comp.os.minix, dengan maksud menawarkan source code dari apa yang telah dibuatnya serta mengundang para programmer lain berpartisipasi dalam proyeknya tersebut.

Sejarah OS Linux berkaitan erat dengan proyek GNU, suatu proyek program freeware yang dikepalai oleh Richard M. Stallman. Proyek ini diawali sekitar tahun 1983 untuk membuat sistem operasi seperti UNIX yang lengkap beserta compiler, utility aplikasi, utility pembuatan-yang sepenuhnya dengan perangkat lunak bebas.
5 Oktober 1991, Linus secara resmi mengeluarkan versi Linuxnya ( versi 0.02 ). Proyek GNU telah menghasilkan hampir semua komponen dari sistem ini, kecuali kernel. Linus Torvald beserta pembuat kernel mirip Linux berusaha menyesuaikan kernel mereka supaya dapat berfungsi dengan komponen GNU hingga menghasilkan sistem operasi yang berfungsi. Walaupun pada waktu itu hanya dapat menjalankan GNU/BASH ( GNU Bourne Again Shell ) dan GNU/GCC ( GNU C Compiler ). Berikutnya beribu-ribu program sukarelawan seluruh dunia telah menyertai proyek-proyek ini.
Linux secara komplit ( GNU/Linux ) dirilis pada tanggal 14 Maret 1994, yang setelah tiga tahun mengalami masa pengembangan yang dilakukan oleh banyak programmer dari seluruh dunia. Dan saat ini Linux biasanya telah dipaket dengan program-program dari GNU ataupun program lain dan dibundel menjadi satu dengan istilah distro linux, yang merupakan turunan dari UNIX lengkap, bisa digunakan untuk jaringan, pengembangan perangkat lunak, multimedia, perkantoran dan sebagainya. Waktu ini telah beredar ribuan distro linux yang tiap-tiap distro memiliki kekurangan dan kelebihannya masing-masing. Perbedaan mendasar terletak pada paket-paket yang telah disertakan ataupun manajemen paketnya, akan tetapi dari perbedaan tersebut masih tetap menggunakan kernel Linux yang sama yang masih dipimpin oleh Linus Torvald.

Perintah Dasar Sistem operasi Linux

20.00 / Diposting oleh blog hayiem / komentar (0)

Setiap pemakai Linux harus mempunyai nama Login (User account) yang sebelumna harus didaftakan pada administrator system. Nama Login Umumnya dibatasi mksimum 8 karakter dan umumnya dalam huruf kecil . prompt dari bash shell pada Linux menggunakan tanda “S”
Sebuah Sesi Linux terdiri dari :
1. Login
2. Bekerja dengan Shell / Menjalankan aplikasi
3. Logout
Tergantung atas shell yang digunakan, pada linux bash maka pada proses login akan mengeksekusi program /etc/profile (untuk semua pemakai) dan file bash_profile di direktori awal (HOME) masing-masing .
Pada saat Logout, maka program shell bash akan mengeksekusi script yang bernama bash_Logout.
1. FORMAT INSTRUKSI LINUX
Instruksi Linux Setandart mempunyai format sebagai berikut :
$ Nama instruksi [pilahan] [argumen]
Pilihan adalah option yang dimulai dengan tanda – (minus). Argumen dapat kosong.
Satu atau beberapa argumen (parameter)
Contoh :
$ ls tanpa argument
$ ls-a option adalah –a=all,tanpa argument
$ ls /Bin tanpa option, argument adalah /Bin
$ ls / Bin /etc /usr ada 3 argumen
$ ls -1 /usr 1 option dan 1 argumen 1 = long list
$ ls –la /bin /etc 2 option -1 dan –a dan 2 argumen

2. MANUAL
Linux menyediakan manual secara on-line. Beberapa kunci keyboard yang penting dalam menggunakan manual adalah :
Q untuk keluar dari program man
Kebawah, baris perbaris
Kebawah,perhalaman
b kembali keatas, 1 halaman
/ teks mencari teks (string)
n meneruskan pencarian setring sebelumanya

manual dibagi atas bab – bab sebagai berikut :
Bab Isi
1 User commands
2 System calls
3 Library calls
4 Devices
5 File Formats
6 Games
7 Miscellaneous
8 System commands
9 Kernel internals
N Tcl/Tk command

"Beberapa Kumpulan Trik Playstation2 Hardisk"

07.28 / Diposting oleh blog hayiem / komentar (0)

Temukan Trik-trik termudah seputar PlayStation 2 yang sudah menggunakan Hardisk Download dan Temukan triknya dalam aplikasi ebook yang dapat dijalankan/dipergunakan tanpa terkoneksi Internet, Beberapa Info yang bisa anda dapatkan dari weblog sederhana ini antara lain:


* Cara Membuat Memory Playstation2 8Mb Booting (Memory PS2 Multifungsi yang harganya lumayan tinggi, sekitar 120rb dipasaran)
* Cara Membuat dan Mengganti Background Playstation 2 Hardisk sesuai kreasi anda sendiri.
* Cara Backup data “Save” Dari MMC PS2 Ke FlashDisk 128MB atau s/d 1GB dengan Memory PS2 Booting.
* Cara Play Music MP3 Di Consol PS2 HD dengan Memory PS2 booting.
* Cara Format Hardisk baru untuk Playstation2 anda.
* Cara Mengatasi HD PS2 Blank setelah logo matrix atau tidak mau menampilkan menu game.
* cara mengatasi Blank tampilan merah/hitam setelah logo matrix.
* Cara Install/isi Game PS2 HD.
* Cara menyimpan master game PS2 di komputer.
* Cara Meng-copy antar HD PS2.
* Cara Install hddloader/hdloader/System Boot.elf.
* Cara Membuat boot.elf atau tampilan menu game dan memasukannya ke hardisk PS2.
* Cara Meng-koneksikan HD PS2 Dengan Komputer Tanpa Alat Tambahan yang Susah Dicari.

Penyajian bahasa kami sengaja buat seringan mungkin, untuk memastikan apa yang kami sampaikan dapat mudah dipahami oleh anda. namun jika ada kesulitan yang anda hadapi ,kami siap membantu sebisa mungkin.... jadi jangan ragu dan takut untuk mendapatkan ebook seputar Playstation2 hardisk sekarang sebagai panduan jika anda mengalamai masalah dengan console playstation 2 hardisk kesayangan anda.
ebook ini sangat cocok bagi anda yang memiliki usaha Rental playstation atau jasa service system playstation2 hardisk.
jika anda sanggup memperbaiki console playstation2 hardisk sendiri, untuk apa sering mengeluarkan banyak biaya???

"Sekilas Tentang Pastisi Hardisk"

07.23 / Diposting oleh blog hayiem / komentar (0)

Apabila kita membeli hardisk yang baru, maka sebelum hardisk tersebut dapat dipakai terlebih dahulu kita harus mempartisi dan mem-format hardisk tersebut. Mempartisi hardisk adalah membagi ukuran hardisk secara logical kedalam beberapa bagian. Misalnya kalau kita menginginkan agar nantinya pada hardisk kita terdapat 3 buah drive (yaitu DRIVE C, D dan E) maka kita perlu mempartisinya menjadi 3 bagian. Sedangkan mem-format hardisk adalah proses inisialisai dan memberikan file system pada hardisk sehingga hardisk dapat digunakan oleh sistem operasi. Misalnya untuk sistem operasi Windows kita bisa memformat hardisk dengan file system FAT atau NTFS.

Beberapa alasan mengapa sebuah hardisk perlu dipartisi diantaranya adalah sebagai berikut:

* Untuk lebih memudahkan pengorganisasian file, Misalnya partisi satu untuk menyimpan sistem operasi dan program aplikasi, partisi kedua untuk peyimpanan data dan partisi ketiga untuk backup data.
* Memisahkan sistem operasi yang satu dengan sistem operasi yang lain apabila kita berniat meng-install lebih dari satu sistem operasi.
* Meningkatkan performa komputer (waktu akses hardisk), terutama untuk hardisk yang berukuran besar.

Terdapat beberapa jenis partisi yang dapat kita buat pada hardisk yaitu:

* Primary Partition
Partisi yang biasanya digunakan sebagai tempat peyimpanan sistem operasi. Pada primary partition ini terdapat boot partition yang menyimpan file-file yang dibutuhkan untuk start up sistem operasi. Sebuah hardisk dapat dipartisi menjadi maksimal 4 buah primary partition tanpa extended partition, atau maksimal 3 buah primary partition kalau terdapat extended partition.
* Extended Partition
Merupakan partisi pembatas antara primary partition dan logical partition. Dalam Extended partition ini dapat terdiri dari satu atau lebih logical partition. Extended partition ini bukanlah sebuah drive melainkan hanya pembatas saja.
* Logical Partition
Merupakan bagian dari Extended Partition yang dan digunakan sebagai tempat penyimpanan data.
Untuk mempartisi sebuah hardisk kita bisa menggunakan beberapa cara, diantaranya yaitu:

* Mempartisi hardisk pada saat menginstall Sistem Operasi.
* Menggunakan tool Disk Managemen Windows.
* Menggunakan program managemen partisi hardisk seperti misalnya EASEUS Partition Master.

Demikianlah sekilas tentang mengenal partisi pada hardisk, mudah - mudahan bisa bermanfaat.

"Membahas Tentang Free Software"

07.07 / Diposting oleh blog hayiem / komentar (0)

Untuk memulai petualangan kita di dunia freeware (free software), ada baiknya apabila kita mencoba untuk mengetahui dahulu, apa sebenarnya yang dimaksud dengan freeware itu? Jika ditilik dari dua kata penyusunnya, yakni ‘free’ dan ’software’, maka freeware dapat diartikan secara bebas sebagai perangkat lunak yang bebas. Namun patut diperhatikan oleh para pembaca semua, bahwa yang dimaksud dengan ‘bebas’ disini bukanlah ‘bebas’ dalam artian ‘gratis’ atau Rp 0,00 (jadi ingat UM-UGM nih :-)). Kata ‘bebas’ yang dimaksudkan di atas lebih merujuk kepada ‘kebebasan’ atau ‘kemerdekaan’ dengan makna ’semangat pergerakan’. Dan bukannya mengacu kepada semata-mata makna ‘bebas’ secara komersial yang berkenaan dengan harga. Meskipun tentu saja, hampir semua software, baik itu application software maupun operation system software, yang berlisensi freeware saat ini adalah produk-produk gratis alias ‘ambil saja, duplikat saja, gak perlu bayar’.

Definisi resmi freeware yang banyak diakui oleh komunitas TI seluruh dunia tentu saja keluar dari pemikiran sang perintis gerakan ini, yaitu Richard Matthew Stallman (RMS). Menurut mantan hacker di laboratorium AI (Artificial Intellegent) MIT (Massachusetts Institute of Technology) ini, suatu software dapat disebut sebagai freeware jika ia memenuhi empat syarat yang terkandung dalam GNU GPL (GNU’s Not Unix General Public License).