Jumat, 08 Juni 2012

Alamat Hardware Port I/O

        Port merupakan colokan yang terpasang di bagian belakang case yang berfungsi sebagai penghubung antara komponen di dalam unit system dengan piranti diluar, sebagai contoh, port untuk menghubungkan camera digital, monitor, mouse dsb.
Port dikelompokkan menjadi beberapa bagian yaitu ; Port Serial, Port Parallel, Port USB, port SCSI, Port 
Infra merah serta port-port yang lain.

  a. Port Serial
Biasa digunakan untuk melakukan tranmisi data yang beroreintasi pada pengiriman sebuah bit per waktu, kareana sifatnya demikian pegiriman data berjalan agak lambat, biasanya digunakan untuk mengoneksi piranti seperti : printer, mouse, modem, PLC (programmable Logic controller), pembaca kartu maknetik dan pembaca barcode. Port ini sering dinyatakan dengan nama COM. Konektor yang digunakan adalah RS-232C dengan 9 pin atau 25 pin

  b. Port Parallel
Port Parallel atau sering disebut port LPT bekerja atas dasar 8 bit perwaktu, cocok untuk pengiriman data dengan cepat, tetapi dengan kabel yang pendek (tidak lebih dari 15 kaki). Umumnya digunakan untuk printer parallel, hard disk eksternal dan zip drive. Konektor yang digunakan adalah DB-25 yang terdiri dari 25 pin

  c. Port USB
Port USB merupakan port yang akhir-akhir ini sangat populer digunakan, yang dapat digunakan untuk menghubungkan berbagai piranti seperti camera digital, printer, scanner, zip drive dan sebagainya, port ini mempunyai kecepatan tinggi bila dibandingkan dengan port serial maupun port paralel

  d. Port SCSI
Port SCSI adalah Small Compter System Interface yang merupakan jenis port yang memungkinkan koneksi antar piranti dalam bentuk sambung menyambung. Port mempunyai kecepatan tinggi, dengan kecepatan tranfernya 32 bit per waktu, biasa digunakan untuk menghubunkan hard drive, scanner, printer dan tape drive, konektor yang digunakan adalah DB-25 dan 50 pin Centronics SCSI.

  e. Port Infra Merah
Port ini digunakan untuk mendukung hubungan tanpa kabel, misalnya untuk menghubungkan mouse yang menggunakan infra merah sebagai media tranmisi, mengirim data dari ponsel, dan sebagainya

  f. Port-Port Lain
Banyak port lain yang tidak tergolong pada port-port diatas, misalnya port untuk monitor, port keyboard, port mouse, port speaker, port jaringan, port dll



Tabel - tabel alamat I/O

Tabel Alamat Port Paralel
Alamat
Penjelasan
3BCH - 3BFH
Digunakan untuk paralel port di kartu video,  tidak mendukung alamat ECP
378H - 37FH
Alamat untuk  LPT 1
278H - 27FH
Alamat untuk  LPT 2


Range Alamat port I/O
Devices
Panjang Alamat
(heksadesimal)
ukuran
RAM
0000 – 7FFF
32 KiB
ROM
8000 – 80FF
256 bytes
Keperluan I/O
9000 – 90FF
256 bytes
Sound Controller
A000 – A7FF
2 KiB
Video Controller
C000 – FFFF
16 KiB
ROM
0000 – 7FFF
32 KiB

Dan berikut yang termasuk dalam Port Non Fisik :

• Port 80, Web Server
Port ini biasanya digunakan untuk web server, jadi ketika user mengetikan alamat IP atau hostname di web broeser maka web browser akan melihat IP tsb pada port 80,

• Port 81, Web Server Alternatif
ketika port 80 diblok maka port 81 akan digunakan sebagai port altenatif hosting website

• Port 21, FTP Server
Ketika seseorang mengakses FTP server, maka ftp client secara default akan melakukan koneksi melalui port 21 dengan ftp server

• Port 22, SSH Secure Shell
Port ini digunakan untuk port SSH

• Port 23, Telnet
Jika anda menjalankan server telnet maka port ini digunakan client telnet untuk hubungan dengan server telnet

• Port 25, SMTP(Simple Mail Transport Protokol)
Ketika seseorang mengirim email ke server SMTP anda, maka port yg digunakan adalah port 25

• Port 2525 SMTP Alternate Server
Port 2525 adalah port alternatifi aktif dari TZO untuk menservice forwarding email. Port ini bukan standard port, namun dapat diguunakan apabila port smtp terkena blok.

