Pengertian DMA (Direct Memory Access)
DMA (Direct Memory Access) adalah suatu hardware spesial
(chip) yang dapat mengontrol aliran bit data antara memory (RAM) dan beberapa
controller dari I/O devices tanpa memerlukan interferensi dari CPU secara terus
menerus. (Mengakses dan mengontrol memori sistem tanpa interferensi CPU secara
terus menerus).
Fungsi DMA (Direct Memory Access)
Fungsi dari DMA sendiri adalah agar CPU dapat melakukan
pekerjaan atau instruksi yang berbeda ketika melakukan operasi baca tulis dari
perangkat peripheral. Tanpa adanya DMA
CPU akan terus sibuk melakukan operasi baca tulis (transfer data) dan tidak dapat
melakukan atau menyelesaikan instruksi yang lain. Dengan adanya DMA, CPU cukup
mempersiapkan DMA chip dengan cara memberikan beberapa informasi seperti jumlah
data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan
arah dari aliran data tersebut, setelah itu DMA chip sendiri yang akan
menyelesaikannya. DMA chip akan melakukan interupt, ketika pekerjaannya sudah
selesai. Selama DMA chip melakukan tugasnya hingga munculnya interupt, CPU
dapat menyelesaikan instruksi yang lainnya.
Cara Kerja DMA (Direct Memory Access)
Selama transfer byte blok, urutan berikut terjadi saat byte
data dikirim dari antarmuka ke memori :
1. Antarmuka
mengirimkan DMA controller permintaan untuk layanan DMA.
2. Permintaan
bus dibuat ke pin HOLD (aktif tinggi) pada mikroprosesor 8086 dan pengendali mendapatkan kontrol bus.
3. Hibah bus
dikembalikan ke pengontrol DMA dari pin Hold Acknowledge (HLDA) (aktif tinggi)
pada mikroprosesor 8086.
4. Pengontrol
DMA menempatkan isi register alamat ke bus alamat.
5. Pengontrol
mengirimkan antarmuka pengakuan DMA, yang memberitahu antarmuka untuk
meletakkan data pada bus data. (untuk output itu sinyal antarmuka untuk mengunci data berikutnya ditempatkan di bus).
6. Data byte
ditransfer ke lokasi memori yang ditunjukkan oleh bus alamat.
7. Antarmuka
mengaitkan data.
8. Permintaan
bus dijatuhkan, pin HOLD menjadi rendah, dan pengendali melepaskan bus.
9. Hibah bus
dari mikroprosesor 8086 dijatuhkan dan pin HLDA menjadi rendah.
10. Register
alamat bertambah 1.
11. Hitungan
byte dikurangi 1.
12. Jika jumlah
byte tidak nol, kembali ke langkah 1, jika tidak hentikan.
REFERENCES
Source By :
(Tugas 3) Data Transfer With A DMA Controller
A. BATCH SYSTEM
Batch system dikenalkan pada generasi kedua (1955-1965).
Batch sistem adalah suatu teknik pengurutan kerja secara otomatis untuk
menghindari waktu menganggurnya CPU. Tugas ini dikerjakan dalam satu rangkaian,
lalu dieksekusi secara berurutan. Pada generasi ini sistem komputer belum
dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada,
contohnya fungsi sistem operasi ialah FMS dan IBSYS.
Bentuk bentuk dari
Batch System
- Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.
- Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
B. CRITICAL SECTION
Critical Section adalah bagian dari suatu proses yang akan
melakukan akses dan manipulasi data. Ketika sebuah proses
sedang dijalankan dalam critical section nya, tidak ada proses lain yang
boleh dijalankan dalam critical section tersebut, karena akan
menyebabkan keadaan mutually exclusive.
Mutually exclusive yakni keadaan terjadinya akses
resources yang sama di saat yang bersamaan. Mutually exclusive memerlukan kondisi
tertentu agar dapat terpenuhi.
Critical section biasanya digunakan saat program multithreading,
dimana program tersebut terdiri dari banyak thread, akan mengubah nilai dari
variabel. Dalam hal ini critical section diperlukan untuk melindungi
variabel dari concurrent access (pengaksesan program di saat yang bersamaan)
yang dapat membuat nilai dari variabel tersebut menjadi tidak konsisten.
Seperti yang telah kita ketahui bahwa proses dapat bekerja
sendiri (independent process) dan juga dapat bekerja bersama
proses-proses yang lain (cooperating process). Pada umumnya ketika
proses saling bekerjasama (cooperating process) maka proses-proses
tersebut akan saling berbagi data. Pada saat proses-proses berbagi data, ada
kemungkinan bahwa data yang dibagi secara bersama itu akan menjadi tidak
konsisten dikarenakan
adanya kemungkinan proses-proses tersebut melakukan akses
secara bersamaan yang menyebabkan data tersebut berubah, hal ini dikenal dengan
istilah Race Condition.
Oleh karena itu, dibutuhkan solusi yang tepat untuk
menghindari munculnya Race Condition. Solusi tersebut harus memenuhi
ketiga syarat berikut:
- Mutual Exclusion
- Progress
- Bounded Waiting
Ada dua jenis solusi untuk memecahkan masalah critical
section, yaitu.
- Solusi Perangkat Lunak. Solusi ini menggunakan algoritma-algoritma untuk mengatasi masalah critical section.
- Solusi Perangkat Keras. Solusi ini tergantung pada beberapa instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi, mengunci suatu variabel tertentu atau menggunakan instruksi level mesin seperti tes dan set.
Berikut ini algoritma-algoritma yang digunakan untuk
mengatasi masalah critical section:
1.
Algoritma
I
Algoritma I memberikan giliran kepada setiap proses untuk
memproses critical section-nya secara bergantian.
Asumsi yang digunakan disini setiap proses secara bergantian
memasuki critical section-nya.
Statement while(turn != 4) akan memeriksa apakah pada saat
itu proses 4 mendapatkan turn, jika tidak maka proses 4 akan busy waiting(lihat
kembali bahwa printah while diakhiri dengan “;”). Jika ternyata pada saat itu
merupakan giliran proses 4 maka proses 4 akan mengerjakan critical section-nya.
Sampai sini jelas terlihat bahwa mutex terpenuhi! Proses yang tidak mendapatkan
turn tidak akan dapat mengerjakan critical section-nya dan turn hanya akan
diberikan pada satu proses saja.
Setelah proses 4 selesai mengerjakan critical section maka
turn diberikan pada proses lainnya (turn= j, j merupakan proses selanjutnya
yang dapat mengerjakan critical section). Setelah turn-nya diberikan kepada
proses lain, proses 4 akan mengerjakan remainder section. Disini
jelas terlihat bahwa syarat bounded waiting jelas terpenuhi. Ingat asumsi yang
digunakan dalam algoritma ini adalah setiap proses secar bergantian memasuki
critical section-nya, jika pada saat itu proses 4 ternyata belum mau
mengerjakan critical section-nya maka proses ke-j tidak akan mendapatkan
kesempatan untuk mengerjakan critical section walau saat itu sebenarnya proses
ke-j akan memasuki critical section. Artinya syarat progress tidak terpenuhi
pada algoritma ini.
2.
Algoritma II
Masalah yang terjadi pada algoritma 1 ialah ketika di entry
section terdapat sebuah proses yang ingin masuk ke critical section, sementara
di critical section sendiri tidak ada proses yang sedang berjalan, tetapi
proses yang ada di entry section tadi tidak bisa masuk ke critical section. Hal
ini terjadi karena giliran untuk memasuki critical section adalah giliran
proses yg lain sementara proses tersebut masih berada di remainder section.
Untuk mengatasi masalah ini maka dapat diatasi dengan merubah variabel trun
pada algoritma pertama dengan array
Boolean flag [2];
Elemen array diinisialisasi false. Jika flag[i] true, nilai
tersebut menandakan bahwa Pi ready untuk memasuki critical section. Pada algoritma
ini. hal pertama yang dilakukan ialah mengeset proses Pi dengan nilai True, ini
menandakan bahwa Pi ready untuk masuk ke critical section. kemudian, Pi
memeriksa apakah Pj
tidak ready untuk memasukui critical section. Jika Pj ready,
maka Pi menunggu sampai Pj keluar dari critical section (flag[j] bernilai
false). Ketika keluar dari critcal section, Pi harus merubah nilai flag[i]
menjadi false agar prores lain dapat memasuki critical section.
Contoh:
Pada algoritma ini, kriteria Mutual-exclusion terpenuhi,
tetapi tidak memenuhi kriteria
progress. Ilustrasinya seperti di bawah ini.
T0 : Po set flag [0] = true
T1 : Po set flag [1] = true
Dari ilustrasi diatas terlihat bahwa algoritma ini
memungkinkan terjadinya nilai true untuk kedua proses, akibatnya tidak ada
proses yang akan berhasil memasuki critical section.
Jadi untuk algoritma 2 masih terdapat kelemahan, seperti
yang terjadi di atas.
3.
Algoritma III
Idenya berasal dari algoritma 1 dan 2. Algoritma 3 mengatasi
kelemahan pada algoritma 1 dan 2 sehingga progres yang diperlukan untuk
mengatasi critical section terpenuhi.
Algoritma III ditemukan oleh G.L. Petterson pada tahun 1981
dan dikenal juga sebagai Algoritma Petterson. Petterson menemukan cara yang
sederhana untuk mengatur proses agar memenuhi mutual exclusion.
Algoritma ini adalah solusi untuk memecahkan masalah critical section
pada dua proses. Ide dari algoritma ini adalah menggabungkan variabel yang di- sharing
pada Algoritma I dan Algoritma II, yaitu variabel turn dan variabel flag.
Sama seperti pada Algoritma I dan II, variabel turn menunjukkan giliran
proses mana yang diperbolehkan memasuki critical section dan variabel flag
menunjukkan apakah suatu proses membutuhkan akses ke critical section
atau tidak.
Awalnya flag untuk kedua proses diinisialisai
bernilai false, yang artinya kedua proses tersebut tidak membutuhkan
akses ke critical section. Kemudian jika suatu proses ingin memasuki critical
section, ia akan mengubah flag-nya menjadi true (memberikan
tanda bahwa ia butuh critical section) lalu proses tersebut memberikan turn
kepada lawannya. Jika lawannya tidak menginginkan critical section (flag-nya
false), maka proses tersebut dapat menggunakan critical section,
dan setelah selesai menggunakan critical section ia akan mengubah flag-nya
menjadi false. Tetapi apabila proses lawannya juga menginginkan critical
section maka proses lawan-lah yang dapat memasuki critical section,
dan proses tersebut harus menunggu sampai proses lawan menyelesaikan critical
section dan mengubah flag-nya menjadi false.
Misalkan ketika P0 membutuhkan critical section, maka
P0 akan mengubah flag[0] = true, lalu P0 mengubah turn= 1.
Jika P1 mempunyai flag[1] = false, (berapapun nilai turn)
maka P0 yang dapat mengakses critical section. Namun apabila P1 juga
membutuhkan critical section, karena flag[1] = true dan turn=
1, maka P1 yang dapat memasuki critical section dan P0 harus menunggu
sampai P1 menyelesaikan critical section dan mengubah flag[1] = false,
setelah itu barulah P0 dapat mengakses critical section.
Bagaimana bila kedua proses membutuhkan critical section
secara bersamaan? Proses mana yang dapat mengakses critical section
terlebih dahulu? Apabila kedua proses (P0 dan P1) datang bersamaan, kedua
proses akan menset masing-masing flag menjadi true (flag[0]
= true dan flag[1] = true), dalam kondisi ini P0 dapat
mengubah turn = 1 dan P1 juga dapat mengubah turn = 0. Proses yang dapat
mengakses critical section terlebih dahulu adalah proses yang terlebih
dahulu mengubah turn menjadi turn lawannya. Misalkan P0 terlebih dahulu
mengubah turn= 1, lalu P1 akan mengubah turn= 0, karena turn
yang terakhir adalah 0 maka P0-lah yang dapat mengakses critical section
terlebih dahulu dan P1 harus menunggu.
Algoritma III memenuhi ketiga syarat yang dibutuhkan. Syarat
progress dan bounded waiting yang tidak dipenuhi pada Algoritma I
dan II dapat dipenuhi oleh algoritma ini karena ketika ada proses yang ingin
mengakses critical section dan tidak ada yang menggunakan critical
section maka dapat dipastikan ada proses yang bisa menggunakan critical
section, dan proses tidak perlu menunggu selamanya untuk dapat masuk ke critical
section.
4.
Algoritma Tukang Roti
Algoritma ini didasarkan pada algoritma penjadwalan yang
biasanya digunakan oleh tukang roti, dimana urutan pelayanan ditentukan dalam
situasi yang sangat sibuk. Algoritma ini dapat digunakan untuk memecahkan
masalah critical section untuk n buah proses, yang diilustrasikan dengan
n buah pelanggan. Ketika memasuki toko, setiap pelanggan menerima
sebuah nomor. Sayangnya, algoritma tukang roti ini tidak
dapat menjamin bahwa dua proses (dua pelanggan) tidak akan menerima nomor yang
sama. Dalam kasus di mana dua proses menerima nomor yang sama, maka proses
dengan nomor ID terkecil yang akan dilayani dahulu. Jadi, jika Pi dan Pj
menerima nomor yang sama dan i < j, maka Pi dilayani dahulu. Karena setiap
nama proses adalah unik dan berurut, maka algoritma ini dapat digunakan untuk
memecahkan masalah critical section untuk n buah proses.
Struktur data umum algoritma ini adalah
boolean choosing[n];
int number [n];
Awalnya, struktur data ini diinisialisasi masing-masing ke
false dan 0, dan menggunakan notasi berikut:
– (a, b) < (c, d) jika a < c atau jika a= c dan b <
d
– max(a0, …, an-1) adalah sebuah bilangan k, sedemikian
sehingga k >= ai untuk
setiap i= 0, …, n – 1
setiap i= 0, …, n – 1
Dengan demikian, diketahui bahwa Algoritma I dan II
terbukti tidak dapat memecahkan masalah critical section untuk dua proses
karena tidak memenuhi syarat progress dan bounded waiting. Algoritma yang dapat
menyelesaikan masalah critical section pada dua proses adalah Algoritma III.
Sedangkan untuk masalah critical section pada n-buah proses dapat diselesaikan
dengan menggunakan Algoritma Tukang Roti.
C. PROCESS
CONTROL BLOCK
Process Control Block adalah
informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi
beragam proses aktif, termasuk ini:
- Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
- Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
- Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan batas register. tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi (ch 9).
- Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
- Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini,suatu daftar open file dan banyak lagi.
- PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapatbervariasi dari prose ke proses.proses ini.
- CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register.
Elemen-elemen dari PCB itu sendiri adalah :
Identifikasi Proses yaitu Identifier numerik yang
meliputi
- Identifier proses
- Identifier proses yang menciptakan
- Identifier pemakai
Informasi Status Pemroses yang meliputi
- Register-register yang terlihat pemakai yaitu Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses
- Register-register kendali dan status yaitu Register-register yang digunakan untuk mengendalikan operasi pemroses, a.l.:
- Program counter
- PSW, dsb.
- Pointer stack yaitu Tiap proses mempunyai satu stack atau lebih. Stack digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjuk posisi paling atas dari stack
Informasi Kendali Pemroses meliputi
- Informasi penjadwalan dan status yaitu Informasi-informasi yang dipakai untuk menjalankan fungsi penjadwalan a.l :
- Status proses. Mendefinisikan status proses (running,ready,block, dsb)
- Prioritas. Menjelaskan prioritas proses
- Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.
- Kejadian (Event). Identitas kejadian yang ditunggu proses
- Penstrukturan data yaitu Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
- Komunikasi antar proses yaitu Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB
- Kewenangan proses yaitu Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan
- Manajemen memori Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses
- Kepemilikan dan utilisasi sumber daya yaitu Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
- Berkas yang dibuka
- Pemakaian pemroses
- Pemakaian sumberdaya lainnya
D. DISTRIBUTED PROCESSING
Pengolahan
terdistribusi (Distributed Processing) adalah frasa yang digunakan untuk
merujuk ke berbagai sistem komputer yang menggunakan lebih dari satu komputer
(atau prosesor) untuk menjalankan aplikasi. Ini termasuk pemrosesan paralel di
mana satu komputer menggunakan lebih dari satu CPU untuk menjalankan program.
Lebih sering, bagaimanapun,
pemrosesan terdistribusi mengacu pada jaringan area lokal (LAN) yang dirancang
sehingga satu program dapat berjalan secara bersamaan di berbagai situs.
Kebanyakan sistem pemrosesan terdistribusi berisi perangkat lunak canggih yang
mendeteksi CPU idle di jaringan dan memilah program untuk menggunakannya.
Bentuk lain dari
pemrosesan terdistribusi melibatkan basis data terdistribusi. Ini adalah
basisdata tempat data disimpan di dua atau lebih sistem komputer. Sistem basis
data melacak di mana data berada sehingga sifat terdistribusi dari database
tidak jelas bagi pengguna.
Contoh dari
Distributed Data Processing System adalah: ATM, komputer yang dirancang untuk
tugas-tugas melaksanakan proyek, analisis finansial, penjadwalan waktu dan
akuntansi. Contoh lainnya, pengolahan data pada server yahoo yang tersebar hampir
di seluruh dunia secara distribusi, setiap wilayah mempunyai server
masing-masing. Seperti di indonesia mempunyai server tersendiri sehingga
pengolahan data tidak di pusat melainkan di wilayah masing-masing, dll.
E. HANDHELD
Handheld computer
adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini
dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun
sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer
biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa
produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard
tersebut diganti dengan electronic pen. Bagaimanapun, electronic pen ini masih
bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap
pengembangan.
Kelebihan dari
komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan
lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi
Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan
antara komputer genggam dengan mobile printer. Tidak hanya dengan printer
tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui
koneksi Bluetooth.
Komputer genggam
dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk bekerja
lebih efisien. Komputer genggam yang paling banyak digunakan adalah komputer
yang khusus dirancang untuk menyediakan fungsi PIM (Personal Information
Manager), seperti kalender, agenda, dan buku alamat. Contoh system handheld
adalah Android, Symbian.
F. THREAD
Thread adalah unit dasar dari utilitas CPU. Di dalamnya
terdapat ID thread, program counter, register, dan stack. Dan saling berbagi
dengan thread lain dalam proses yang sama.
Keuntungan memakai
Thread:
* Tanggap: Multi-threading mengizinkan program untuk terus berjalan walaupun pada bagian program tersebut diblock atau sedang dalam keadaan menjalankan operasi yang lama/panjang. Contohnya multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
* Tanggap: Multi-threading mengizinkan program untuk terus berjalan walaupun pada bagian program tersebut diblock atau sedang dalam keadaan menjalankan operasi yang lama/panjang. Contohnya multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
* Pembagian sumber daya: Secara default, thread membagi
memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah
aplikasi mempunyai perbedaan aktifitas thread dengan alokasi.
* Ekonomis: Mengalokasikan memori dan sumber daya untuk
membuat proses itu sangat mahal. Alternatifnya thread membagi sumber daya dari
proses, Jadi lebih ekonomis.
* Pemberdayaan arsitektur multiprosesor: Keuntungann dari
multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana
setiap thread dapat berjalan secara parallel pada prosesor yang berbeda. Pada
arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread
dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya
hanya satu thread yang berjalan di setiap waktu.
Selain itu :
1. User thread adalah pengelolaan thread yang dilakukan oleh
user level (pengguna)
2. Kernel thread adalah pengelolaan thread yang dilakukan
oleh kernel komputer sehingga user tidak dapat menginterupsi.
Macam-macam Thread
Single threading : proses hanya mengeksekusi satu thread
dalam satu waktu.
Contoh program yang menggunakan thread:
berikut ini adalah contoh program yang menggunakan thread. program berikut ini adalah program simulai balapan dari 5 peserta sebanyak 2 putaran, lalu pada akhir program akan mencetak siapa juara 1, 2, dan 3. pada program berikut ini menggunakan thread sebanyak 6, yaitu 5 thread untuk peserta, yang berisi pertambahan jarak yang dicapai peserta dan status juara jika sudah mencapai finish. dan satu lagi thread untuk mencetak posisi peserta. pada fungsi print menggunakan metode clear lalu print lagi, dan seterusnya sampai kelimanya mencapai finish, agar terlihat seperti balapan sungguhan.
berikut ini adalah contoh program yang menggunakan thread. program berikut ini adalah program simulai balapan dari 5 peserta sebanyak 2 putaran, lalu pada akhir program akan mencetak siapa juara 1, 2, dan 3. pada program berikut ini menggunakan thread sebanyak 6, yaitu 5 thread untuk peserta, yang berisi pertambahan jarak yang dicapai peserta dan status juara jika sudah mencapai finish. dan satu lagi thread untuk mencetak posisi peserta. pada fungsi print menggunakan metode clear lalu print lagi, dan seterusnya sampai kelimanya mencapai finish, agar terlihat seperti balapan sungguhan.
Referensi
(Tugas 2) Pengertian Dan Contoh Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld, Thread
A. SISTEM OPERASI MS DOS.
PENGERTIAN
MS-DOS,
singkatan dari Microsoft Disk Operating System, adalah sebuah sistem operasi
yang sangat banyak digunakan oleh komputer IBM-PC atau yang kompatibel
dengannya. Microsoft membuat MS-DOS sebagai sebuah sistem operasi mainstream,
sebelum pada akhirnya menghentikan dukungan MS-DOS secara perlahan ketika
mereka membuat sebuah sistem operasi berbasis antarmuka grafis (dikenal juga
dengan sebutan GUI) untuk pasar mainstream, yang disebut sebagai Microsoft Windows.
MS-DOS dirilis
pertama kali pada tahun 1981, dan seiring dengan waktu, Microsoft pun
meluncurkan versi yang lebih baru dari MS-DOS. Tidak kurang hingga delapan kali
Microsoft meluncurkan versi-versi baru MS-DOS dari tahun 1981 hingga Microsoft
menghentikan dukungan MS-DOS pada tahun 2000. MS-DOS merupakan salah satu kunci
keberhasilan Microsoft dalam memproduksi perangkat lunak, dari sebuah
perusahaan kecil pembuat bahasa pemrograman saat didirikan hingga menjadi
sebuah perusahaan perangkat lunak yang seolah menguasai dunia.
SEJARAH DOS
MS-DOS
sebenarnya dibuat oleh sebuah perusahaan pembuat komputer bernama Seattle
Computer Products (SCP) yang dikepalai oleh Tim Patterson—yang belakangan
direkrut oleh Microsoft untuk mengembangkan DOS—pada tahun 1980 sebagai sebuah
perangkat lunak sistem operasi dengan nama Q-DOS (singkatan dari Quick and
Dirty Operating System), yang selanjutnya diubah namanya menjadi 86-DOS, karena
Q-DOS didesain agar dapat berjalan pada komputer dengan prosesor Intel 8086.
Microsoft pun membeli lisensinya dengn harga 50.000 dolar Amerika dari SCP,
lalu mengubah namanya menjadi MS-DOS. Selanjutnya, saat IBM hendak meluncurkan
komputer pribadi yang disebut dengan IBM PC, Microsoft pun menjual lisensi
MS-DOS kepada IBM.
MACAM MACAM MS
DOS
Versi 1.0
Merupakan versi
DOS pertama kali yang dibuat oleh Microsoft Corp. yang hak ciptanya dibeli oleh
IBM Corp. Dimana kumunculan DOS ini dihubungkan dengan permintaan IBM atas
pembuatan komputer PC pertama yang bernama IBM-PC, hal ini karena IBM telah
membeli lisensi dari Microsoft untuk setiap sistem operasi yang diinstall
(dipasang) pada setiap komputer yang diproduksinya.
Versi DOS ini
masih sangat sederhana dan kemampuanya terbatas. DOS Versi 1.0 ini menggunakan
memory sebesar 1024 byte dan media yang ditunjang adalah floppy disk 5.25 inch
size 160 Kilobyte. Versi 1.1 dan 1.2 menunjang floppy disk 5.25 inch size 320
Kilobyte ditambah utility seperti DISKCOPY (menyalin seluruh isi disket ke
disket yang lain) dan DISKCOMP (membandngkan isi disket yang satu dengan isi
disket yang lainnya).
Versi 2.0
Diluncurkan
pada bulan Maret 1983 seiring dengan IBM mengeluarkan produk IBM-XT (Extended
Technology). Pada versi 2.0 kini mampu menunjang pemakaian hard disk sebesar 10
Mb dengan kemampuan membuat direktori dan sub-sub direktorinya.
Karena versi
2.0 mempunyai beberapa kesalahan ( bug ), maka diperbaiki pada versi 2.10. Pada
akhir tahun 1983, pihak Microsoft selaku pembuat DOS sebenarnya (yang
lisensinya dibeli IBM), juga mengeluarkan versi yang diberi nama MS-DOS 2.11.
Berbeda dengan
PC-DOS 2.10, disini terdapat perintah yang tidak terdapat pada PC-DOS, yaitu
perintah COUNTRY yang berguna untuk mengeset operasi tunggal dan jam yang
berlaku pada suatu negara.
Versi 3.0
Seiring dengan
dimunculkannya komputer jenis PC-AT (Advanced Technology) tahun 1984, telah
diterbitkan PC-DOS 3.0 dan MS-DOS 3.05. Dimana versi ini mendukung pemakaian
disk drive kapasitas 1.2 MB dan pemakaian disk memori yang disebut Virtual Disk
atau RAM Disk dengan menggunkan extended memory yang mana belum dapat dipakai
langsung oleh DOS versi ini.
Mulai dari
versi 3.0 sampai 3.3 ditambahkan berbagai fungsi tambahan seperti EDIT, merubah
warna huruf dll dan mampu mengakses memory sampai 640 Kb dan hard disk 40 Mb.
Versi 4.0
Pada tahun 1988
terbit PC-DOS 4.0 dan beberapa bulan berikutnya tepatnya Desember, terbit versi
perbaikannya PC-DOS 4.01 dan MS-DOS 4.01. Disini ada fasilitas baru yang
dinamakan program Shell untuk mengontrol kerja komputer dengan sistem menu, dan
dikenalkan sistem label serial number untuk disk yang baru diformat.
Mulai DOS versi
4.0 keatas, DOS mampu mengakses lebih dari 640 Kb memory (yang disebut sebagai
conventional memory). Pada DOS versi terakhir di dalamnya telah tersedia banyak
utility seperti pengaturan pengunaan memory komputer oleh program-program
(Himem.sys, Memmaker.exe), program anti virus (MSAV), memeriksa dan memperbaiki
file (MS-Scandisk) dll.
Versi 5.0
Pertengahan
tahun 1991 muncul PC-DOS 5.0 dan MS-DOS 5.0. Pada versi ini, pemakaian memori
yang semula masih agak membingungkan telah diperbaiki, disamping penambahan
fasilitas program bantu yang mana merupakan kerja sama dengan perusahaan
Central Point Inc. pembuat program MIRROR, UNDELETE dan UNFORMAT dll.
Versi 6.0
Pada bulan
Maret 1993, Microsoft memperkenalkan MS-DOS 6.0. Mulai versi ini pemakaian
PC-DOS semakin berkurang, dimana semua pemakai komputer lebih cenderung memakai
MS-DOS daripada PC-DOS, ini dikarenakan versi dari Microsoft lebih luwes untuk
digunakan pada berbagai PC, dibandingkan PC-DOS yang beberapa perintahnya hanya
jalan bila PC anda buatan IBM murni.
Pada versi ini
juga ditambahkan beberapa utility baru dan perintah-perintah konfigurasi sistem
termasuk memori extended memory lebih mudah. Untukutility yang ditambahkan
sudah terkenal, seperti MSAV (Microsoft Anti Virus) yang merupakan kerjasama
dari CPAV (Central Point Anti Virus),DoubleSpace yang berguna untuk
melipatgandakan isi media penyimpanan dll.
Versi ini untuk
memperbaiki versi 6.0, dimana terdapat perbaikan pada utility DoubleSpace, dan
manajemen memori. Selain itu ada tambahan perintah baru seperti fasilitas MOVE,
dan tampilan daftar file (directory) yang lebih mudah dibaca.
Sedangkan pada
Versi 7.0 keatas sejak diperkenalkanya sistem operasi Microsoft Windows,
pemakaian sistem operasi DOS mulai berkurang, karena tampilan yang lebih
menarik (GUI). Tetapi untuk menjembatani pemakai aplikasi yang masih
menggunakan tampilan teks pada DOS, maka DOS ini masih dipertahankan.
DOS adalah sistem
operasi yang menggunakan interface command-line yang digunakan para pengguna
komputer pada dekade tahun 1980-an. Untuk fasilitas booting komputer dan
menjalankan beberapa aplikasi software, misalnya WS dan Lotus. Masih banyak
fungsi DOS yang digunakan pada zaman sekarang, terutama dalam menyelesaikan
beberapa troubleshooting pada hardware komputer. Walaupun bisa juga dilakukan
pada sistem operasi berbasis GUI. Berikut ini fungsi-fungsi DOS.
•
Mengorganisasikan atau mengendalikan kegiatan komputer
• Mengatur
memori
• Mengatur
proses input dan output data
• Management
file
• Management
directory
B. SISTEM OPERASI WINDOWS.
PENGERTIAN
Sistem Microsoft Windows atau yang lebih dikenal dengan sebutan Windows
adalah keluarga sistem operasi. yang dikembangkan oleh Microsoft, dengan
menggunakan antarmuka pengguna grafis.
Sistem operasi Windows telah berevolusi dari MS-DOS, sebuah sistem operasi
yang berbasis modus teks dan command-line. Windows versi pertama, Windows
Graphic Environment 1.0 pertama kali diperkenalkan pada 10 November 1983,
tetapi baru keluar pasar pada bulan November tahun 1985, yang dibuat untuk
memenuhi kebutuhan komputer dengan tampilan bergambar. Windows 1.0 merupakan
perangkat lunak 16-bit tambahan (bukan merupakan sistem operasi) yang berjalan
di atas MS-DOS (dan beberapa varian dari MS-DOS), sehingga ia tidak akan dapat
berjalan tanpa adanya sistem operasi DOS. Versi 2.x, versi 3.x juga sama.
Beberapa versi terakhir dari Windows (dimulai dari versi 4.0 dan Windows NT
3.1) merupakan sistem operasi mandiri yang tidak lagi bergantung kepada sistem
operasi MS-DOS. Microsoft Windows kemudian bisa berkembang dan dapat menguasai
penggunaan sistem operasi hingga mencapai 90%.
SEJARAH SINGKAT WINDOWS
Dimulai dari DosShell for DOS 6 buatan Microsoft dan inginnya Microsoft
bersaing terhadap larisnya penjualan Apple Macintosh yang menggunakan GUI,
Microsoft menciptakan Windows 1.0 Nama ini berasal dari kelatahan karyawan
Microsoft yang menyebut nama aplikasi tersebut sebagai Program Windows (Jendela
Program). Windows versi 2 adalah versi Windows pertama yang bisa diinstal
program. Satu-satunya program yang bisa ditambahkan adalah Microsoft Word versi
1. Windows versi 3 menjanjikan aplikasi tambahan yang lebih banyak, kelengkapan
penggunaan, kecantikan user interface atau antarmuka dan mudahnya konfigurasi.
Windows versi 3.1 adalah versi Windows yang bisa mengoptimalisasi penggunaannya
pada prosesor 32-bit Intel 80386 ke atas. Windows versi 3.11 adalah versi
Windows terakhir sebelum era Start Menu. Windows 3.11 pun adalah versi Windows
pertama yang mendukung networking/jaringan. Versi Hibrida dapat dijalankan
tanpa MS-DOS. Versi Hibrida tersebut menginstalasi dirinya sendiri dengan DOS
7. Tidak seperti Windows versi 16-bit yang merupakan shell yang harus
diinstalasi melalui DOS terlebih dahulu. Aplikasinya pun berbeda. Meskipun
Windows 9X dapat menjalankan aplikasi Windows 16-bit, namun Windows 9X memiliki
grade aplikasi sendiri - X86-32, Windows 9X sangat terkenal dengan BSOD (Blue
Screen of Death).
MACAM MACAM WINDOWS
MACAM MACAM WINDOWS
Windows 1.0
Windows 1.0adalahversi
windows pertama kali yang dikenalkanolehmicrosoft corporation padatahun 1985.
Windows pertama kali
inidirasakurangpopulerpadazamannyakarenakurangfiturdalamfungsionalitasnya.
Sistemoperasi windows 1.0 inimemilikikemampuan yang samadengan MS-DOS,
cumanberbedapadatampilanantarmukagrafis. Jadibisadisimpulkankelemahan yang
adapada MS-DOS jugaterdapatpada windows 1.0. Berikutinimacammacamversi windows
1.0:
- Windows
1.0.1 (rilisnovember 1985)
- Windows
1.03 (rilisagustus 1986)
- Windows
1.04 (rilisapril 1987)
Windows 2.0
Windows 2.0adalahversi ke-2 yang dirilispadatahun 1987 olehmicrosoft
corporation. Windows 2.0 inilebihcepatdikenaldaripadaversi windows 1.0 yang
dirasakurangpopuler di tahun-tahunsebelumnya. Kepopuleran windows 2.0
inidisebabkankarenaadanyaaplikasigrafisbuatanmicrosoftyaknimicrosoft excel for
windows danmicrosoft word for windows yang banyakdibutuhkanuntukaktifitas
multitasking yang hanya support sistemoperasi windows.
Berikutinimacammacamversi windows 2.0 :
- Windows 2.0 (rilisdesember 1987)
- Windows 2.10 (rilismei 1988)
Windows 3.0
Windows 3.0 adalahversi ke-3 yang dirilistahun 1990 olehmicrosoft
corporation dengankelebihantersendiridariversipertamadankedua. Padaversi
windows 3.0 inimicrosoftmendapatkankesuksesan yang luarbiasapadaawalrilisnya.
Windows 3.0 inimampumemberikanpeningkatanperformaterhadapfitur-fituraplikasi
yang kompatibeldengan windows. Keunggulan yang adapada windows 3.0 inimampumemberikanizinpemakaiuntukmelakukanaktifitas
multitasking. Misalnyamenjalankanaplikasi MS-DOS bersamaandenganmicrosoft word
ataumicrosoft excel. Berikutinimacam-macam windows 3.0 :
- Windows
3.0 (rilismei 1990)
- Windows
3.1 (rilisagustus 1992)
- Windows
3.2 (rilisnovember 1993)
Windows for workgroups
Windows for
workgroups adalah versi windows untuk tambahan windows 3.1 dan sebagai versi
tersendiri. Didalamnya terdapat dasar windows yang memiliki driver jaringan
komputer, support jaringan secara peer-to-peer dan stack protokol yang lebih
bagus. Berikut ini versi windows for workgroups :
- Windows for workgroups 3.1 (rilis
1993)
- Windows for workgroups 3.11 (rilis
1993)
Windows NT
Windows NT
adalah versi windows yang dikembangkan oleh Dave Cutler yang sebelumnya
menjabat sebagai salah satu pimpinan di Digital Equipment Corporation (DEC) dan
bergabung dengan microsoft karena proyeknya tidak disetujui oleh petinggi DEC.
Windows NT memiliki peningkatan fitur application programming interface (API)
32-bit yang di versi windows sebelumnya hanya menggunakan API 16-bit. Windows
NT ini pada zamannya hanya bisa dimiliki oleh kalangan terbatas karena dikenal
mempunyai sistem yang boros sumber daya sehingga membutuhkan hardware yang
mahal juga. Berikut ini versi macam macam NT :
- Windows NT 3.1 (rilis juli 1993)
- Windows NT 3.5 (rilis september 1994)
- Windows NT 3.51 (rilis mei 1995)
WINDOWS 95
Windows 95
adalah versi windows yang berorientasi kepada pengguna/konsumen yang memiliki
aktifitas multitasking secara pre-emptive 32-bit seperti pada OS/2 dan windows
NT. Windows 95 ini hanya support sistem operasi DOS buatan microsoft, sehingga
jika digunakan pada sistem operasi DOS bukan buatan microsoft maka mustahil
untuk dijalankan. Hal ini semakin mengokohkan microsoft sebagai perusahaan IT
yang sedang berkembang pesat. Berikut ini versi windows 95 :
- Windows 95 (agustus 1995)
- Windows 95 A
- Windows 95 B
- Windows 95 B USB
- Windows 95 C
WINDOWS NT 4.0
Windows NT 4.0 adalahversi windows
yang ditujukanuntukpasar workstation untukmengamvamdominasi novel netwardan
UNIX. Windows NT 4.0 inimemiliki interface seperti windows 95 danmemakai kernel
seperti windows NT. Berikutiniversimacammacam windows NT 4.0 :
- Windows NT 4.0 Workstation
- Windows NT 4.0 Server
- Windows NT 4.0 Server, Enterprise Edition
- Windows NT 4.0 Terminal Servet
WINDOWS
98
Windows 98
adalah versi revisi dari windows 95 yang memiliki banyak driver perangkat keras
dan support sistem berkas FAT32 yang lebih baik. Selain itu, fungsi USB pada
windows 98 lebih bagus dibanding dengan versi windows sebelumnya, windows 95.
Windows 98 mulai ditanamkan microsoft internet explorer yang berfungsi sebagai
mesin pencari yang ada hingga saat ini. Berikut ini versi macam macam windows
98 :
- Windows 98 (rilis juni 1998)
- Windows 98 Second Edition (rilis 1999)
WINDOWS 2000
Windows 2000
(rilis februari 2000) adalah versi windows yang dikenal dengan windows NT 5.0.
Windows 2000 ini mencakup pangsa pasar workstation dan server yang memiliki
fitur active directory, device manager yang ditingkatkan menjadi microsoft
management console, windows media player dan directX 6.1. Berikut ini versi
macam macam windows 2000 :
- Windows 2000 Professional
- Windows 2000 Server
- Windows 2000 Advanced Server
- Windows 2000 Datacenter Server
- Windows 2000 Advanced Server Limited
Edition
- Windows 2000 Datacenter Server Limited
Edition
Windows ME(Millenium Edition)
Windows ME
adalah versi windows yang memiliki fitur multimedia, internet dan system
restore yang lebih baik dari versi windows sebelumnya. Windows ME juga
menanamkan windows movie maker yang merupakan sebuah software untuk mengolah
sebuah gambar, video, dan musik menjadi sebuah film/movie clip. Fitur yang
terbenam di dalam windows 2000 seperti internet explorer 5.5, windows media
player 7.0 dan microsoft directX 7.1. Windows ME merupakan versi windows
terakhir yang tidak memiliki windows product activation atau lebih dikenal
dengan aktifasi windows. Berikut versi windows ME :
- Windows Millennium Edition (rilis
september 2000)
WINDOWS XP
Windows XPadalahversi
windows yang paling lama masa penggunaannyakisarantahun 2001 sampai 2007,
mungkinsebagiankomputer yang adadirumahkitajugamasihmenggunakan win XP
untukspesifikasikomputerrumahan yang rendah. Windows XP inidikenalsebagai
windows rumahankarenabanyakpenggunarumahan yang
memakainyauntukmelakukanaktifitas multitasking. Berikutiniversimacammacam
windows XP :
- Windows XP
Home Edition
- Windows XP
Home Edition N
- Windows XP
Professional
- Windows XP
Professional N
- Windows XP
Media Center Edition (MCE)
- Windows XP
Media Center Edition 2003
- Windows XP
Media Center Edition 2004
- Windows XP
Media Center Edition 2005
- Windows XP
Tablet PC Edition
- Windows XP
Tablet PC Edition 2005
- Windows XP
Embedded
- Windows XP
Starter Edition
- Windows XP
Professional x64 Edition
- Windows XP
64-bit Edition
- Windows XP
64-bit Edition 2003
WINDOWS VISTA
Windows Vista
(rilis januari 2007) adalah versi windows yang memiliki banyak fitur baru
seperti user control account, windows aero GUI, windows calendar, windows DVD
maker, game chess titans, mahjong, purble, internet explorer yang lebih safe
dan windows media player versi 11. Berikut ini versi macam macam windows vista
:
- Windows Vista Starter
- Windows Vista Home Basic
- Windows Vista Home Premium
- Windows Vista Business
- Windows Vista Enterprise
- Windows Vista Ultimate
WINDOWS 7
Windows 7
(rilis oktober 2009) adalah versi windows yang dikenal dengan blackcomb dan
vienna. Windows ini memiliki fitur jump list, taskbar, windows media player 12,
internet explorer 8, gadget unik, spesifikasi yang lebih ringan dan harga yang
murah daripada win vista. Berikut ini versi macam macam windows 7 :
- Windows 7 Starter
- Windows 7 Home Basic
- Windows 7 Home Premium
- Windows 7 Professional
- Windows 7 Ultimate
- Windows 7 Enterprise
WINDOWS 8.1
Windows 8.1 (juni 2013) adalahversi windows lanjutandari windows 8 yang
dilengkapidengantombolMulaiBaru, booting langsungke desktop,
layarkuncidanbeberapaaplikasi metro baru. Fitur yang
dibenamkanjugabanyakseperti calculator (modern UI), alarm, sound recorder,
reading list, food dan drink, file manager berbasis modern UI
danlebihbanyaklagi. Berikutiniversimacammacam windows 8.1 :
- Windows 8.1
- Windows 8.1 Pro
- Windows 8.1 Enterprise
- Windows RT 8.1
WINDOWS 10
Windows 10
(rilis juni 2015) adalah versi windows yang memiliki tipe kernel hibrida yang
dikembangkan oleh microsoft bagian dari sistem operasi windows NT. Windows 10
dikembangkan guna mengatasi kekurangan pada windows 8 dengan menambahkan
pengalaman pengguna yang tidak support layar sentuh. Interface yang digunakan
pun sudah mulai mendukung aktifitas pengguna yang tidak berlayar sentuh.
Berikut ini versi macam macam windows 10 :
- Windows 10 Home
- Windows 10 Pro
- Windows 10 Enterprise
- Windows 10 Education
- Windows 10 Enterprise LTSB
KELEBIHAN
- User friendly dibandingkan dengan sistem operasi yang
lain
- Instalasi software masih mudah dibandingkan dengan
instalasi di sistem operasi yang lain
- Banyak orang pakai Windows sehingga banyak perusahan
membuat aplikasinya menggunakan dasar Windows. Ada beberapa aplikasi yang
hanya ada di Windows dan tidak di OS yang lainnya. Bahkan beberapa
aplikasi vital dunia kerja.
- Karena systemnya sudah dishare untuk bisa dikembangkan
(bukan di open lho), maka semakin mudah siapa saja membuat software untuk
dijalankan di Mircosoft Windows. Terutama dunia usaha yang membutuhkan
aplikasi yang sesuai dengan kebutuhannya
- Kalau ada masalah mudah menyelesaikannya sebab hampir
semua orang bisa, dan mencari ahlinya juga tidak sulit disekitar
kita.
KEKURANGAN
- Harga
licensi mahal
- Komunitas
terlalu sedikit, karena bersifat closed-source
- Banyaknya
virus yang sering menyerang Windows
- Sistem
keamanan yang masih dibilang kurang
C. SISTEM OPERASI MAC
PENGERTIAN
macOS, atau yang sebelumnya disebut OS X, adalah antarmuka
grafikal sistem operasi yang dikembangkan dan disebarkan oleh Apple Inc. Sistem
operasi ini disediakan untuk komputer Macintosh. Sistem operasi ini pertama
kali dikeluarkan pada tahun 2001 dan populer di kalangan pengguna.tahun 2001 dan populer di kalangan pengguna.
SEJARAH SINGKAT macOS
Karakter "X" adalah nomor Romawi yang berarti
sepuluh, di mana versi ini adalah penerus dari sistem operasi yang digunakan
sebelumnya seperti Mac
OS 8 dan Mac OS 9. Beberapa
orang membacanya sebagai huruf "X" yang terdengar seperti
"eks". Salah satu alasan mengapa mereka menafsir sedemikian karena
tradisi untuk memberikan nama sistem operasi yang berbasis Unix dengan akhiran "x" (misalnya AIX, IRIX, Linux, Minix, Ultrix, Xenix).
Mac OS X Server juga dirilis pada tahun 2001. Pada dasarnya versi Server ini mirip dengan versi standard-nya, dengan perbedaan bahwa versi Server mencakup peranti lunak untuk keperluan manajemen dan administrasi workgroup dalam komputer berskala besar. Contoh fitur tambahan yang tersedia untuk versi ini adalah peranti lunak untuk menjalankan fungsi-fungsi seperti SMTP, SMB, LDAP dan DNS. Selain itu cara melisensinya juga berbeda.
Mac OS X adalah sistem operasi yang menggunakan kernel BSD sehingga beberapa kalangan mengatakan bahwa Mac OS X termasuk dalam keluarga Unix. Hal yang menarik dari OS ini adalah keindahan tampilannya sehingga menjadikannya panutan bagi pengembang desktop lain.
Mac OS X Server juga dirilis pada tahun 2001. Pada dasarnya versi Server ini mirip dengan versi standard-nya, dengan perbedaan bahwa versi Server mencakup peranti lunak untuk keperluan manajemen dan administrasi workgroup dalam komputer berskala besar. Contoh fitur tambahan yang tersedia untuk versi ini adalah peranti lunak untuk menjalankan fungsi-fungsi seperti SMTP, SMB, LDAP dan DNS. Selain itu cara melisensinya juga berbeda.
Mac OS X adalah sistem operasi yang menggunakan kernel BSD sehingga beberapa kalangan mengatakan bahwa Mac OS X termasuk dalam keluarga Unix. Hal yang menarik dari OS ini adalah keindahan tampilannya sehingga menjadikannya panutan bagi pengembang desktop lain.
KEKURANGAN macOS
- Software di MacOS tidak begitu lengkap.
- Hanya cocok untuk graphic designer.
- MacOS tidak dapat digunakan bersama-sama sistem-sistem
pengoperasian lain yang tidak menggunakan sistem MacOS.
- Mac tidak bisa dirakit sendiri karena Apple sudah tidak
memberi license buat perusahaan lain untuk membuat hardware yang bisa
menggunakan MacOS.
- Kurang cocok untuk aplikasi server dan game (rid).
- Pada suatu komputer MacOS tidak bisa digunakan
bersamaan dengan sistem operasi lain, tidak seperti Windows yang juga
mampu menjalankan Linux meskipun dalam pengemasan VirtualBox.
KELEBIHAN macOS
- Platform untuk DTP, graphic design, web design, dan
aplikasi bisnis.
- Versi terakhirnya memiliki preemptives multi threading,
pengaman memori, sistem file modern (HFS+) dan TCP/IP Stack yang matang.
- Penggunaan basis UNIX yang diterapkan menjadikan
pemakaiannya lebih stabil serta dalam segi keamanan juga sangat terjamin
(bebas dari virus, spyware dan malware).
- Memiliki program sherlock.
- Kompatibilitasnya tetap terjaga berkat bantuan program
terkenal yang disebut Blue Box.
- Multitasking
D. SISTEM OPERASI LINUX
PENGERTIAN
Linux
(diucapkan ˈlɪnəks atau /ˈlɪnʊks/) adalah nama yang diberikan kepada sistem
operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil
pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat
lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat
dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa
saja.
Nama
"Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun 1991
oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal
dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman.
Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.
SEJARAH SINGKAT LINUX
Linux telah
lama dikenal untuk penggunaannya di server, dan didukung oleh
perusahaan-perusahaan komputer ternama seperti Intel, Dell, Hewlett-Packard,
IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux digunakan
sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk
komputer desktop, superkomputer, dan sistem benam seperti pembaca buku
elektronik, sistem permainan video (PlayStation 2, PlayStation 3 dan XBox,
telepon genggam dan router. Para pengamat teknologi informatika beranggapan
kesuksesan Linux dikarenakan Linux tidak bergantung kepada vendor (vendor
independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi
dibandingkan versi UNIX tak bebas, serta faktor keamanan dan kestabilannya yang
tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows.
Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat
lunak sumber terbuka (opensource software).
Sistem operasi
Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau
distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti
server web, bahasa pemrograman, basisdata, tampilan desktop (desktop
environment) seperti GNOME,KDE dan Xfce juga memiliki paket aplikasi
perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, Gnumeric
dan LibreOffice.
Sistem operasi
Unix dikembangkan dan diimplementasikan pada tahun 1960-an dan pertama kali
dirilis pada 1970. Faktor ketersediaannya dan kompatibilitasnya yang tinggi
menyebabkannya dapat digunakan, disalin dan dimodifikasi secara luas oleh
institusi-institusi akademis dan pada pebisnis.
MACAM MACAM LINUX
1. Red Hat Linux
RedHat Linux merupakan salah satu GNU/Linux yang tergolong
sudah tua, menawarkan kemudahan, mode tampilan yang sepenuhnya grafis mulai
saat instalasi, dan pemakaian yang ramah. Versi terakhir Red Hat adalah
Distribusi RedHat Linux 9.0, ini merupakan versi stabil dan perbaikan serta
peningkatan administrasi sistem yang dilengkapi dengan desktop manager terbaru
seperti KDE 3.1 dan GNOME 2.2 dan aplikasi terbaru seperti grafis GIMP 1.2.3,
OpenOffice, KOffice, Diagram, aplikasi Multimedia Player, dll. Kemudahan
penggunaan yang ditawarkan RedHat Linux 9.0 hampir sama dengan lingkungan yang
disediakan oleh sistem operasi Windows. Kemudahan tersebut antara lain dalam
melakukan instalasi software, pengenalan deteksi hardware, konfigurasi dan
pengelolaan sistem dan harddisk, serta penggunaan aplikasi-aplikasi yang
semuanya dapat dilakukan dengan sangat mudah dan didukung dengan menu grafis
serta perintah yang gampang untuk diikuti.
2. Debian Linux
Salah satu distro Linux, dari websitenya saja (.org), tampak
kalau distro ini sebetulnya tidak mengedepankan sebagai suatu distro yang
komersial. Debian linux merupakan hasil usaha para sukarelawan untuk membuat
distro dengan kualitas tinggi dan nonkomersial. Keunggulan menggunakan Debian
adalah mudah di-upgrade, depedensi paket didefinisikan dengan baik, dan
dikembangkan secara terbuka. Merupakan satu-satunya distro yang dikembangkan
bersama-sama melalui Internet dengan lebih dari 400 pengelola paket menggarap
lebih dari 1500 paket dalam mengembangkan Debian. Merupakan distro yang sangat
dinamis.
3. Mandrake Linux
/ Mandriva
Salah satu distribusi Linux, lahir diinspirasi oleh RedHat
Linux, dengan banyak pengembangan dan aplikasi prakonfigurasi sehingga
memudahkan untuk para pemula, baik dari proses awal instalasinya yang berbasis
Xwindow, sampai penggunaannya dan didukung oleh berbagai bahasa. Di dalam
Mandrake, semua paket telah dikompilasi dengan optimasi CPU untuk kelas Pentium
(intel, amd, cyrixm winchip) dan prosesor di atasnya dan menghasilkan optimasi
lebih dari 30%. Menggunakan paket manajer disebut urpmi. Sampai versi 8.0 masih
menggunakan nama mandrake, versi 8.1 – 9.2 menggunakan nama mandriva.
4. SuSE Linux
Salah satu keunggulan utama dari OpenSUSE dibandingkan
distro Linux lainnya adalah kelengkapan pustaka dan berlimpahnya software yang
disertakan. Bersama Red Hat, SUSE adalah distro Linux versi awal yang terus
bertahan dan berkembang hingga sekarang. Fiturnya antara lain : instalasi
berbasis menu(CD-ROM), disket boot modular, ratusan halaman buku referensi, dan
YAST, tool admnistrasi dalam SuSe. Mendukung kartu grafis baru dan mode demo
secara langsung. Paket SuSe dinamakan SPM(SuSe Package Manager). SUSE merupakan
distro Linux yang stabil, mudah dalam melakukan deteksi perangkat keras, mudah
dikelola dan didukung penuh oleh komunitas pengembang di seluruh dunia serta
memiliki dukungan sponsor dari perusahaan besar.
5. Xandros Linux
Xandros Linux adalah sebuah distro Linux yang berdasarkan
pada sistim KDE. Tampilannya sangat mirip dengan Microsoft Windows, jadi
apabila dioperasikan sangat mudah dan nyaman. Selain itu pun, sistim operasi
ini pun murah. Di toko-toko, CD LinuXandros biasa dijual dengan harga kurang
lebih 15.000 - 30.000 Rupiah. Sistim operasi ini pun sangat user-friendly dan
tidak menyulitkan bagi para pemula. Saat ini, Xandros telah mencapai versi 4.
6. Gentoo Linux
Gentoo Linux adalah suatu distribusi Linux yang memakai
paket sistem manajemen Portage. [Debian yang menggunakan paket .deb, RedHat /
Mandrake yang menggunakan paket .rpm]. Manajemen paket ini dirancang untuk
modular (mudah ditambah-tambah), portabel (dapat di port ke distro lain), mudah
ditata, fleksibel, dan dioptimalkan untuk masing-masing komputer pengguna. Nama
proyek pengembangan dan produknya diambil dari jenis penguin bernama Gentoo.
Distribusi yang mempunyai keunikan tersendiri dan dapat dioptimisasi dan
dikustomisasi untuk hampir segala jenis aplikasi atau kegunaan. Konfigurasi
yang sangat ekstrim, dukungan dari sesama user dan developer yang sangat bagus
adalah salah satu kelebihan Gentoo. Berkat adanya teknologi bernama Portage,
Gentoo Linux dapat menjadi server yang aman, sistem develop, profesional
desktop, game sistem, solosi buat 'embedded' atau apa pun sesuai yang kita
ingini. Knoppix Linux
Knoppix adalah distro Linux live-cd yang dapat dijalankan
melalui CD-ROM tanpa instalasi di hard disk. Distro ini berbasis Debian Linux
dan diciptakan oleh Klaus Knopper. Knoppix memiliki ragam aplikasi yang cukup
lengkap dan dapat dipergunakan sebagai demo atau sarana belajar Linux bagi yang
belum mempunyai ruang pada hard disknya. Knoppix juga dapat dipergunakan
sebagai CD rescue. Kelemahan dari Knoppix adalah diperlukannya memori yang
besar untuk menggunakan modus grafisnya yaitu 96 MB walaupun bisa juga dijalankan
pada memori 64 MB dengan swap pada hard disk.
7. Ubuntu Linux
Ubuntu adalah salah satu distribusi Linux yang berbasiskan
pada Debian. Proyek Ubuntu disponsori oleh Canonical Ltd (perusahaan milik Mark
Shuttleworth). Nama Ubuntu diambil dari nama sebuah konsep ideologi di Afrika
Selatan. "Ubuntu" berasal dari bahasa kuno Afrika, yang berarti
"rasa perikemanusian terhadap sesama manusia". Versi terbaru adalah
8.10, dengan beberapa kelebihan yaitu : Settingan Network Manager lebih mudah,
dapat membuat Startup Disk di USB Flashdisk, Unmount media lebih mudah, versi
desktop Gnome 2.24.1.
8. Fedora
Fedora (sebelumnya bernama Fedora Core, terkadang disebut
juga dengan Fedora Linux) adalah sebuah distro Linux berbasis RPM dan yum yang
dikembangkan oleh Fedora Project yang didukung oleh komunitas pemrogram serta
disponsori oleh Red Hat. Versi terbarunya adalah Fedora 10, yg memiliki
beberapa kelebihan yaitu : desktop GNOME 2.24.1, KDE 4.1.2, OpenOffice 3.0,
Firefox 3.0.4, Linux 2.6.27.5, X.org-X-Server 1.5.3, Glibc 2.9 dan RPM 4.6.
Banyak fitur baru seperti versi 'Glitch-Free' untuk PulseAudio, sistem Security,
Audit dan Intrusion-Detection Sectool, PackageKit-Framework, software
konfigurasi printer dengan fitur baru dan dukungan untuk
Adhoc-Network/Connection Sharing melengkapi NetworkManager, menjadikan
Cambridge sebagai salah satu distro dengan fitur terdepan yang dipastikan akan
diikuti distro-distro lainnya.
9. Free BSD
FreeBSD adalah sebuah sistim operasi komputer berbasiskan
4.4BSD-Lite2, sebuah versi dari UNIX yang dikembangkan oleh University of
California di Berkeley. Sebuah bagian penting dalam sistim operasi FreeBSD
adalah koleksi Ports, yang saat ini memiliki jumlah 8.633 buah dari aplikasi
UNIX yang populer digunakan. Koleksi ports memberikan otomatisasi proses
porting aplikasi untuk digunakan pada sistim FreeBSD. FreeBSD memiliki stabilitas
tinggi sistem operasi, open source dan mendukung penuh teknologi networking
TCP/IP.
10. CentOS
CentOS adalah sistem operasi bebas yang didasarkan pada Red
Hat Enterprise Linux (RHEL). Proyek ini berusaha untuk 100% binari kompatibel
dengan produk hulunya (RHEL). Arsip perangkat lunak tambahan menyediakan versi
terbaru paket-paketnya, berbasis paket RPM. CentOS singkatan dari Community
ENTerprise Operating System (Sistem Operasi Perusahaan buatan
Komunitas/Masyarakat). Salah satu kekurangan CentOS adalah sedikitnya sistem
file yang didukung oleh kernelnya, antara lain CentOS tidak bisa membaca
ReiserFS dan NTFS.
11. Turbo Linux
TurboLinux menargetkan pada produk berbasis Linux dengan
kinerja tinggi untuk pasar workstation dan server terutama untuk penggunaan
clustering dan orientasinya ke perusahaan. Beberapa produk-produknya:
TurboLinux Workstation untuk dekstopnya, TurboLinux Server untuk backend server
dengan kinerja tinggi terutama untuk penggunaan bisnis di perusahaan,
e-commerce dan transaksi B2B (Business-to-Business).Salah satu produknya
TurboCluster Server ditargetkan untuk pembuatan server cluster yang berskala
luas dan dapat digunakan 25 cluster node atau lebih. Salah satu aplikasinya
yang berbasis pada konsep sederhana dan powerful yang dinamakan ' parametric
execution'. enFuzion akan merubah jaringan komputer perusahaan menjadi super
computer dengan kecepatan tinggi dan ' fault tolerant'. Pengguna produk dan
layanan TurboLinux terbanyak adalah perusahaan dan perorangan di Jepang dan Asia.
12. Linux Mint
Linux Mint adalah sistem operasi berbasis Linux untuk PC.
Inti dari LinuxMint adalah Ubuntu, sehingga aplikasi yang dapat berjalan di
Ubuntu, juga bisa berjalan pada LinuxMint. LinuxMint dilengkapi dengan
pencarian dan aplikasi favorit. LinuxMint sudah terintegrasi dengan codec
multimedia yang umum digunakan dan terintegrasi Java Runtime. Distro ini
memiliki kelebihan dalam tampilan desktop yang simple dan management yang
sangat mudah untuk dipelajari PCLinuxOS
Distro linux ini di desain untuk memudahkan pengguna linux
pemula untuk menginstalnya. Di dalam packagenya di isi dengan aplikasi -
aplikasi yang banyak di gunakan seperti Open Office (aplikasi perkantoran),
Amarok ( buat muter lagu-lagu MP3), MPlayer untuk memutar video, Gimp
(Photoshop versi Linux) buat desain grafis, juga game (untuk base install belum
ada, tapi kita bisa instal via synaptic). adalah kemampuannya mengenali
hardware. Baik soundcard, VGA, dan TV Tuner saya . Jadi, setelah install kita
nggak perlu cari-cari drivernya, kecuali kalau ingin mengaktifkan fasilitas 3D
nya.
13. Sabayon Linux
Sabayon linux adalah live DVD berbasis Gentoo Linux.
Walaupun di release dalam live DVD namun tetap dapat di install ke dalam
harddisk. Berasal dari Trentino, Italia dan dinamakan mengikuti sebuah hidangan
penutup Italia yang disebut Sabayon. Sabayon dibuat dari telur kuning, gula dan
alkohol manis.Dari segi tampilan, Sabayon memiliki ciri khas tersendiri, dengan
warna merah hitam dan logo tapak kaki ayam. Namun kebanyakan themes dan
wallpapernya masih bawaan KDE yang bisa dikustomisasi, dan dengan setting
Compiz/Beryl yang mudah diaktifkan.
14. Damn Small Linux
(DSL)
Damn Small Linux seperti namanya merupakan linux yang
berukuran ringan, hanya 50MB sehingga dapat diinstall dikomputer yang sudah tua
atau bahkan dijalankan melalui USB. Dikatakan ringan karena aplikasi - aplikasi
yang diusungnya adalah program - program kecil namun powerfull. Sebagian besar
adalah aplikasi berbasis GTK. Selain bisa berfungsi untuk pemakaian desktop,
DSL juga bisa berfungsi sebagai server kecil karena telah dilengkapi aplikasi
semacam http server, ssh server dan ftp server. Distribusi ini juga bisa
diinstall pada harddisk atau Flashdisk. Proses instalasinya tidak perlu manual,
karena scriptnya telah disediakan dalam distribusi ini.
15. Linspire
Linspire,
dahulunya LindowsOS, adalah sistem operasi komersial (tidak gratis) berbasis
Debian dan kemudian Ubuntu[1] . Linspire diterbitkan oleh Linspire, Inc.
Linspire membundel piranti lunak, driver dan codecs proprietary yang tidak
memiliki alternatif handal di pihak Open Source. Termasuk yang dicontohkan
adalah yang terkait dengan MP3, Real, Java, Flash, ATI, nVidia, WiFi, dan
banyak lain. Linspire 6.0 disebut sebagai Linux pertama yang mengandung
teknologi Microsoft seperti Windows Media, True Type Fonts, dan juga penerjemah
Open XML sehingga OpenOffice bisa membuka dan menyunting format Microsoft Word
.docx alias Office Open XML (OOXML).16.
Freespire
Freespire merupakan edisi asal Linspire yang dikembangkan
bersama komunitas dan di sponsori oleh Linspire. FreeSpire adalah Linux yang
mengandung baik komponen open source maupun free software lainnya (community
driven, freely distributed, open source code, etc.), tapi memberi peluang
kepada pengguna untuk menambahkan pilihan software seperti proprietary codecs,
drivers dan aplikasi yang dibutuhkan.. Setelah sempat berbasis Ubuntu,
freespire kembali ke basis Debian. Tapi tetap "sharing repository"
dgn ubuntu.
17. Zencafe
Zencafe GNU/Linux atau singkatnya Zencafe, adalah salah satu
anggota keluarga distro Zenwalk. Zencafe dikembangkan di Indonesia didisain
khusus untuk kebutuhan WarNet (Warung Internet) dan telah menjadi pelopor
distro Internet Cafe berkiprah Internasional. Zencafe dipoles sedemikian rupa
agar mudah digunakan, meskipun untuk pemakai yang tidak memiliki pengetahuan
teknis. Termasuk didalamnya autorecovery dan internet cafe management software
/ billing system.
18. Trustix Merdeka
Trustix Merdeka, merupakan sebuah distribusi Linux untuk
desktop dengan mengambil basis Trustix Secure Linux. Dengan penekanan pada
security, paket-paket aplikasi yang disertakan di dalam Trustix Merdeka
merupakan paket pilihan, dengan auditing yang cukup ketat untuk setiap sumber
yang disertakan. Distribusi Made in Indonesia ini bertujuan lebih dari sekedar
distro Linux saja. Ditargetkan menjadi jalur komunikasi masyarakat Linux dan
IT. Bahasa Indonesia yang digunakan dapat dikatakan sebagai faktor pemersatu.
TM berisi kumpulan artikel tentang Linux, dan membuka siapapun yang ingin
berkontribusi. Tiap programmer di Indonesia dapat menyertakan program
buatannya, dan didistribusikan secara masal bersama TM.
19. BlankOn
BlankOn Linux adalah distro Linux yang dikembangkan oleh
Yayasan Penggerak Linux Indonesia (YPLI) dan Komunitas Ubuntu Indonesia demi
menghasilkan distro Linux yang sesuai dengan kebutuhan pengguna komputer umum
di Indonesia. Dengan menghadirkan filosofi, kemudahan, dan kehandalan yang
ditawarkan Ubuntu Linux sebagai distribusi aslinya, BlankOn Linux dikembangkan
secara terbuka dan bersama-sama untuk menghasilkan distro Linux khas Indonesia,
khususnya untuk dunia pendidikan, perkantoran dan pemerintahan.
KEKURANGAN LINUX
- Sistem operasi Linux sulit untuk dipelajari, terutama
yang belum mempunyai kemampuan komputer sama sekali
- Belum banyak aplikasi yang mendukung Linux
- Tampilan dari sistem operasi ini kurang menarik
- Tidak banyak dukungan dari hardware-hardware tertentu
KELEBIHAN LINUX
- Linux bisa berinteraksi dengan sistem operasi lainnya.
- Lebih aman dari serangan virus
- sistem keamanan yang lebih baik dibandingkan windows
- Adanya virtual memori / SWAP yang membuat linux
mempunyai kemampuan untuk menjalankan program yang besar.
- Stabilitas, linux lebih stabil dibandingkan dengan
windows.
- Banyak dukungan dari komunitas
Referensi
(Tugas 1) Pengertian dan Sejarah Sistem Operasi
(Tugas 3) Data Transfer With A DMA Controller
Pengertian DMA (Direct Memory Access) DMA (Direct Memory Access) adalah suatu hardware spesial (chip) yang dapat mengontrol aliran bit da...