cara mengkonversikan bilangan biner ke ascii
Bilangan Biner adalah sistem bilangan yang menggunakan suatu bilangan dasar atau basis (Radix) tertentu. Untuk bilangan biner menggunakan basis 2, menggunakan 2 macam simbol bilangan berbentuk 2 digit angka yaitu angka 0 dan 1.
Untuk mengkorversi Bilangan Biner kedalam bentuk teks maka yang harus kita lakukan adalah :
1. RUBAH BILANGAN BINER KE DESIMAL
Pertama-tama yang kita lakukan adalah mengubah bilangan biner yang hanya terdi dari angka 0 dan 1 tersebut kedalam bilangan desimal. Kemudian baru kita terjemahkan bilangan decimal terseebut dalam bentuk teks agar dapat kita baca.
SISTEM BINER:
Di sini adalah satu contoh sederhana dari bilangan biner:1 0 1 0 1 0 1
Untuk mengubah bilangan biner tersebut kedalam angka, maka yang perlu kita lakukan adalah mengalikan setiap bilangan tersebut dengan bilangan 2 berpangkat, jadinya seperti berikut :
1 0 1 0 1 0 1 = (1x64)+(0x32)+(1x16)+(0x8)+(1x4)+(0x2)+(1x1)
1 0 1 0 1 0 1 = 64 + 0 + 16 + 0 + 4 + 0 + 1
1 0 1 0 1 0 1 = 85
*Untuk memberi pangkat pada Bilangan 2, lakukan dengan dengan cara berurutan dan diakhiri dengan pangkat 0Sekarang sebagai latihan cobalah ubah beberapa bilangan biner yang sobat buat sendiri kedalam bilangan disimal.
2. CARA MERUBAH BILANGAN BINER KE CODE ASCII
Untuk mempermudah mengubah bilangan biner yang telah kita ubah menjadi bilangan decimal tadi ke dalam bentuk teks, maka kita harus memperhatikan KODE ASCII.
Misalnya kita ambil contoh bilangan biner berikut :
0101011101010101010100110011001000110100
Untuk langkah pertama yang harus kita lakukan adalah kita pisahkan dulu bilangan biner di atas menjadi 8 digit seperti berikut :
01010111 01010101 01010011 00110010 00110100
Sekarang, kita ubah bilangan biner tersebut per 8 digit dengan cara menghitungnya seperti yang telah dijelaskan diatas.
Delapan Digit ke-1 :01010111 = (0x128) + ( 1x64) + (0x32) + (1x16) + (0x8) + (1x4) + (1x2) + (1x1)01010111 = 0 + 64 + 0 + 16 + 0 + 4 + 2 + 1
01010111 = 87
Delapan Digit ke-2 :01010101 = (0x128) + ( 1x64) + (0x32) + (1x16) + (0x8) + (1x4) + (0x2) + (1x1)01010101 = 0 + 64 + 0 + 16 + 0 + 4 + 0 + 101010101 = 85
Delapan Digit ke-3 :01010011 = (0x128) + ( 1x64) + (0x32) + (1x16) + (0x8) + (0x4) + (1x2) + (1x1)01010011 = 0 + 64 + 0 + 16 + 0 + 0 + 2 + 101010011 = 83
Delapan Digit ke-4 :00110010 = (0x128) + ( 0x64) + (1x32) + (1x16) + (0x8) + (0x4) + (1x2) + (0x1)00110010 = 0 + 0 + 32 + 16 + 0 + 0 + 2 + 000110010 = 50
Delapan Digit ke-5 :00110100 = (0x128) + ( 0x64) + (1x32) + (1x16) + (0x8) + (1x4) + (0x2) + (0x1)00110100 = 0 + 0 + 32 + 16 + 0 + 4 + 0 + 000110100 = 52
Jadi, hasil konversi Biner ke Decimal adalah :01010111 = 8701010101 = 8501010011 = 8300110010 = 5000110100 = 52
Untuk mengetahui karakter apa yg di hasilkan dari bilangan biner diatas, maka kita harus melihat table kode ASCII.
01010111 = 87 = W01010101 = 85 = U01010011 = 83 = S00110010 = 50 = 200110100 = 52 = 4
Jadi, Hasil dari kode biner 01010111 01010101 01010011 00110010 00110100 adalah :
WUS24
Resume Pertemuan ke-4
Komponen Sistim Operasi
-Manejmen Proses
1.FIFO
2.LIFO
3.SJF
4.First In By Priority Out
-Manejmen Memory Primer
-Manejmen File
-Manejmen Keamanan.
Komponen Sistem Operasi
Manajemen Proses
Manajemen proses adalah rangkaian aktivitas perencanaan dan pengawasankinerja suatu proses, terutama proses bisnis. Manajemen proses mengaplikasikan pengetahuan, ketrampilan, peralatan, teknik, serta sistem untuk mendefinisikan, memvisualisasikan, mengukur, mengontrol, melaporkan, dan memperbaiki proses dengan tujuan untuk meningkatkan keuntungan atau laba. ISO 9001mempromosikan pendekatan proses untuk mengelola suatu organisasi.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
Membuat dan menghapus proses pengguna dan sistem proses.Menunda atau melanjutkan proses.Menyediakan mekanisme untuk sinkronisasi proses.Menyediakan mekanisme untuk komunikasi proses.Menyediakan mekanisme untuk penanganan deadlock
2. Manajemen Memori Utama
Sistem operasi memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program yang akan berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari manajemen memori utama adalah agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori.
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi/data yang akses datanya digunakan oleh CPU dan perangkat M/K. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile (sementara), yaitu data akan hilang kalau komputer dimatikan.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti:
Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
Memilih program yang akan di-load ke memori.
3. Manajemen Sistem Masukan/Keluaran
Sistem ini sering disebut dengan device manager. Menyediakan device driver yang umum sehingga operasi Masukan/Keluaran dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
Penyangga: menampung sementara data dari/ke perangkat Masukan/Keluaran.
Spooling: melakukan penjadwalan pemakaian Masukan/Keluaran sistem supaya lebih efisien (antrian dsb.).
Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras Masukan/Keluaran tertentu.
4. Manajemen Penyimpanan Sekunder
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk menyimpan keseluruhan data dan program komputer dibutuhkan penyimpanan sekunder yang bersifat permanen dan mampu menampung banyak data, sebagai back-up dari memori utama. Contoh dari penyimpanan sekunder adalah hard-disk, disket, dll. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen disk seperti:
free space management.alokasi penyimpanan.penjadwalan disk.
5. Manajemen Sistem Berkas
File atau berkas adalah representasi program dan data yang berupa kumpulan informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem berkas ini sangatlah penting, karena informasi atau data yang disimpan dalam berkas adalah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan operasi-operasi pada berkas, seperti membuka, membaca, menulis, dan menyimpan berkas tersebut pada sarana penyimpanan sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi berkas dengan baik.
Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan manajemen berkas:
Pembuatan dan penghapusan berkas.
Pembuatan dan penghapusan direktori.
Mendukung manipulasi berkas dan direktori.
Memetakan berkas ke secondary-storage.
Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
Tugas S.O
pengertian kernel dan beberapa macam variannya
kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.
Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin ‘telanjang’ komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.
Kernel monolitik
Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
Kernel sistem operasi GNU/Linux, Linux.
Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
Mikrokernel
Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
Beberapa sistem operasi yang menggunakan microkernel:
IBM AIX, sebuah versi UNIX dari IBM
Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X
Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA Phone.
Kernel hibrida
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.
Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan berbasis IBM PC dan kompatibelnya.
Microsoft Windows NT (dan semua keturunannya).
Exokernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.
Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.