Jumat, 26 Juni 2015

Tutorial Pembuatan USB 2 Relay

Alat dan Bahan:
               1.            Relay 5 Volt
               2.            Port UBS tipe B
               3.            Dioda Zener 3,9  dan Dioda Zener 4148
               4.            Resistor 4K7 W, 1K5 W, 220 W, 820 W, dan 4,7 W
               5.            Transistor S9013
               6.            Kristal 12000
               7.            Elco 220mF
               8.            Kapasitor kertas 22pF dan Kapasitor kertas 104
               9.            Led
           10.            IC AT Tiny 2313
           11.            Socket IC
           12.            Kapasitor keramik104J/400V
           13.            Terminal blok 3 pin
           14.            Papan PCB polos
Langkah – langkah pembuatan alat
                       1.     Buat rangkaian skematik USB 2 – Relay seperti gambar dibawah ini
C:\Users\User\Pictures\skematik-neo-usb-2r3io.png
  1. Setelah buat rangkaian skematiknya menggunakan Circuit Wizard, lalu buat pula layuot PCB nya. Berikut adalah gambar layout PCB nya
C:\Users\User\Pictures\2rel.png
  1. Setelah itu, print layout PCB nya kemudian fotocopy menggunakan kertas kalender atau kertas foto.
  2. Setrika layout yang telah difotocopy tersebut diatas papan PCB sampai rangkaiannya rekat, lalu rendam PCB tersebut didalam air dan diamkan sebentar lalu tarik bagian kertas secara perlahan.
  3. Amplas PCB yang telah menempel rangkaiannya untuk membersihkan PCB tersebut.
  4. Setelah bersih, bor PCB untuk memasang kaki – kaki komponen.
  5. Pasang semua komponen seperti gambar dibawah ini, kemudian solder semua kaki komponennya.

Cara Pemasangan Lampu
  1. Siapkan 2 buah lampu 5 watt dan kabel secukupnya
  2. Pasang terlebih dahulu steker pada kabel
  3. Buat cabang pada masing-masing kabel steker tadi
  4. Cabang pertama pasang pada terminal block NO (Normally Open)
  5. Buat kabel lagi pada masing-masing lampu, lalu hubungkan pada lampu tersebut
  6. Hubungkan salah satu kabel lampu, lalu sambungkan menjadi satu.
  7. Hubungkan kabel lampu yang satunya ke cabang kedua tadi.
  8. Jangan lupa tembaga lampu dibalut dengan lakban agar aman.
Langkah – langkah memprogram / menjalankan relay
Modul USB-2REL (device) menggunakan V-USB, yakni open-source implementasi protokol USB kecepatan rendah untuk mikrokontroler AVR. Sedangkan pada komputer (host), program aplikasi pengontrolan modul USB-2REL dibuat menggunakan kompiler Delphi. Untuk berkomunikasi dengan modul USB-2REL, program aplikasi menggunakan library libusb-win32 yang juga open-source. Berikut contoh program menggunakan Delphi:
C:\Users\User\Pictures\1.PNG
C:\Users\User\Pictures\2.PNG
C:\Users\User\Pictures\3.PNG
  1. Instalasi Driver Ketika modul USB-2REL dihubungkan ke komputer melalui port USB, maka sistem operasi Windows akan mendeteksi adanya piranti USB yang hadir di port USB.
  2. Selanjutnya, Windows akan melakukan proses enumerasi dengan tujuan untuk mengenali piranti USB yang baru hadir tersebut. Jika piranti USB tersebut dikenali, maka Windows akan menjalankan driver yang sesuai dan piranti USB pun siap digunakan. Sesaat setelah modul USB-2REL terhubung ke port USB, maka mikrokontroler akan memperoleh suplai tegangan dan firmware di dalam memori program pun dijalankan. Firmware dalam mikrokontroler pun akan menjawab proses enumerasi yang dilakukan oleh Windows dengan menyetorkan ID-nya untuk dikenali oleh Windows.Catatan: Modul USB-2REL menggunakan firmware implementasi USB buatan OBDEV (V-USB) dan telah banyak diimplementasikan oleh banyak perancang sistem mikrokontroler karena menyediakan ID yang gratis untuk digunakan. Oleh karenanya, jika port USB yang digunakan untuk modul USB-2REL pernah digunakan untuk modul USB lain seperti USBASP misalnya, maka filter libusb akan mengenali USB-2REL sebagai USBASP. Hal ini tidak menjadi masalah karena implementasi firmwarenya sama dan modul akan tetap beroperasi dengan baik sebagai driver relay. Akan tetapi jika Windows tidak mengenali ID dari USB-2REL sebagai piranti USB yang telah terinstalasi pada port USB, maka Windows akan menampilkan dialog instalasi driver seperti screenshot berikut ini.
https://telinks.files.wordpress.com/2013/03/telinks_usb2rel_found.jpg
  1. Modul USB-2REL dilengkapi dengan CD yang berisi installer Delphi, source code project program aplikasi USB-2REL, dan driver libusb untuk USB-2REL.
https://telinks.files.wordpress.com/2013/03/telinks_usb2rel_driver.jpg
  1. Setelah folder driver USB-2REL dipilih dan tekan OK serta Next >, maka proses instalasi driver pun dimulai.
https://telinks.files.wordpress.com/2013/03/telinks_usb2rel_installdriver.jpg
https://telinks.files.wordpress.com/2013/03/telinks_usb2rel_installed.jpg
Setelah instalasi driver selesai dan berhasil, maka USB-2REL kini siap digunakan. :)
Program Aplikasi USB-2REL.
Ketika program aplikasi USB-2REL dijalankan, sebelum form aplikasi ditampilkan, program melakukan inisialisasi dan mencoba berkomunikasi dengan driver USB-2REL yang telah aktif. Jika gagal maka program akan menampilkan pesan kesalahan bahwa modul USB-2REL tidak ditemukan dan program pun selesai.
Tapi jika program berhasil melakukan komunikasi dengan driver USB-2REL yang telah aktif, maka form aplikasi pun ditampilkan seperti gambar di bawah ini.
C:\Users\User\Pictures\4.PNG
Modul USB-2REL dapat diperintah atau diminta melakukan/mengerjakan fungsi tertentu sesuai dengan kode permintaan yang dikenalinya. Modul USB-2REL dapat diperintah untuk mengirimkan ID dari modul USB-2REL, yang dalam hal ini adalah data string “USB-2REL”. Pada program demo, Button Baca ID Modul akan mengirimkan permintaan tersebut kepada modul USB-2REL. Setelah ID Modul USB diterima, maka program akan menampilkannya pada editbox yang tersedia.
Modul USB-2REL juga dapat diperintah untuk mengaktifkan/mematikan RELAY-1 dan RELAY-2, baik secara individu (sendiri-sendiri) ataupun secara bersamaan. Button ON dan Button OFF pada Group RELAY-1 berfungsi untuk mengaktifkan dan mematikan RELAY-1. Sedangkan Button ON dan Button OFF pada Group RELAY-2 berfungsi untuk mengaktifkan dan mematikan RELAY-2. Button ALL RELAYS ON berfungsi untuk mengirimkan permintaan agar modul USB-2REL mengaktifkan kedua relay secara bersamaan. Dan Button ALL RELAYS OFF berfungsi untuk mengirimkan permintaan agar modul USB-2REL mematikan kedua relay secara bersamaan. Button EXIT, seperti nama yang diberikan kepadanya, berfungsi untuk keluar dari aplikasi.

Kamis, 07 Mei 2015

Algoritma Penjadwalan Processor Round Robin



Pada kesempatan kali ini kita akan membahas mengenai algoritma penjadwalan Round Robin pada sistem operasi.

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di ssistem operasi yang berkaitan dengan urutan kerja yang dilakkan sistem komputer. Penjadwalan bertugas memutuskan :
– Proses yang harus berjalan
– Kapan dan selama berapa lama proses itu berjalan.


Tipe-Tipe Penjadwalan
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :
1. Penjadwal jangka pendek (short-tem scheduller)
2. Penjadwal jangka menengah (medium-term scheduller)
3. Penjadwal jangka panjang (long-term scheduller)

Penjadwal Jangka Pendek
          Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Sasaran utama penjadwal ini memaksimalkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapakan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

Penjadwal Jangka Menengah
         Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan.

Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proseslain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebutswapping.

Penjadwal jangka menengah adalah menangani proses-proses swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya terunda hilang dan proses dimasukkan kembali ke memori utama dan ready. Penjadwal jangka menengah mengendalikan transisi dari suspended-ready (dari keadaan suspend ke ready) proses-proses swapping.

Penjadwal Jangka Panjang
              Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Sasaran utama penjadwal jangka pangjang adalah memberi keseimbangan job-job campuran. Dikaitkan dengan state-state proses.
 
Strategi Pendjadwalan
Terdapat dua strategi penjadwalan, yaitu:
1. Penjadwalan nonpreemptive (run – to – completion)
2. Penjadwalan preemptive

Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :
– Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
– Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar  dapat menjamin waktu tanggap yang memadai.


Penjadwalan preemptive bagus, tapi tidak tanpa ongkos. Perlaihan proses (yaitu proses beralih ke proses lain) memerlukan overhead (karena banyak tabel yang dikelola). Agar preemptive efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori merupakan suatu overhead tersendiri.

Algoritma Penjadwalan
Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive.
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya:
– FIFO (Frist In First Out)
– SJF (Shortest Job First)
– HRN (Highest Ratio Net)
– MFQ (Multiple Feedback Queues).
Algoritma-algoritma yang menerapkan strategi preemptive diantaranya:
– RR (Round Robin)
– SRF (Shortest remaining First)
– PS (Priority Schedulling)
– GS (Guaranteed Schedulle)

Penjadwalan Round Robin (RR)
Penjadwalan ini merupakan:
– Penjadwalan preemptive, buka dipreempt oleh proses lain tapi terutama oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt-by-time.
– Penjadwalan tanpa protes.

Semua Proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwata (quantum) atau time slice dimana proses itu berjalan.

Ketentuan
Ketentuan algoritma round robin adalah sebagai berikut:
1.Jika kwanta habis dan proses belum selesai maka proses menjadi runable dan pemroses dialihkan ke poses lain.
2.Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
3.Jika kwanta belum habis tapi proses telah selesai maka proses diakhiri dan pemroses dialihkan ke proses lain.

Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
– Mengelola senarai proses ready (runnable) seusai urutan kedatangan.
– Ambil proses yang berada diujung depan antrian menjadi running.
– Bila kwanta belum habis dan proses selesai maka ambil proses diujung depan antrian proses ready.
– Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses diujung depan antrian proses ready.

Masalah penjadwalan ini adalah menentukan besar kwanta, yaitu:
–  Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
– Kwanta terlalu kecil mengakibatkan peralihan proses terlalu banyak sehingga menurunkan efesiensi pemroses.

Harus ditetapkan kwanta waktu yang optimal berdasar kebutuhan sistem terutama dari hasil percobaan atau data historis. Besar kwanta waktu beragam bergantung beban sistem.

Berdasarkan kriteria penilaian penjadwalan:
– Fairness
Penjadwalan RR adil bila dipandang dari persamaan pelayanan oleh pemroses.
– Efesiensi
Penjadwalan RR cenderung efesien pada sistem interaktif.
– Waktu tanggap
Penjadwalan RR memuaskan untuk sistem interaktif, tidak memakai untuk sistem waktu nyata.
– Turn Arround Time
Penjadwalan RR cukup bagus.
– Throughput
Penjadwalan RR cukup bagus.

Penggunaan:
– Cocok untuk sistem interaktif-time sharing dimana kebanyakan waktu dipergunakan menunggu kejadian eksternal. Contoh ; text-editor, kebanyakan waktu program adalah menunggu keyboard, hingga dijalankan proses-proses lain.
– Tidak cocok untuk sistem real-time.
 




referensi : http://manajement-info.blogspot.com/2011/12/bab-v-sistem-operasi-penjadwalan-proses.html

Selasa, 21 April 2015

Pemrograman USB untuk mengendalikan lampu LED dengan VB

Pemrograman USB untuk mengendalikan lampu LED dengan VB

Jumat, 17 April 2015
Assalammualaikum… bagaimana kabar rekan2 semua? Semoga kesejahteraan selalu di limpahkan Tuhan kepada kita semua ^^ Nulis apa lagi ya sebagai pembukaannya ..hhmmm…ya udah langsung saja kalo gitu hehe
Pada kesempatan ini kita akan mencoba membuat program sederhana untuk mengendalikan (ON/OFF) lampu LED melalui port USB. Sebagai mana komputer/laptop sekarang banyak yang sudah menghilangkan port paralel dan port serialnya, sebagai gantinya terpasang beberapa port USB.
Lupakan dahulu tentang specifikasi, protokol dan driver USB, kita langsung saja semudah mungkin bisa menghidupkan dan mematikan lampu LED melalui port USB. Biasanya setelah praktek bisa menghidupkan LED akan lebih mudah untuk mempelajari lebih lanjut. Ini merupakan contoh yang sangat sederhana sehingga mudah untuk diterapkan bagi pemula sekalipun.
Untuk mengotrol LED melalui port USB kita membutuhkan konverter yang bisa menerjemahkan protokol serial USB menjadi logika high low seperti yang kita inginkan. Kita tidak bisa menggunakan port USB ini langsung berlogika high atau low seperti port paralel, kita membutuhkan konverter yang menerjemahkan protokol USB ke logika high-low.
Di internet di jual bermacam-macam konverter ini, misal konverter USB ke serial yang cukup terkenal dari FTDI. Untuk pemograman LED ini kita akan mengunakan USB I/O Converter dari http://www.satu-microelectronics.com yaitu USB HID IO Converter yang berupakan USB HID yang tidak memerlukan driver tersendiri, ini seperti Mouse dan Keyboard USB yang tinggal colok dan langsung bisa digunakan.
USB HID IO Converter merupakan konverter USB ke 8 bit IO, I2C, SPI dan ADC. USB konverter ini adalah USB kelas HID (Human Interface Device) sehingga tidak memerlukan instalasi driver USB baik di sistem operasi Windows XP maupun Windows 7. Sistem operasi tersebut sudah menyediakan drivernya yang tentunya memudahkan kita dalam menggunakannya. Sistem operasi lain seperti MAC, Android dan LINUX pun juga sudah menyediakan driver untuk USB kelas HID sehingga USB HID IO Converterini juga bisa di gunakan pada sistim operasi tersebut.
Berikut penampakannya;
USB HID IO Converter
USB HID IO ConverterUSB ini bisa kita dapatkan di :  http://www.satu-microelectronics.com/?p=22
Dan berikut fungsi2 yang didukungnya;

Berikut adalah tool dan alat yang harus kita persiapkan untuk praktek ini;
  1. Komputer/Laptop yang ada port USB nya.
  2. Visual Basic NET (pada contoh ini digunakan Visual basic Express Ediotion 2005 dengan OS Windows 7)
  3. USB HID IO Converter
  4. Lampu LED , resistor 1K Ohm (jika tidak ada maka bisa dilangsungkan saja)  dan kabel untuk menyambungkan kaki LED ke terminal USB HID IO Converter.
Langkah-langkah pemograman:
1.  Sambungkan LED ke kaki2 USB HID IO Converter seperti gambar berikut;