• Port 110, POP Server
Jika anda menggunakan Mail server, user jika log ke dalam mesin tersebut via POP3 (Post Office Protokol) atau IMAP4 (Internet Message Access Protocol) untuk menerima emailnya, POP3 merupakan protokol untuk mengakses mail box

• Port 119, News (NNTP) Server

• Port 3389, Remote Desktop
Port ini adalah untuk remote desktop di WinXP

• Port 389, LDAP Server
LDAP Directory Access Protocol menjadi populer untuk mengakses Direktori, atau Nama, Telepon, Alamat direktori. Contoh untuk LDAP: / / LDAP.Bigfoot.Com adalaha LDAP directory server.

• Port 143, IMAP4 Server
IMAP4 atau Pesan Akses Internet Protocol semakin populer dan digunakan untuk mengambil Internet Mail dari server jauh.Disk lebih intensif, karena semua pesan yang disimpan di server, namun memungkinkan untuk mudah online, offline dan diputuskan digunakan.

• Port 443, Secure Sockets Layer (SSL) Server
Ketika Anda menjalankan server yang aman, SSL Klien ingin melakukan koneksi ke server Anda Aman akan menyambung pada port

• 443. This port needs to be open to run your own Secure Transaction server.
Port 445, SMB over IP, File Sharing
Kelemahan windows yg membuka port ini. biasanya port ini digunakan sebagai port file sharing termasuk printer sharing, port inin mudah dimasukin virus atau worm dan sebangsanya

• Ports 1503 and 1720 Microsoft NetMeeting and VOIP
MS NetMeeting dan VOIP memungkinkan Anda untuk meng-host Internet panggilan video atau lainnya dengan.

• Port 5631, PCAnywhere


• Port 5900, Virtual Network Computing (VNC)

Bila Anda menjalankan VNC server remote kontrol ke PC Anda, menggunakan port 5900. VNC berguna jika anda ingin mengontrol remote server.

• Port 111, Portmap

• Port 3306, Mysql

• Port 981/TCP

Referensi :



Jumat, 13 April 2012

System Call


System call adalah “an instruction that interrupts the program being executed and passes control to the supervisor.

Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. SO melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran SO sebagai jembatan komunikasi antara user dan hardware itu terjadi. System calls itu sendiri umumnya ditulis dalam bahasa C dan C++.

         Mengenai shell, shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam SO secara umum dibagi menjadi 2, Command Line(CLI) dan Graphical(GUI). Jadi dengan kata lain, system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.
Untuk lebih jelasnya lihat gambar berikut. Contoh di atas adalah sytem calls di dalam program yang membaca data dari satu file lalu meng- copy-nya ke file lain.
Biasanya tersedia sebagai instruksi bahasa rakitan. Beberapa sistem mengizinkan system calls dibuat langsung dari program bahasa tingkat tinggi. Beberapa bahasa pemrograman (contoh : C, C++) telah didefenisikan untuk menggantikan bahasa rakitan untuk sistem pemrograman.
Tiga metode umum yang digunakan dalam memberikan parameter kepada sistem operasi

  • Melalui register 
  • Menyimpan parameter dalam blok atau tabel pada memori dan alamat blok tersebut diberikan sebagai parameter dalam register 
  • Menyimpan parameter (push) ke dalam stack (oleh program), dan melakukan pop off pada stack (oleh sistem operasi)
Memberikan parameter melalui tabel 

Sumber: Silberschatz,et.al, Operating System Concepts, 6th ed, .2003, New York: John Wiley & Son.Inc , halaman 65


Jenis System Calls 
  • Kontrol Proses
System calls yang berhubungan dengan kontrol proses antara lain ketika penghentian pengeksekusian program. Baik secara normal (end) maupun tidak normal (abort). Selama proses dieksekusi kadang kala diperlukan untuk meload atau mengeksekusi program lain, disini diperlukan lagi suatu system calls. Juga ketika membuat suatu proses baru dan menghentikan sebuah proses. Ada juga system calls yang dipanggil ketika kita ingin meminta dan merubah atribut dari suatu proses.

MS-DOS adalah contoh dari sistem single-tasking. MS-DOS menggunakan metode yang sederhana dalam menjalankan program dan tidak menciptakan proses baru. Program di-load ke dalam memori, kemudian program dijalankan.
Eksekusi MS-Dos
 Sumber: Silberschatz,et.al, Operating System Concepts, 6th ed, .2003, New York:John Wiley & Son.Inc , halaman 68 


Barkeley Unix adalah contoh dari sistem multi-tasking. Command interpereter masih tetap bisa dijalankan ketika program lain dieksekusi.
Multi program pada Unix 
Sumber: Silberschatz,et.al, Operating System Concepts, 6th ed, .2003, New York:John Wiley & Son.Inc , halaman 69 
  •  Manajemen Berkas
System calls yang berhubungan dengan berkas sangat diperlukan. Seperti ketika kita ingin membuat atau menghapus suatu berkas. Atau ketika ingin membuka atau menutup suatu berkas yang telah ada, membaca berkas tersebut, dan menulis berkas itu.System calls juga diperlukan ketika kita ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin merubah atribut tersebut. Yang termasuk atribut berkas adalah nama berkas, jenis berkas, dan lain-lain
Ada juga system calls yang menyediakan mekanisme lain yang berhubungan dengan direktori atau sistim berkas secara keseluruhan. Jadi bukan hanya berhubungan dengan satu spesifik berkas. Contohnya membuat atau menghapus suatu direktori, dan lain-lain. 
  • Manajemen Peranti
Program yang sedang dijalankan kadang kala memerlukan tambahan sumber daya. Jika banyak pengguna yang menggunakan sistem dan jika diperlukan tambahan sumber daya maka harus meminta peranti terlebih dahulu. Dan setelah selesai penggunakannnya harus dilepaskan kembali. Ketika sebuah peranti telah diminta dan dialokasikan maka peranti tersebut bisa dibaca, ditulis, atau direposisi.
  • Informasi Maintenance
Beberapa system calls disediakan untuk membantu pertukaran informasi antara pengguna dan sistem operasi. Contohnya system calls untuk meminta dan mengatur waktu dan tanggal. Atau meminta informasi tentang sistem itu sendiri, seperti jumlah pengguna, jumlah memori dan disk yang masih bisa digunakan, dan lain-lain. Ada juga system calls untuk meminta informasi tentang proses yang disimpan oleh sistem dan system calls untuk merubah ( reset ) informasi tersebut.
  • Komunikasi
Dua model komunikasi :
          - message-passing
Pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi.
          - shared-memory
Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut.
Mekanisme komunikasi 
Sumber: Silberschatz,et.al, Operating System Concepts,6th e, .2003, New York:John Wiley & Son.Inc, halaman 72


Dalam message-passing, sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi.Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut, baik dalam menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan. Juga diperlukan suatu system calls untuk membaca dan menulis pesan( message ) agar pertukaran informasi dapat dilakukan.

Fungsi fork()(system call)
Sistem operasi UNIX mempunyai system call fork yang berfungsi untuk membuat proses baru. Proses yang memanggil system call fork ini akan dibagi jadi dua, proses induk dan proses turunan yang identik. Analoginya seperti pembelahan sel, dimana satu sel membelah jadi dua sel yang identik. Proses induk dan turunan independen satu sama lain dan berjalan bersamaan. Return code dari system call ini adalah suatu integer. Untuk proses anak return code-nya adalah 0 sementara untuk proses induk return code-nya adalah nomor identifikasi proses (PID) dari turunannya. Ada juga system call exec yang berguna untuk membuat proses turunan yang terbentuk memiliki instruksi yang berbeda dengan proses induknya. Dengan kata lain, proses induk dan proses turunan tidak lagi identik tapi masing-masing punya instruksi berbeda.

Daftar Pustaka :
http://www.artikata.com/arti-181713-system+call.html
http://bebas.ui.ac.id/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch10s05.html
 
http://menembuswaktu.wordpress.com/2010/03/08/system-calls-2/


Jumat, 09 Maret 2012

Mikroarsitektur dan Diagram Prosessor

      Mikroarsitektur Prosessor


RSIM teladan mikroarsitektur prosesor yang agresif mengeksploitasi ILP. Ini menggabungkan fitur dari berbagai prosesor komersial saat ini. Fitur standar prosesor ini meliputi:
  • ·         Eksekusi  Superscalar - beberapa instruksi yang dikeluarkan per siklus.
  •       Out-of-order (dinamis) penjadwalan
  •       Mengubah nama register
  •       Cabang prediksi yang statis dan dinamis
  •       Operasi menyimpan dan memuat memori dengan cara non-blocking
  •       Eksekusi beban spekulatif sebelum disambiguasi alamat penyimpanan sebelumnya
  •       Software-controlled non-binding prefetching 
  •       Dukungan untuk model konsistensi memori ganda dan berbagai implementasi model ini
  •       Pengecualian yang tepat
  •       Register windows

