Senin, 20 November 2017

Sistem Kendali Waktu Nyata

Sistem Kendali Waktu Nyata


Definisi Sistem Operasi Waktu Nyata

Menurut definisi Kamus komputer Oxford: Setiap sistem yang waktu terjadinya output sangat signifikan. Jarak antara waktu input terhadapat waktu terjadinya output harus sangat kecil terhadap waktu yang diperbolehkan. Menurut Cooling pada buku Software Design for Real Time Systems (1991): Sistem Waktu Nyata adalah sistem yang harus memprodukis respon yang tepat dalam suatu batasan waktu yang tentu. Komputer yang responnya melebihi batasan waktu ini akan memberikan performansi yang terdegradasi atau malfunction Sebuah sistem waktu nyata membaca input dari plant dan mengirim sinyal kontrol ke plant pada waktu¬waktu yang ditentukan oleh pertimbangan operasional dari plant bukan oleh system computer. Menurut Bennet: Sebuah program yang ketepatan operasinya tergantung pada hasil logika komputasi dan waktu suatu hasil diproduksi. Klasifikasi Sistem Waktu Nyata Suatu ciri sistem waktu nyata adalah komputer yang terhubung dengan lingkungan melalui peralatan interfacing yang banyak dan komputer menerima dan mengirim bervariasi sinyal.
Contoh Sistem Waktu Nyata:
• Proses pengambilan uang pada ATM
• Proses login atau pendaftaran online
• Proses pengenalan sidik jari pada absensi

1. Hard Real Time
Sistem Waktu Nyata yang harus memenuhi target waktu pada setiap kesempatan dan Sistem hard real¬time dibutuhkan untuk menyelesaikan critical task dengan jaminan waktu tertentu. Jika kebutuhan waktu tidak terpenuhi, maka aplikasi akan gagal. Dalam definisi lain disebutkan bahwa kontrol sistem hard real¬time dapat mentoleransi keterlambatan tidak lebih dari 100 mikro detik. Secara umum, sebuah proses di kirim dengan sebuah pernyataan jumlah waktu dimana dibutuhkan untuk menyelesaikan atau menjalankan I/O. Kemudian penjadual dapat menjamin proses untuk selesai atau menolak permintaan karena tidak mungkin dilakukan.

2. Soft Real¬Time
Sistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai dan adapun pengertian lain dari soft realtime. Soft real time adalah Komputasisoft real-time memilikisedikit kelonggaran. Dalam sistem ini, proses yang kritis menerima prioritas lebih daripada yang lain. Walaupun menambah fungsi soft real¬time ke sistem time sharing mungkin akan mengakibatkan ketidakadilan pembagian sumber daya dan mengakibatkan delay yang lebih lama, atau mungkin menyebabkan starvation, hasilnya adalah tujuan secara umum sistem yang dapat mendukung multimedia, grafik berkecepatan tinggi, dan variasi tugas yang tidak dapat diterima di lingkungan yang tidak mendukung komputasi soft real¬time ketepatan yang diambil dari nilai rata¬rata. Contoh : penerapan sistem ini dalam kehidupan sehari¬hari adalah padaalat penjual/pelayan otomatis.

Karakteristik dari Sistem Waktu Nyata

1.Single purpose.

 Tidak seperti PC, yang memiliki banyak kegunaan, sebuah sistem waktu nyata biasanya hanya memiliki   satu tujuan, seperti mentransfer sebuah lagu dari komputer ke mp3 player.

 2. Small size.
 Kebanyakan sistem waktu nyata banyak yang ada memiliki physical space yang terbatas.

3. Inexpensively mass-produced.

Sistem operasi waktu nyata memenuhi persyaratan waktu yang ditentukan dengan menggunakan algoritma penjadwalan yang memberikan prioritas kepada proses waktu nyata yang memiiki penjadwalan prioritas tertinggi. Selanjutnya, penjadwals harus menjamin bahwa prioritas dari proses waktu nyata tidak lebih dari batas waktu yang ditentukan. Kedua, teknik untuk persyaratan waktu penagmalatan adalah dengan meminimalkan response time dari sebuah events seperti interupsi.
Pada aplikasi Real-Time, selain deadline, ada hal lain yanga harus dipertimbangkan yaitu masalah liveline. Liveline hampir sama dengan Deadline, yang membedakannya adalah Deadline merupakan batasan response time yang paling akhir dan biasanya tidak boleh terlanggar. Sedangkan Liveline merupakan batasan waktu yang paling awal (startline). Pada beberapa kasus, liveline dianggap sesuatu yang krusial atau penting. Waktu liveline biasanya adalah setelah release time, tapi kadang-kadang ada juga yang hampir sama dengan release time. Sama halnya dengan deadline, Liveline juga memiliki beberapa jenis, yaitu hard liveline, soft liveline dan ada juga liveline yang sama dengan release time. 