Setelah  rangkaian LED telah dibuat, maka sekarang adalah pembuatan program yang  digunakan untuk mengontrol LED tersebut. File source code-nya dapat di download disini : http://www.satu-microelectronics.com/attach_file/VB.NET%20LED%20Driver.zip
  1. Buka VB. Pada menu File, klik perintah New Project, lalu klik OK untuk membuat sebuah file executable standar. Simpanlah project dengan nama LED_Driver.
  2. Klik kontrol Label untuk membuat sebuah label yaitu untuk  Label1yang akan kita gunakan untuk menampilkan pesan.
  3. Buat delapan buah kotak check box. Lihat gambar diatas untuk lokasi penempatan objek. Kotak  -kotak check box tersebut  nantinya akan menjadi status dari LED yang akan kita kontrol.
  4. Ubah property danukuran form agar seukuran kotak dialog sedang, seperti Gambar dibawah;

5.  Klik menu  ProjectAdd Referencedan tambahkan  HID_IOConverter_NET.dllseperti gambar dibawah. (Copykan file   HID_IOConverter_NET.dll pada folder  project terlebih dahulu)

6.  Buka ViewCode dan tambahkan code jika ada yang kurang sebagai berikut;
Option Explicit On
Imports Microsoft.Win32.SafeHandles
Imports System.Runtime.InteropServices
Imports HID_IOConverter_NET
7. Tambahkan object class HID_IOConverter_Function dan tambahkan code untuk event Form1_Load  berikut;
   Dim iHandle As SafeFileHandle
   Dim HIDi As New HID_IOConverter_NET.HID_IOConverter_Function
    Dim Returns As Long 
    Private Sub Form1_Load(ByVal sender As System.Object,   ByVal e As System.EventArgs) Handles MyBase.Load
         iHandle = HIDi.Hid_OpenDevice
        If Not iHandle.IsInvalid Then
            Returns = HIDi.GPIO_DDR_Out(iHandle, &HFF)
            Returns = HIDi.GPIO_Port_Out(iHandle, &H0)
        Else
            Label1.Text = “USB HIDClass<->IOConverter tidak terkoneksi… ” _
                        & “Koneksikan USB HIDClass<->IOConverter trlebih dahulu,” _
                        & “kemudian buka kembali program ini….”
        End If
End Sub
Berikut print screen-nya;
menambahkan objec hid

menambahkan objec hid-2
Prosedur ini akan berjalan pertama kali ketika program dijalankan. Program akan mencoba mencari USB HIDClass<->IOConverter melalui fungsi Hid_OpenDevice dan handle dari USB ini akan kita simpan pada iHandle, jika berhasil maka akan di kirim perintah GPIO_DDR_Out(iHandle, &HFF) ke USB HIDClass<->IOConverter untuk memnuat 8 bit port IO-nya sebagai output semua, kemudian  mengirim perintah GPIO_Port_Out(iHandle, 0) yang akan membuat ouput GPIO berlogika low (LED mati semua) saat awal program.
Jika USB HIDClass<->IOConverter tidak ditemukan maka akan di tampilan pesan pada Label1 bahwa USB HIDClass<->IOConverter tidak terkoneksi.
8.  Ketikkan kode program berikut ini pada even CheckBox1_CheckedChanged sampai CheckBox8_CheckedChanged
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked Then
            HIDi.Set_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
        Else
            HIDi.Clear_Bit(iHandle, HID_IOConverter_Function.GPIO_Port0)
        End If
        End Sub 
Setiap kali terjadi peng-klik-an pada CheckBox1 maka  LED pada port IO USB HIDClass<->IOConverter akan ON dan OFF.
9. Selesai sudah pembuatan program LED Driver. :)
Menjalankan Program USB HID – LED Driver
Sekarang kita siap menjalankan program LED Driver. Tancapkan USB HIDClass<->IOConverter pada komputer, kemudian klik tombol Start pada Toolbar, maka jika tidak ada kesalahan akan muncul seperti Gambar berikut;
menjalankan-1Pada awal program, LED akan OFF semua. Peng-klik-an pada CheckBox LED0 – LED7 akan menyalakan LED, peng-klik-an selanjutnya akan mematikan kembali  LED.
Berikut penampakan alatnya;
menjalankan-2

Minggu, 19 April 2015

Sistem Operasi

SISTEM OPERASI

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