Gambar 3.1: RSIM Mikroarsitektur Processor.
Mikroarsitektur prosesor dimodelkan dengan RSIM terdekat dengan R10000 dan MIPS diilustrasikan pada Gambar 3.1. Secara khusus, model RSIM active list R10000 (yang memegang instruksi yang sedang aktif, sesuai dengan buffer windows atau instruksi menyusun ulang prosesor lainnya), register map table (yang memegang pemetaan dari logik untuk register fisik), dan pembuat peta bayangan (yang menyimpan daftar peta informasi tabel pada prediksi cabang untuk memungkinkan satu siklus bagian pemulihan tak terprediksi). Pipeline dengan fetching, decode, issue, execute, dan tahapan lengkap pipeline R10000 dinamis dijadwalkan. Instruksi graduate (yaitu pensiunan, berkomitmen, atau dihapus dari daftar aktif) setelah melewati pipeline ini. Instruksi yang diambil, diterjemahkan, dan graduate dalam rangka Program, namun dapat mengeluarkan instruksi, melaksanakan, dan menyelesaikan out-of-order. Dalam rangka kelulusan memungkinkan RSIM untuk melaksanakan interupsi tepat.

Diagram Prosessor 


Untuk tujuan ilustrasi Saya menawarkan Anda diagram blok Athlon serta Pentium III. Silakan lihat diagram untuk membuat anda mengikuti penjelasan saya sedikit lebih mudah.



 
Istilah :
            AGU  : Address Generation Unit
            IEU    : Integer Execution Unit
            SSE    : Intel's Streaming SIMD Extensions Execution Unit
            BTB   : Branch Target Buffer
            BHB   : Branch History Buffer


























 Ini adalah gambar dari Pentium III yang rusak, yang tidak skala yang sama seperti gambar AthlonAthlon lebih besar. Pentium III (Katmai) juga diproduksi dalam teknologi 0.25μ dan terdiri dari 9,5 juta transistor.

di copy dari :

http://www.ece.rice.edu/~rsim/Manual/node22.html
http://www.tomshardware.com/reviews/athlon-processor,121-2.html


 

Kamis, 02 Februari 2012

Bahasa Assembly

       Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. 

       Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa Assembler memakai kode Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan penulisan program. Program yang ditulis dengan bahasa Assembly terdiri dari label; kode mnemonic dan lain sebagainya, pada umumnya dinamakan sebagai program sumber (Source Code) yang belum bisa diterima oleh prosessor untuk dijalankan sebagai program, tapi harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner. Bagan kerja proses Assembly Program sumber dibuat dengan program editor biasa, misalnya Note Pad pada Windows atau SideKick pada DOS, selanjutnya program sumber diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Hasil kerja program Assembler adalah “program objek” dan juga “assemly listing”. 

       Program Objek berisikan kode kode bahasa mesin, kode-kode bahasa mesin inilah yang diumpankan ke memori-program prosessor. Assembly Listing merupakan naskah yang berasal dari program sumber, dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler. Tambahan tersebut berupa nomor memori-program berikut dengan kode yang akan diisikan pada memori-program bersangkutan.

       Naskah ini sangat berguna untuk dokumentasi dan sarana untuk menelusuri program yang ditulis. Yang perlu diperhatikan adalah setiap prosessor mempunyai konstruksi yang berlainan, instruksi untuk mengendalikan masing-masing prossesor juga berlainan, dengan demikian bahasa Assembly untuk masing-masing prosessor juga berlainan, yang sama hanyalah pola dasar cara penulisan program Assembly saja. 


       Perintah perintah dasar assembly :


 1. Mov 
Instruksi mov digunakan untuk memindahkan data(move data). Instruksi mov juga memiliki tiga suffix yaitu : movb(move byte), movew(move word), dan movl(move double word). 


2. Add 
Instruksi add digunakan untuk menambahkan nilai(add data). Contoh : add ax, 10 ; menambahkan nilai 10h terhadap register ax.


 3. Int
 Instruksi int digunakan untuk mengakhiri program. Contoh : int 20.