Jumat, 14 Juli 2017

Bahasa Rakitan

STACK

STACK adalah suatu area di memori yang menyimpan data sementara. Stack digunakan dengan instruksi CALL untuk menyimpan  alamat  yang  dikembalikan  pada  prosedur,instruksi   RET   mengambil  nilai ini dari stack dan mengembalikannya ke offset. Stack menggunakan algoritma
LIFO (Last In First Out) artinya jika kita push nilai satu per satu kedalam stack : 1,2,3,4,5nilai pertama yang dapat kita pop adalah 5, lalu 4,3,2, dan terakhir 1.


Apa Itu Stack?
Bila kita terjemahkan secara bebas, stack artinya adalah 'tumpukan'. Stack adalah bagian memory yang digunakan untuk menyimpan nilai dari suatu register untuk sementara.
Operasi- operasi pada assembler yang langsung menggunakan stack misalnya pada perintah PUSH, POP, PUSF dan POPF. Pada program COM yang hanya terdiri atas satu segment, dimanakah letak dari memory yang digunakan untuk stack ?. Seperti pasangan CS:IP yang menunjukkan lokasi dari perintah selanjutnya yang akan dieksekusi, pada stack digunakan pasangan SS:SP untuk menunjukkan lokasi dari stack.

Membuat  sistem operasi sendiri

Biasanya, saat komputer dihidupkan akan mencoba me-load 512-byte sector pertama (Cylinder 0, Head 0, Sector 1) dari disk drive, misal A: ke lokasi memori 0000h:7C00h dan memberikan kontrolnya. Jika gagal BIOS mencoba menggunakan MBR dari hard drive primer. Dalam bagian ini akan mencoba mengcover booting dari sebuah floppy drive, dengan prinsip yang sama 
Dapat juga dilakukan di harddisk. Menggunakan floppy memiliki beberapa keuntungan:
- OS kita tetap utuh(windows, dos, linux, unix, be-os...)
- Mudah dan aman memodifikasi boot record pada floppy
disk. msg DB 'Helo ini boot program saya yang pertama ' DB new_lne, 'Tekan sembarang tombol utk reboot',0 .




Kamis, 16 Maret 2017

PENGERTIAN BAHASA ASSEMBLY

Bahasa pemrograman generasi kedua adalah bahasa assembly. Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa pemrograman komputer tingkat rendah. Bahasa assembly merupakan notasi untuk bahasa mesin yang dapat dibaca oleh manusia dan berbeda-beda tergantung dari arsitektur komputer yang digunakan.
Berbeda dengan bahasa pemrograman tingkat tinggi, bahasa assembly atau rakitan biasanya memiliki hubungan 1-1 dengan instruksi bahasa mesin. Misalnya, tiap julukan (mnemonic) yang ditulis di program dengan bahasa rakitan akan diterjemahkan menjadi tepat satu kode operasi yang dapat dimengerti langsung oleh komputer. Pada bahasa tingkat tinggi, satu perintah dapat diterjemahkan menjadi beberapa kode operasi dalam bahasa mesin. Proses pengubahan bahasa rakitan ke bahasa mesin dilakukan oleh assembler, dan proses balikannya dilakukan oleh disassembler.
Setiap arsitektur komputer memiliki bahasa mesin yang berbeda-beda sehingga bahasa rakitannya pun berbeda-beda.(dna)
Pemrograman AT89S51 bahasa Assembly  Bahasa Assembly adalah bahasa pemrograman tingkat rendah. Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language). 
Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program. 
Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi 

            Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi
2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak
3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis

BAHASA ASSEMBLY MCS-51 
Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program yaitu:
1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi
assembler/compiler untuk menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler)