WELLCOME TO MY WORLD

terimakasih kepada pengunjung yang bersedia mampir di blog saya........................
selamat menjelajah........

Sabtu, 13 November 2010

TEKNIK INFORMATIKA

Walaupun antara Engineering dan Science memiliki sejumlah pengertian yang berbeda, namun dalam hal pengertian Teknik Informatika dan Ilmu Komputer, hingga saat ini di Indonesia pada khususnya, memiliki garis besar acuan yang sama. Dengan demikian terminologi Teknik Informatika dalam dokumen rujukan dimaknai sama dengan Ilmu Komputer (Computer Science).

Informatika secara teknis merujuk kepada terminologi computing. Pengertian sederhana dari computing itu sendiri adalah segala hal teknis yang melibatkan penggunaan komputer. Diantara aktivitas dan pengertian computing menurut dokumen Computing Curricula 2005 (CC 2005) adalah:

* Designing and building hardware and software systems for any of a wide range of purposes.
* Processing, structuring and managing various kinds of information.
* Doing scientific studies using computers.
* Making computer systems behave intelligently.
* Creating and using communications and entertainment media.
* Finding and gathering information relevant to any particular purpose.

Berdasar pengertian diatas, maka bidang kajian teknik informatika mencangkup area yang cukup luas. Dengan kemampuan yang dimilikinya, maka lulusan teknik informatika diharapkan memiliki kemampuan untuk menangani bidang pekerjaan antara lain adalah :

* Desain dan implementasi perangkat lunak (Software). Lulusan teknik informatika memiliki keahlian dalam hal tugas–tugas pemrograman dan melakukan supervisi terhadap kegiatan pemrograman dengan kemampuan melakukan berbagai teknik pendekatan untuk menyelesaikan masalah-masalah pemrograman.
* Memberikan solusi bagi optimalisasi penggunaan komputer dalam berbagai aspek kehidupan bermasyarakat. Sejalan dengan semakin luasnya penggunaan komputer, maka sejumlah cara baru untuk menerapkan penggunaan komputer serta mengoptimalkan kemampuan komputer untuk membantu kehidupan bermasyarakat adalah sebuah tantangan bagi lulusan teknik informatika.
* Memberikan solusi yang efektif terhadap berbagai permasalahan komputasi. Sejalan dengan meningkatnya penggunaan komputer di masyarakat, maka sejumlah tuntutan untuk meningkatkan kemampuan komputer baik dalam hal efisiensi, kecepatan, ukuran, serta berbagai alternatif teknik komputasi adalah bidang yang menjadi lahan pengembangan kemampuan lulusan teknik informatika.

Untuk memahami hal itu semua maka, keahlian dasar yang disiapkan oleh pendidikan tinggi teknik informatika adalah :

1. Pemahaman yang baik terhadap hal yang sifatnya esensi dan fundamental dari disiplin ilmu komputer, baik secara teori ataupun aplikas
2. Kemampuan pemrograman yang baik, dari sisi konsep ataupun skill. Paling tidak terdapat 3 aspek yang harus dimiliki, yaitu Pemahaman yang baik terhadap aturan –aturan dasar pemrograman. Pemahaman algoritma dan struktur data kemudian mengimplementasikannya kedalam perangkat lunak yang digunakan
3. Kemampuan terkait dengan teknologi rekayasa perangkat lunak yang dapat menjamin aplikasi yang dihasilkan bersifat reliable, robust dan sesuai dengan user requirement.
4. Memahami dengan baik kemampuan dan keterbatasan teknologi komputer (software, hardware dan networking), meliputi kemampuan dalam hal : Pengetahuan terhadap apa yang dapat dan tidak dapat dilakukan oleh teknologi komputer terbaru.Memahami keterbatasan proses komputasi dan solusi terhadap keterbatasan tersebut lewat perbaikan teknologi dimasa yang akan datang
5. Memahami dampak terhadap penyebaran teknologi computer bagi individu, organisasi dan masyarakat.
6. Memahami dengan baik konsep lifecycle termasuk karakter pada masing-masing phase ((planning, development, deployment, and evolution), implikasi dari pengembangan semua aspek dari sistem komputer (hardware, software dan interaksi manusia komputer) serta hubungan antara kualitas dan lifecycle management.
7. Memahami dengan baik konsep dasar proses dari dua aspek, yaitu Proses yang terkait dengan komputasi,terutama eksekusi program dan system operasi. Proses yang terkait dengan aktivitas professional, terutama hubungan antara kualitas produk dan penyebarannya.
8. Memiliki wawasan terhadap topik-topik lanjutan agar memahami perkembangan terbaru dari bidang yang sedang dipelajarinya.
9. Memiliki kemampuan dalam hal interpersonal skill lewat interaksi kelompok diskusi, presentasi, project, wawancara, studi literatur.
10. Dapat mengkoneksikan antara teori dan skill yang dipelajari lewat studi kasus yang dihadapi dalam kehidupan sesungguhnya.
11. Dapat mendemonstrasikan kemampuan individu dengan mengintegrasikan berbagai elemen dari pengalaman kuliah lewat sebuah project, mulai dari perancangan, implementasi hingga presentasi akhir.

===================
Tulisan lain tentang Teknik Informatika bisa dibaca pada blognya pak Rinaldi Munir

Pengertian teknik informatika

Arti istilah informatika dianggap berkaitan erat dengan pengertian berikut :

suatu bidang keilmuan yang mempelajari teknologi komputer khususnya dalam pengembangan perangkat lunak.

Informatika merupakan salah satu cabang keilmuan yang cukup luas karena hampir mencakup dan terkait dengan berbagai hal tentang kehidupan ini, dimana kumpulan disiplin informatika ini meliputi sains maupun teknik yang secara spesifik mengolah data menjadi informasi dengan memanfaatkan seoptimal mungkin teknologi informasi atau komputer.

Dalam bahasa Indonesia, istilah Informatika diturunkan dari bahasa Perancis informatique, yang dalam bahasa Jerman disebut Informatik. Sebenarnya, kata ini identik dengan istilah computer science di Amerika Serikat dan computing science di Inggris.

Dalam pendefenisian istilah informatika, menurut Philippe Dreyfus (1962) dan l`Academie Francaise (1967) yang mendefenisikan informatika tersebut sebagai berikut:

Kumpulan Disiplin Ilmu (scientific discipline) dan Disiplin Teknik (engineering discipline) yang secara spesifik menyangkut transformasi / pengolahan dari "Fakta Simbolik" (data / informasi), yang terutama menggunakan fasilitas mesin-mesin otomatis/komputer.

Dalam bahasa Inggris memiliki makna yang sedikit berbeda, yaitu lebih menekankan pada aspek pengolahan informasi secara sistematis dan rasional.

Jika dilihat secara menyeluruh dari pengertian informatika di atas, pendekatan logika dan sistematika merupakan ciri yang cukup dominan dari Informatika ini, mengingat pendekatan tersebut merupakan kunci dalam hal mendapatkan solusi dalam menyelesaikan berbagai masalah.

Pada prinsipnya keilmuan ini lebih menekankan bagaimana suatu data dan informasi dapat diolah sedemikian dengan berbantuan teknologi yang terotomatisasi.

Teknologi yang terautomatisasi tersebut tidak hanya dalam satu mesin, namun bisa melibatkan beberapa mesin. Mesin ini lebih umum disebut dengan komputer.

Komputer sebagai bahan utama dalam bidang keilmuan ini memiliki peranan yang sangat tinggi, sehingga informatika secara sederhana mengupas mulai dari bagaimana mesin tersebut bisa bekerja, bagaimana suatu data diolah dengan cara yang dimengerti oleh mesin sedangkan informasinya dimengerti juga oleh manusia, sampai bagaimana mesin tersebut mampu berkomunikasi dengan mesin lainnya.

istilah yang mungkin ada hubungannya dengan informatika :
informatics
Informatika adalah kumpulan disiplin sains dan rekayasa yang secara khusus menangani transformasi
Telematics
Di dalam bahasa Indonesia dikenal dengan Telematika. Kata telematika berasal dari istilah dalam
Sistem komputer
sistem komputer, computer system, adalah elemen-elemen yang terkait untuk menjalankan suatu
Computer
Alat bantu bagi manusia untuk menyelesaikan pekerjaannya. Perangkat elektronik yang dapat dipakai

Kamis, 08 Juli 2010

CLIENT WINDOWS JOIN KE DOMAIN CONTROLLER UBUNTU

Pastikan dahulu bahwa computer client yang bersangkutan sudah mendapatkan IP dari DHCP Server yang sudah dibuat,
Setting tiap client agar NetBIOS selalu dilewatkan TCP/IP, caranya : Control Panel >> Network Connection >> Click Kanan Local Area Connection >> Pilih Properties
Cari Internet Protocol (TCP/IP) dan pilih kemudian click Properties.
Pilih Advanced.
Pilih Tab WINS dan NetBIOS setting pilih ke “Enable NetBIOS over TCP/IP dan Click “OK”.
Setting DNS Suffix di tiap client klo tadi sudah membuat DNS Server untuk client, caranya Control Panel >> System
Pilih / click Computer Name, boleh isi Computer Descipption semisal “Graphic & Product Designer”
Click Change dan isi Computer name sesuai yang didaftarkan semisal “opikdesign”
Click More… isi Primary DNS Suffix computer tersebut semisalnya “dns.persegi.net” Dan beri tanda centang pada “Change primary DNS suffix when domain membership changes”
Click OK dan OK lagi
Click OK dan OK lagi. Kemudian computer di restart…
Pilih No dahulu, jangan restart dahulu. Setting join ke PDC di tiap client, caranya : Control Panel >> System
Pilih / click Computer Name, boleh isi Computer Descipption semisal “Graphic & Product Designer”
Click pilih Domain dan isi nama PDC‐nya semisal yang sudah dibuat “dns.persegi.net”.
Nantinya akan ditanyakan Username dan Password, masukkan username dan password administrator yang sudah dibuat diatas, hal ini masukkan “sysadmin”.
Click OK dan OK lagi
Click OK dan OK lagi. Kemudian computer di restart.
Lakukan Restart.
Setelah restart, maka computer client melakukan login sesuai account‐nya yang sudah dibuat.

DHCP SERVER

• Install dhcp3 server‐nya,
# apt-get install dhcp3-server
• Setelah diinstall, lakukan seting pada DHCP3 Server, Kita sebelumnya sudah mencatat MAC‐ADDRESS dari seluruh hardware Ethernet maupun wifi client yang kemudian diberikan IP sesuai ketentuan MAC‐ADDRESS; contoh computer A dengan MAC 00:AA:BB:CC:DD:11 akan selalu mendapat IP 192.168.0.123. Jadi disini bisa dipahami seharusnya, coba lihat keterangan bertulis tebal

Edit file conf pada DHCP3 yaitu file /etc/dhcp3/dhcpd.conf,
# pico /etc/dhcp3/dhcpd.conf
Rubah menjadi :
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;
option domain-name "dns.persegi.net"; #sesuaikan keinginan
option routers 192.168.0.1;
option netbios-name-servers 192.168.0.1;
default-lease-time 600;
max-lease-time 604800;
log-facility local7;
host opikdesign.dns.persegi.net {
hardware ethernet 00:22:15:3C:14:A1;
fixed-address 192.168.0.100;
}
host dhani.dns.persegi.net {
hardware ethernet 00:11:5B:78:D3:E8;
fixed-address 192.168.0.101;
}
host farah.dns.persegi.net {
hardware ethernet 00:16:EC:1E:2F:9E;
fixed-address 192.168.0.102;
}
host siti.dns.persegi.net {
hardware ethernet 00:13:D4:CB:69:0F;
fixed-address 192.168.0.103;
}
}
• Lakukan restart DHCP3‐server dengan:
# /etc/init.d/dhcpd3-server restart
Akan muncul dilayar:
Starting DHCP server dhcpd3 [ OK ]

CONFIGURE UBUNTU DHCP CLIENT
Setting ubuntu desktop sebagai DHCP klien. Ikuti perintah berikut ini.
Save and exit the file
# nano /etc/network/interfaces
auto lo eth0
iface eth0 inet dhcp
iface lo inet loopback
# /etc/init.d/networking restart
# sudo dhclient
# tail -n 15 /var/lib/dhcp3/dhclient.*.leases

MEMBUAT FOLDER SHARING BERSAMA

• Sekarang tambahan direktori share yang akan dipakai oleh seluruh user :
# mkdir -p /home/shares/allusers
# chown -R root:users /home/shares/allusers/
# chmod -R ug+rwx,o+rx-w /home/shares/allusers/
• Ubah juga pada /etc/samba/smb.conf, tambahkan baris berikut :
[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
• lalu restart samba kembali :
# /etc/init.d/samba restart

MEMPERBAIKI WINS SERVER PADA SAMBA

Adanya WINS Server ini membantu agar NetBIOS (Nama Komputer Client) tidak hilang di jaringan, berfungsi untuk mem‐reply NetBIOS yang dilewatkan melalui TCP/IP sebagai alternative broadcast.
• Disini saya hanya memberi contoh beberapa client sebagai nama computer antara lain opikdesign, dhani, farah dan siti yang kemudian bisa disesuaikan dengan kondisi yang ada.
Edit file /etc/hosts kemudian masukkan nama host computer client dan ip‐nya untuk pencarian dengan metode hosts file,
Buat file /etc/samba/lmhosts dan masukkan nama host computer client dan ip seperti diatas untuk pencarian dengan metode lmhosts file.
Lakukan restart jaringan dan samba…

# /etc/init.d/networking restart
# /etc/init.d/winbind stop
# /usr/sbin/samba restart
# /etc/init.d/winbind start
• Buat Bash Script agar tiap interval 15menit akan mem‐restart daemon winbindd, snmb dan nmbd. buat file /sbin/wins dengan script sebagai berikuT:
#!/bin/sh
# Script ini untuk memrestart Winbindd dan Samba (snmb & nmbd)
# agar semua NetBIOS komputer client dapat di refresh.
PATH=/sbin:/bin:/usr/sbin:/usr/bin
[ -r /etc/default/winbind ] && . /etc/default/winbind
[ -r /etc/default/samba ] && . /etc/default/samba
RUN_MODE="daemons"
DAEMON_WINBINDD=/usr/sbin/winbindd
PIDDIR_WINBINDD=/var/run/samba
WINBINDPID=$PIDDIR_WINBINDD/winbindd.pid
PIDDIR_SAMBA=/var/run/samba
NMBDPID=$PIDDIR_SAMBA/nmbd.pid

SMBDPID=$PIDDIR_SAMBA/smbd.pid
INTERVAL=900
unset TMPDIR
test -x $DAEMON_WINBINDD || exit 0
test -x /usr/sbin/nmbd -a -x /usr/sbin/smbd || exit 0
. /lib/lsb/init-functions
while : ; do
#
# winbind stop
#
log_daemon_msg "Stopping the Winbind daemon" "winbind"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON_WINBINDD
log_end_msg $?
sleep 2
#
# samba stop
#
log_daemon_msg "Stopping Samba daemons"
log_progress_msg "nmbd"
start-stop-daemon --stop --quiet --pidfile $NMBDPID
sleep 1
if [ -f $NMBDPID ] && ! ps h `cat $NMBDPID` > /dev/null
then
rm -f $NMBDPID
fi
if [ "$RUN_MODE" != "inetd" ]; then
log_progress_msg "smbd"
start-stop-daemon --stop --quiet --pidfile $SMBDPID
sleep 1
if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` > /dev/null
then
rm -f $SMBDPID
fi
fi
log_end_msg 0
sleep 2
#
# samba start
#
log_daemon_msg "Starting Samba daemons"
install -o root -g root -m 755 -d $PIDDIR_SAMBA
NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' 2>/dev/null`
if [ "$NMBD_DISABLED" != 'Yes' ]; then
log_progress_msg "nmbd"
if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/nmbd -- -D
then
log_end_msg 1
exit 1
fi
fi
if [ "$RUN_MODE" != "inetd" ]; then
log_progress_msg "smbd"
if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D; then
log_end_msg 1
exit 1
fi
fi
log_end_msg 0
sleep 2
#
# winbind start
#
log_daemon_msg "Starting the Winbind daemon" "winbind"
mkdir -p /var/run/samba/winbindd_privileged || return 1
chgrp winbindd_priv $PIDDIR_WINBINDD/winbindd_privileged/ || return 1
chmod 0750 $PIDDIR_WINBINDD/winbindd_privileged/ || return 1
start-stop-daemon --start --quiet --oknodo --exec $DAEMON_WINBINDD --
$WINBINDD_OPTS
log_end_msg $?
#
# Repeat
#
sleep $INTERVAL
done
kemudian beri attribute 755 agar bisa dijalankan kemudian jalankan dengan mengirim Signal HUP agar berjalan terus menurus setiap nilai interval yang ditentukan.
# chmod 0755 /sbin/wins
# nohup /sbin/wins &
Terakhir agar script ini berjalan saat server pertama kali restart/booting, masukkan ke dalam /etc/rc.local, edit file /etc/rc.local kemudian tambahkan :
nohup /sbin/wins &
Fungsi utamanya adalah di script ini, memperbaiki Bug yang terdapat pada WINS Server berbasis Samba tidak sama dengan WINS Server di Windows NT/2000/2003 Server terdapat interval untuk mem‐refresh NetBios

INSTALL DAN SETING DNS SERVER DENGAN BIND9 SEBAGAI POISONING LOCAL

Sebelumnya, ada baiknya kita mengenal macam type DNS Record;
Address Records; Merekam sebuah pemetaan IP Address ke dalam sebuah nama host. Cara seperti ini yang paling umum digunakan.
www IN A 111.222.333.444
Alias Records; Membuat sebuah alias terhadap CNAME karena tidak dapat membuat CNAME pointing didalam CNAME Record. mail IN CNAME www
www IN A 111.222.333.444
Mail Exchange Records; Menunjukkan email harus dikirim kemana, harus menujukkan ke A Record (Address Record) bukan CNAME (Alias Record) Record.
@ IN MX mail.domain.com
mail IN A 111.222.333.444
Name Server Record; Menentukan server yang akan digunakan untuk melayani layanan hosting, harus menujukkan ke A Record
(Address Record) bukan CNAME (Alias Record) Record.
@ IN NS ns.domain.com
ns IN A 111.222.333.444
• Instalasi Bind9
# apt-get install bind9
• Selanjutnya kita memulai konfigurasi Bind9, sebelumnya kita tentukan nama domainnya
semisalnya dns.persegi.net dan kemudian dapat diganti sesuai keinginan.
• Buka file /etc/bind/named.conf.options; file tersebut berisi DNS forward ditujukan kemana, maka itu karena kita memakai telkomspeedy maka diarahkan IP DNS Telkom dan ditambah OpenDNS. Namun kita membuat Domain Controller tersebut tidak dengan internet maka bisa diabaikan.
rubah isinya menjadi:
options {
directory "/var/cache/bind";
forwarders {
202.134.1.5;
202.134.0.155;
202.134.0.5;
202.134.2.5;
202.134.1.10;
203.130.208.18;
203.130.206.250;
203.130.196.6;
203.130.196.155;
203.130.196.5;
222.124.204.34;
203.130.208.18;
208.67.222.222;
208.67.220.220;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
• Buka file /etc/bind/named.conf.local; file yang berisi dimana letak file zona yang berisi DNS Record local. tambah atau edit isinya menjadi:
include "/etc/bind/zones.rfc1918";
zone "dns.persegi.net" {
type master;
file "/etc/bind/db.dns.persegi.net";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};
include "/etc/bind/rndc.key";
• Kemudian duplicate file db local sesuai nama file yang disebutkan
/etc/bind/named.conf.local.
# cp /etc/bind/db.local /etc/bind/db.dns.persegi.net
# cp /etc/bind/db.local /etc/bind/db.192
• Edit file /etc/bind/db.dns.persegi.net
edit isinya menjadi seperti dibawah ini namun jangan lupa masukan nama computer merah) :
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.dns.persegi.net. mail.dns.persegi.net. (
2009022605 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
604800 ) ;Negative Cache TTL
;
localhost IN A 127.0.0.1
@ IN NS ns.dns.persegi.net.
ns IN A 192.168.0.1
www IN CNAME ns
@ IN CNAME 192.168.0.1
persegi IN A 192.168.0.1
opikdesign IN A 192.168.0.100
dhani IN A 192.168.0.101
farah IN A 192.168.0.102
siti IN A 192.168.0.103
sebuah tips:
Banyak orang menggunakan tanggal terakhir edited sebagai seri dari zona, seperti
2009022605 yang yyyymmddss (di mana seri serial)
• Edit file /etc/bind/db.192
edit isinya menjadi seperti dibawah ini namun jangan lupa masukan nama computer merah) diikuti nama domain :
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.dns.persegi.net. mail.dns.persegi.net. (
2009022603 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
604800 ) ;Negative Cache TTL
;
@ IN NS ns.
10 IN PTR ns.dns.persegi.net.
20 IN PTR persegi
30 IN PTR opikdesign.dns.persegi.net
40 IN PTR dhani.dns.persegi.net
50 IN PTR farah.dns.persegi.net
60 IN PTR siti.dns.persegi.net
• Edit file /etc/hosts dan tambahkan dns.persegi.net karena kedua domain ini diaktifkan sebagai host pula. Jangan lupa nama computer client maupun yang diikutin domain sebagai DNS Poisoning edit isinya menjadi:
127.0.0.1 localhost
192.168.0.1 persegi dns.persegi.net
192.168.0.100 opikdesign opikdesign.dns.persegi.net
192.168.0.101 dhani dhani.dns.persegi.net
192.168.0.102 farah farah.dns.persegi.net
192.168.0.103 siti siti.dns.persegi.net
• Edit file /etc/resolv.conf edit isinya menjadi: search dns.persegi.net
nameserver 192.168.0.1
nameserver 127.0.0.1
• Restart jaringan dan bind9…
# /etc/init.d/bind9 restart
• Untuk menguji bind9, kita perlu menginstall repository dnsutils, install repository tersebut
# apt-get install dnsutils
/etc/bind/db.192
# named-checkzone dns.persegi.net /etc/bind/db.dns.persegi.net
kalau settingan tidak ada masalah hasilnya… akan muncul serial yang buat.
# named-checkzone dns.persegi.net /etc/bind/db.192
kemudian baru menguji dengan command dig… kita mencoba untuk local‐nya dulu…
# dig localhost
atau bisa juga menguji dengan perintah nslookup…
# nslookup
> set type=any
> dns.persegi.net
setelah itu lakukan pula test pada localhost
> localhost

INSTALASI SAMBA DAN SETING DOMAIN CONTROLLER

• pertama install repository samba dan accesorisnya :
# apt-get install samba
• Konfigurasi /etc/samba/smb.conf sebagai berikut :
[global]
workgroup = dns.persegi.net # –> bisa diganti
netbios name = persegi # –> bisa diganti
server string = %h server (Samba, Ubuntu) # –> bisa diganti
passdb backend = tdbsam
security = user
username map = /etc/samba/smbusers
name resolve order = wins lmhosts bcast hosts
domain logons = yes
preferred master = yes
domain master = yes
wins support = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE
SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 65
path = /var/tmp
lm announce = yes
lm interval = 10
# Useradd scripts
add user script = /usr/sbin/useradd -m %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 50-9999999999
idmap gid = 50-9999999999
# sync smb passwords woth linux passwords
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
passwd chat debug = yes
unix password sync = yes
# set the loglevel
log level = 3
[homes]
comment = Home
valid users = %S
read only = no
browsable = no
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
admin users = Administrator
valid users = %U
read only = no
[profile]
comment = User profiles
path = /home/samba/profiles
valid users = %U
create mode = 0600
directory mode = 0700
writable = yes
browsable = no
• Buat beberapa direktori berikut sebagai domain logon dan profile :
# mkdir /home/samba
# mkdir /home/samba/netlogon
# mkdir /home/samba/profiles
# mkdir /var/spool/samba
# chmod 777 /var/spool/samba/
# chown -R root:users /home/samba/
# chmod -R 771 /home/samba/
# touch /home/samba/netlogon/logon.cmd

File /home/samba/netlogon/logo.cmd dapat diisi script yg bisa jalan pertama kali user login
• Lalu restart samba
# /etc/init.d/samba restart
• Membuat user administrator jaringan, sebaiknya jangan menggunkana user root dan lebih baik membuat unix‐user baru lagi dan unix‐group :
# groupadd netadmin
# useradd sysadmin -m -G netadmin –d /home/samba/profiles/sysadmin
# passwd sysadmin
Enter new UNIX password:
Retype new UNIX password:
# smbpasswd -a sysadmin
New SMB password:
Retype new SMB password:
Untuk mempermudah, password unix dan samba lebih baik disamakan. Kemudian buat group untuk users dan nogroup
# groupadd users
# groupadd nogroup
• buat file /etc/samba/smbusers dgn isi file : sysadmin = Administrator mengartikan bahwa user sysadmin = user administrator pada windows.
• Test drive, apakah settingan kita sudah benar :
# smbclient -L localhost -U%
akan menghasilkan output :
Domain=[DNS.PERSEGI.NET] OS=[Unix] Server=[Samba 3.3.2]
Sharename Type Comment
--------- ---- -------
netlogon Disk Network Logon Service
print$ Disk Printer Drivers
cdrom Disk Samba server's CD-ROM
share Disk Ubuntu File Server Share
IPC$ IPC IPC Service (persegi server (Samba, Ubuntu))
Domain=[DNS.PERSEGI.NET] OS=[Unix] Server=[Samba 3.3.2]
Server Comment
--------- -------
PERSEGI persegi server (Samba, Ubuntu)
Workgroup Master
--------- -------
DNS.PERSEGI.NET PERSEGI
• lalu kita setup domain group untuk windows, jalankan perintah :
net groupmap add ntgroup="Domain Admins" unixgroup=netadmin
net groupmap add ntgroup="Domain Users" unixgroup=users
net groupmap add ntgroup="Domain Guests" unixgroup=nogroup
• Tambah user linux dan user samba dengan cara :
A.Admin Classes, contoh tambah user “opikdesign” sebagai “administrator”user linux :
# useradd opikdesign -m -G netadmin –d /home/samba/profiles/opikdesign
user samba :
#smbpasswd -a opikdesign
New SMB password:
Retype new SMB password:
edit file /etc/samba/smbusers dan tambahkan: opikdesign = Administrator
B. User Classes, contoh tambah user “dhani” sebagai “users” .user linux :
# useradd dhani -m -G users –d /home/samba/profiles/dhani
user samba :
#smbpasswd -a dhani
New SMB password:
Retype new SMB password:
edit file /etc/samba/smbusers dan tambahkan:
dhani = dhani
• Sekarang tambahan direktori share yang akan dipakai oleh seluruh user :
# mkdir -p /home/shares/allusers
# chown -R root:users /home/shares/allusers/
# chmod -R ug+rwx,o+rx-w /home/shares/allusers/

APACHE WEB SERVER

Web server adalah sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau homepage. Komputer dapat dikatakan web server jika komputer tersebut memiliki suatu program server yang disebut Personal Web Server (PWS). Macam-macam web server antara lain :
1. Apache (Open Source)
2. Xitami
3. IIs
4. PWS (Personal web Server)
Website (Situs Web) merupakan alamat (URL) yang berfungsi sebagai tempat penyimpanan data dan informasi dengan berdasarkan topik tertentu situs atau web dapat dikategorikan menjadi 2 yaitu :
Web statis, yaitu : Web yang berisi atau menampilkan informasi-informasi yang sifatnya statis (tetap)
Web Dinamis, yaitu : Web yang menampilkan informasi serta dapat berinteraksi dengan user yang bersifat dinamis.

Web server menggunakan protocol yang disebut dengan HTTP (HyperText Transfer Protocol). Anda mempunyai banyak pilihan di dunia open source, tergantung pada keperluan Anda. Salah satu web server yang sangat terkenal dan menjadi standar de facto setiap distribusi Linux, yaitu Apache.Apache adalah nama web server yang dibuat berbasiskan kode sumber dan ide-ide yang ada pada web server leluhurnya, yaitu web server NCSA. Sesuai namanya, web server NCSA dibuat oleh National Center for Supercomputing Applications. Tidak seperti poryek leluhurnya yang dibiayai oleh pemerintah Amerika, web server Apache dikembangkan oleh sekelompok programer yang bekerja tanpa dibayar oleh siapapun. Mereka mengerjakan proyek ini dengan berbagai macam alasan, akan tetapi alas an yang paling mendasar adalah mereka senang jika perangkat lunak mereka digunakan oleh banyak orang.
Apache adalah web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja sangat digemari. Kesimpulan ini bisa didapatkan dari jumlah pengguna yang jauh melebihi para pesaingnya. Sesuai hasil survai yang dilakukan oleh Netcraft, bulan Januari 2005 saja jumlahnya tidak kurang dari 68% pangsa web server yang berjalan di Internet. Ini berarti jika semua web server selain Apache digabung, masih belum bias mengalahkan jumlah Apache. Saat ini ada dua versi Apache yang bisa dipakai untuk server produksi, yaitu versi mayor 2.0 dan versi mayor 1.3. Anda bisa menggunakan salah satu dari keduanya. Tapi sangat dianjurkan Anda memakai versi 2.0.
Mengapa kita harus memilih Apache? Tentu itu pertanyaan yang terfipkir dalam benak Anda. Ya, tentu saja kita harus mempunyai alasan untuk segala hal, termasuk memilih Apache sebagai web server pilihan. Mungkin daftar berikut bisa menjadi jawabannya.
Arsitektur modular.
Mendukung banyak sistem operasi, termasuk di dalamnya adalah Windows
NT/2000/XP dan berbagai varian Unix.
Mendukung IP versi 6 (Ipv6).
Mendukung CGI (Common Gateway Interface) dan SSI (Server Side Include).
Mendukung otentifi kasi dan kontrol akses.
Mendukung SSL (Secure Socket Layer) untuk komunikasi terenkripsi.
Konfi gurasi yang mudah dipahami.
Mendukung Virtual Host.
Pesan kesalahan multi bahasa dan bias dimodifikasi

FTP

File Transfer Protocol (FTP) didefinisikan sebagai protokol untuk mengirim dan menerima file antara host (dalam ARPANET), dengan fungsi utama dari FTP adalah mengirim dan menerima file dengan efisien dan handal antara host dan mengijinkan penggnaan yang nyaman dari kemampuan untuk penyimpanan file secara remote.
Tujuan dari FTP adalah:
Untuk mempromosikan share file (yang dapat berupa program komputer dan data).
untuk memacu penggunaan komputer remote secara tidak langsung atau implisit (via perangkat lunak)
untuk melindungi pengguna dari variasi dalam sistem penyimpanan file diantara host.
untuk mengirim dan menerima data secara handal dan efisien.
FTP adalah bagian dari protocol TCP/IP dan menggunakan TCP sebagai transport layer.Dalam penggunaannya. FTP menggunakan protocol lain untuk salah satu koneksinya. Protocol telnet digunakan pada koneksi kontrol. terdapat dua cara untuk mengimplementasikan hal ini:
Pertama, interpreter protocol pengguna atau interpreter protocol server dapat mengimplementasikan aturan-aturan dari protocol telnet secara langsung di prosedur mereka sendiri.
Kedua, interpreter protokol pengguna atau interpreter protokol server dapat mengunakan modul telnet yang telah ada di sistem.
Pada pendekatan pertama, keunutngannya terdapat efisiensi eksekusi dan indepedensi implementasi dari perangkat lunak FTP. Sedangkan dari pendekatan kedua, didapat kemudahan dari implementasi, pengguna ulang kode, dan perograman modular. Pada pelaksananya, FTP tergantung dari bagian yang sangat kecil dari protokol telnet, jadi perndekatan pertama tidaklah harus melibatkan banyak kode.
File ditarsfer hanya melalui koneksi data. Koneksi kontrol digunakan untuk mentransfer atau antara host. perintah-perintah transfer data termasuk perintah MODE yang menspesifisikan bagaimana bit dari data akan ditransimisikan, dan perintah STRU (STRUcture) dan TYPE, yang digunakan untuk mendefinisikan bagaimana data akan direpresentasikan. Transmisi dan representasi secara mendasar berbeda tetapi mode transmisi stream tergantung pada attribut struktur file dan jika mode transmisi "compressed" digunakan, sifat dari byte pengisi tergantung pada tipe representasi.
Representasi data ditangani pada FTP denganseorang penggunana menspesifikasikan sebuah tipe representasi. Tipe ini dapat secara implicit (seperti dalam ASCII atau EBDIC) atau secara eksplisit (seperti dalam local byte) mendefinisikan sebuah ukuran byte untuk interpretasi yang akan diacukan sebagai “ukuran byte logik”. Harus diperhatikan bahwa hal ini tidak berhubungan dengan ukuran byte yang digunakan untuk transmisi melalui koneksi data, yang disebut “ukuran byte transfer”, dan keduanya seharusnya tidak dibingungkan. Sebagai contoh, NVT-ASCII mempunyai ukuran byte logic delapan bit. Jika tipenya adalah Local byte, maka perintah TYPE mempunyai parameter kedu wajib yang menspesifikasikan ukuran byte logik. Ukuran byte transfer selalu delapan bit.
Jalur komunikasi dari interpreter protocol pengguna ke interpreter protocol server dibangun sebagai sebuah koneksi TCP dari pengguna ke port server standar. Interpreter protocol pengguna bertanggungjawab untuk mengirimkan perintah FTP dan menginterpretasikan perintah-perintah. Mengirim balasan, dan mengarah proses transfer datanya untuk membuat koneksi data dan mentransfer data. Jika pihak kedua dalam transfer data (proses transfer pasif) adalah proses transfer data pengguna, maka ia dikendalikan melalui protocol internal dari host FTP pengguna; jika ia adalah sebuah proses transfer sata server kedua, maka ia dikendalikan dengan interpreter protokolnya sendiri dengan perintah dari interpreter protocol pengguna.

FILE SHARING (SAMBA)

File sharing merupakan salah satu fitur yang sekarang telah dimiliki oleh berbagai macam sistem operasi, terutama sistem operasi yang mendukung sistem jaringan. Metode/teknologi yang digunakan untuk melakukan sharing ada berbagai macam. Bisa jadi kita menggunakan teknologi ftp, http, peer to peer dan juga sharing resouce seperti folder dan file secara langsung. Untuk yang disebutkan terakhir, bagi para pengguna sistem operasi windows dapat dengan mudah menyettingnya dengan klik kanan lalu pilih “Sharing and Security”, namun pada sistem operasi berbasis linux kita harus memastikan bahwa ada server samba yang mengatur sharing file dan folder. Berikut langkah-langkah untuk melakukan sharing file dan folder di sistem operasi linux Ubuntu. Semua langkah-langkah berikut ini dilakukan pada mode terminal.
Menginstall samba server untuk mengaktifkan Server Samba untuk keperluan sharing file atau folder.
sudo apt-get install samba smbfs
Parameter pada pada samba:
Parameter path
Path digunakan untuk menentukan path lengkap dari direktori atau file yang kan di-sharing dengan komputer lain. Contoh
[myshare]
path=/home/dokumen
Parameter comment
comment digunakan untuk menerangkan data yg disharing, anda dapat menuliskan apa saja tentang folder yang disharing. contoh :
[myshare]
path=/home/dokumen
comment=folder ini adalah data sharing
Parameter browseable
browseable berfungsi memberikan izin apakah data yang disharing boleh dibuka pengakses atau tidak, nilai parameter browseable adalah yes atau no.yes (diizinkan) dan no (tidak
diizinkan).contoh
[myshare]
path=/home/dokumen
browseable=no
Parameter writeable
writeable berfungsi memberikan izin apakah pengakses boleh menulis kembali data yang disharing (atau menyisipi file) atau tidak, yes =diizinkan dan no= tidak
[myshare]
path=/home/dokumen
browseable=yes
writeable=no
Parameter guest ok
guest ok berfungsi untuk memberikan hak akses pada file/direktori, apakah user tamu diizinkan mengaksesnya atau tidak, Yes =jika tamu diizinkan, dan no= jika tamu tidak diizinkan.
[myshare]
path=/home/dokumen
browseable=yes
writeable=no
guest ok=yes
Parameter username
username berfungsi untuk menentukan nama-nama user yang diperbolehkan untuk mengakses data sharing, anda boleh memasukkan lebih dari satu nama
[myshare]
path=/home/dokumen
browseable=yes
writeable=no
username=beddu,baco,becce
Parameter only user
only user memiliki fungsi terbalik dengan guest ok, pada guest ok, akibat yng muncul adalah apakah user tamu dapat diizinkan atau tidak untuk mengaksesnya. Sedangkan user only yang bernilai nama user, sehingga hanya nama user yang bersangkutan yg dapat mengakses data yang di sharing.yes (jika user pemilik diizinkan) dan no (user tidak diizinkan)
[myshare]
path=/home/dokumen
browseable=yes
writeable=no
only user=yes

Cara Kerja DHCP :

DHCP menggunakan 4 tahapan proses untuk memberikan konfigurasi nomor IP. (Jika Clietn punya NIC Card lebih dari satu dan perlu no IP lebih dari 1 maka proses DHCP dijalankan untuk setiap adaptor secara sendiri-sendiri) :
1.IP Least Request {Client meminta nomor IP ke server (Broadcast mencari DHCP server)}.
2.IP Least Offer {DHCP server (bisa satu atau lebih server jika memang ada 2 atau lebih DHCP server) yang mempunyai no IP memberikan penawaran ke client tersebut}.
3.IP Lease Selection {Client memilih penawaran DHCP Server yng pertama diterima dan kembali melakukan broadcast dengan message menyetujui peminjaman tersebut kepada DHCP Server}.
4.IP Lease Acknowledge {DHCP Server yang menang memberikan jawaban atas pesan tersebut berupa konfirmasi no IP dan informasi lain kepada Client dengan sebuah ACKnowledgment. Kemudian client melakukan inisialisasi dengan mengikat (binding) nomor IP tersebut dan client dapat bekerja pada jaringan tersebut. Sedangkan DHCP Server yang lain menarik tawarannya kembali}.

DHCP (Dynamic Configuration Protocol)

DHCP (Dynamic Configuration Protocol) adalah layanan yang secara otomatis memberikan nomor IP kepada komputer yang memintanya. Komputer yang memberikan nomor IP disebut sebagai DHCP server, sedangkan komputer yang meminta nomor IP disebut sebagai DHCP Client. Dengan demikian administrator tidak perlu lagi harus memberikan nomor IP secara manual pada saat konfigurasi TCP/IP, tapi cukup dengan memberikan referensi kepada DHCP Server.
Pada saat kedua DHCP client dihidupkan , maka komputer tersebut melakukan request ke DHCP-Server untuk mendapatkan nomor IP. DHCP menjawab dengan memberikan nomor IP yang ada di database DHCP. DHCP Server setelah memberikan nomor IP, maka server meminjamkan (lease) nomor IP yang ada ke DHCP-Client dan mencoret nomor IP tersebut dari daftar pool. Nomor IP diberikan bersama dengan subnet mask dan default gateway. Jika tidak ada lagi nomor IP yang dapat diberikan, maka client tidak dapat menginisialisasi TCP/IP, dengan sendirinya tidak dapat tersambung pada jaringan tersebut. Setelah periode waktu tertentu, maka pemakaian DHCP Client tersebut dinyatakan selesaidan client tidak memperbaharui permintaan kembali, maka nomor IP tersebut dikembalikan kepada DHCP Server, dan server dapat memberikan nomor IP tersebut kepada Client yang membutuhkan. Lama periode ini dapat ditentukan dalam menit, jam, bulan atau selamanya. Jangka waktu disebut leased period.

RPC (Remote Procedure Call)

RPC (Remote Procedure Call)
Remote Procedure Call (RPC) adalah sebuah metoda yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk bisa melakukan ini sebuah komputer (server) harus menyediakan layanan remote prosedur. Pendekatan yang dilakuan adalah, sebuah server membuka socket, menunggu client yang meminta proseduryang disediakan oleh server.
Remote Procedure Call masih menggunakan cara primitive dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure.
Java RMI
Pendekatan kedua yang akan kita perkenalkan adalah RMI (Remote Method Invocation), sebuah teknik pemanggilan method remote yang lebih bagus daripada RPC. RMI menggunakan paradigma pemrograman berorientasi objek (OOP). Dengan RMI memungkinkan memungkinkan untuk mengirim objek sebagai parameter dari remote method. Dengan dibolehkannya program java memanggil method pada remote objek, RMI membuat user dapat mengembakan Java Application yang terdistribusi pada jaringan
Untuk membuat remote method bisa diakses RMI mengimplementasikan remote object menggukan stub dan skleton. Stub bertindak sebagai proxy disisi client, yaitu yang menghubungkan client dengan skleton yang berada disisi server. Stub yang ada disisi client bertanggung jawab untuk membungkus nama method yang akan diakses, dan parameternya, hal ini biasa dikenal dengan marshalling. Stub mengirim paket yang sudah dibungkus ini ke server dan akan di buka (unmarshalling) oleh skleton. Skleton akan menerima hasil keluaran yang telah diproses oleh method yang dituju, lalu akan kembali dibungkus (marshal) dan dikirim kembali ke client yang akan diterima oleh stub dan kembali dibuka paketnya (unmarshall).
Pembuatan Remote Objek
Untuk membuat remote objek kita harus mendefinisikan semua method yang akan kita sediakan pada jaringan, setelah itu dapat digunakan RMI compiler untuk membuat stub dan skleton. Setelah itu kita harus mem-binding remote objek yang kita sediakan kedalam sebuah RMI registry. Setelah itu client dapat mengakses semua remote method yang telah kita sediakan menggunkan stub yang telah dicompile menggunakan RMI compiler terebut.
Akses ke Remote Objek
Sekali objek didaftarkan ke server, client dapat mengakses remote object dengan menjalankan Naming.lookup() method.RMI menyediakan url untuk pengaksesan ke remote objek yaitu rmi://host/objek, dimana host adalah nama server tempat kita mendaftarkan remote objek dan objek adalah parameter yang kita gunakan ketika kita memanggil method Naming.rebind(). Clint juga harus menginstall RMISecurityManager untuk memastikan keaman client ketika membuka soket kejaringan.

Client/Server System

Dengan makin berkembangnya teknologi jaringan komputer, sekarang ini ada kecenderungan sebuah sistem yang bekerja sama menggunakan jaringan. Dalam topik ini akan kita bahas beberapa metoda komunikasi antar proses yang melibatkan jaringan komputer.
Socket
Socket adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau thread berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket dibuat dengan menyambungkan dua buah IP Address melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu. Begitu ada client yang mengkontak server maka server akan menyetujui komunikasi dengan client melalui socket yang dibangun.
Server dan Thread
Pada umumnya sebuah server melayani client secara konkurn , oleh sebab itu dibutuhkan thread yang masing-masing thread melayani clientnya masing-masing. Jadi server akan membentuk thread baru begitu ada koneksi dari client yang diterima (accept)
Java Socket
Java menyediakan dua buah tipe socket yang berbeda. Connection-oriented (TCP) socket yang diimplentasikan oleh class java.net.Socket dan Connectionless (UDP) socket yang diimplementasikan oleh class java.lang.DatagramSocket, tipe yang ketiga adalah MulticastSocket yang merupakan perluasana (extended) dari class DatagramSocket, class ini memungkinkan kita memberikan respon ke banyak client sekaligus

Buffering

Baik komunikasi itu langsung atau tak langsung, penukaran pesan oleh proses memerlukan antrian sementara. Pada dasarnya, terdapat tiga jalan dimana antrian tersebut diimplementasikan:
Kapasitas nol: antrian mempunyai panjang maksimum 0, maka link tidak dapat mempunyai penungguan pesan (message waiting). Dalam kasus ini, pengirim harus memblok sampai penerima menerima pesan.
Kapasitas terbatas: antrian mempunyai panjang yang telah ditentukan, paling banyak n pesan dapat dimasukkan. Jika antrian tidak penuh ketika pesan dikirimkan, pesan yang baru akan menimpa, dan pengirim pengirim dapat melanjutkan eksekusi tanpa menunggu. Link mempunyai kapasitas terbatas. Jika link penuh, pengirim harus memblok sampai terdapat ruang pada antrian.
Kapasitas tak terbatas: antrian mempunyai panjang yang tak terhingga, maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah di blok.

SINKRONISASI

Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data primitive. Terdapat rancangan yang berbeda-beda dalam implementasi setiap primitive. Pengiriman pesan mungkin dapat diblok (blocking) atau tidak dapat dibloking (nonblocking) – juga dikenal dengan nama sinkron atau asinkron.
Pengiriman yang diblok: Proses pengiriman di blok sampai pesan diterima oleh proses penerima (receiving process) atau oleh mailbox.
Pengiriman yang tidak diblok: Proses pengiriman pesan dan mengkalkulasi operasi.
 Penerimaan yang diblok: Penerima mem blok samapai pesan tersedia.
Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid atau null.
LATAR BELAKANG TERJADINYA SINKRONISASI :
Akses-akses yang dilakukan secara bersama-sama ke data yang sama, dapat menyebabkan data menjadi tidak konsisten.
Untuk menjaga agar data tetap konsisten, dibutuhkan mekanisme-mekanisme untuk memastikan pemintaan ekseskusi dari proses yang bekerja.
Race Condition: Situasi dimana beberapa proses mengakses dan memanipulasi data secara bersamaan. Nilai terakhir dari data bergantung dari proses mana yang selesai terakhir.
Untuk menghindari Race Condition, proses-proses secara bersamaan harus disinkronisasikan.

Sebagai contohnya adalah Kasus Produsen-Konsumer
Dua proses berbagi sebuah buffer dengan ukuran yang tetap. Salah satunya produser, meletakkan informasi ke buffer yang lainnya. Konsumen mengambil informasi dari buffer. Ini juga dapat digeneralisasi untuk masalah yang memiliki m buah produsen dan n buah konsumen, tetapi kita hanya akan memfokuskan kasus dengan satu produsen dan satu konsumen karena diasumsikan dapat menyederhanakan solusi.
Masalah akan timbul ketika produsen ingin menaruh barang yang baru tetapi buffer sudah penuh. Solusi untuk produsen adalah istirahat (sleep) dan akan dibangunkan ketika konsumen telah mengambil satu atau lebih barang dari buffer. Biasanya jika konsumen ingin mengambil barang dari buffer dan melihat bahwa buffer sedang kosong, maka konsumen istirahat (sleep) sampai produsen meletakkan barang pada buffer dan membangunkan (wake up) consumer.
Pendekatan seperti ini terdengar cukup sederhana, tetapi hal ini dapat menggiring kita ke jenis masalah yang sama seperti race condition dengan spooler direktori.
Untuk mengetahui jumlah barang di buffer, kita membutuhkan sebuah variabel kita namakan count. Jika jumlah maksimum dairi barang yang dapat ditampung buffer adalah N, kode produser pertama kali akan mencoba untuk mengetahui apakah nilai count sama dengan nilai N. Jika itu terjadi maka produsen akan istirahat (sleep), tetapi jika nilai count tidak sama dengan N, produsen akan terus menambahkan barang dan menaikkan nilai count.
Sekarang mari kita kembali ke permasalahan race condition. Ini dapat terjadi karena akses ke count tidak dipaksakan. Situasi seperti itu mungkin dapat terjadi. Buffer sedang kosong dan konsumen baru saja membaca count untuk melihat apakah count bernilai 0. Pada saat itu, penjadual memutuskan untuk mengentikan proses konsumen sementara dan menjalakan produsen. Produsen memasukkan barang ke buffer, menaikkan nilai count, dan memberitahukan bahwa count sekarang bernilai 1. Pemikiran bahwa count baru saja bernilai 0 sehingga konsumen harus istirahat (sleep). Produsen memanggil fungsi wake up untuk membangkitkan konsumen.
Sayangnya, konsumen secara logika belum istirahat. Jadi sinyal untuk membangkitkan konsumen, tidak dapat ditangkap oleh konsumen. Ketika konsumen bekerja berikutnya, konsumen akan memeriksa nilai count yang dibaca sebelumnya, dan mendapatkan nilai 0, kemudian konsumen istirahat (sleep) lagi. Cepat atau lambat produsen akan mengisi buffer dan juga pergi istirahat (sleep). Keduanya akan istirahat selamanya.
Inti permasalahannya disini adalah pesan untuk membangkitkan sebuah proses tidak tersampaikan. Jika pesan/ sinyal ini tersampaikan dengan baik, segalanya akan berjalan lancar
i.Race Condition
Race Condition adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir selesai. Unutk mencegah race condition, proses-proses yang berjalan besamaan haus di disinkronisasi.
Dalam beberapa sistem operasi, proses-proses yang berjalan bersamaan mungkin untuk membagi beberapa penyimpanan umum, masing-masing dapat melakukan proses baca (read) dan proses tulis (write). Penyimpanan bersama (shared storage) mungkin berada di memori utama atau berupa sebuah berkas bersama, lokasi dari memori bersama tidak merubah kealamian dari komunikasi atau masalah yang muncul. Untuk mengetahui bagaimana komunikasi antar proses bekerja, mari kita simak sebuah contoh sederhana, sebuah print spooler. Ketika sebuah proses ingin mencetak sebuah berkas, proses tersebut memasukkan nama berkas ke dalam sebuah spooler direktori yang khusus. Proses yang lain, printer daemon, secara periodik memeriksa untuk mengetahui jika ada banyak berkas yang akan dicetak, dan jika ada berkas yang sudah dicetak dihilangkan nama berkasnya dari direktori.
Bayangkan bahwa spooler direktori memiliki slot dengan jumlah yang sangat besar, diberi nomor 0, 1, 2, 3, 4,... masing-masing dapat memuat sebuah nama berkas. Juga bayangkan bahwa ada dua variabel bersama, out, penunjuk berkas berikutnya untuk dicetak, dan in, menunjuk slot kosong di direktori. Dua vaiabel tersebut dapat menamgami sebuah two-word berkas untuk semua proses. Dengan segera, slot 0, 1, 2, 3 kosong (berkas telah selesai dicetak), dan slot 4, 5, 6 sedang terisi (berisi nama dari berkas yang antre untuk dicetak). Lebih atau kurang secara besamaan, proses A dan B, mereka memutuskan untuk antre untuk sebuah berkas untuk dicetak. Situasi seperti ini diperlihatkan oleh gambar di bawah ini:

Dalam Murphy's Law kasus tesebut dapat terjadi. Proses A membaca in dan menyimpan nilai "7" di sebuah variabel lokal yang disebut next_free_slot. Sebuah clock interrupt terjadi dan CPU memutuskan bahwa proses A berjalan cukup lama, sehingga digantika oleh proses B. Proses B juga membaca in, dan juga mengambil nilai 7, sehingga menyimpan nama berkas di slot nomor 7 dan memperbaharui nilai in menjadi 8. Maka proses mati dan melakukan hal lain.
Akhirnya proses A berjalan lagi, dimulai dari tempat di mana proses tersebut mati. Hal ini terlihat dalam next_free_slot, ditemukan nilai 7 di sana, dan menulis nama berkas di slot nomor 7, menghapus nama berkas yang bau saja diletakkan oleh proses B. Kemudian proses A menghitung next_free_slot + 1, yang nilainya 8 dan memperbaharui nilai in menjadi 8. Direktori spooler sekarang secara internal konsisten, sehingga printer daemon tidak akan memberitahukan apa pun yang terjadi, tetapi poses B tidak akan mengambil output apa pun. Situasi seperti ini, dimana dua atau lebih proses melakukan proses reading atau writing beberapa shared data dan hasilnya bergantung pada ketepatan berjalan disebut race condition.

b.Critical Section
Bagaimana menghindari race conditions? Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama. Dengan kata lain kita memutuhkan mutual exclusion, sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya.
Masalah menghindari race conditions dapat juga diformulasikan secara abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal lain yang tidak menggiring ke kondisi race conditions. Bagaimana pun setiap kali sebuah proses mengakses shared memory atau shared berkas atau melakukan sesuatu yang kitis akan menggiring kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical Section atau Critical Region.
Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik:
Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
Tidak ada proses yang menunggu selamamya untuk masuk critical section.
Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses. Terdiri dari:
Entry Section: kode yang digunakan untuk masuk ke dalam critical section
Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu
Exit Section: akhir dari critical section, mengizinkan proses lain
Remainder Section: kode istirahat setelah masuk ke critical section
Critical section harus melakukan ketiga aturan berikut:
Solusi yang diberikan harus memuaskan permintaaan berikut:
Mutual exclution
Deadlock free
Starvation free
Pendekatan yang mungkin untuk solusi proses sinkronisasi
Solusi Piranti lunak (Software solution)
Tanpa Sinkronisasi.
Dengan Sinkronisasi.
Low-level primitives: semaphore
High-level primitives: monitors
Solusi Piranti Keras (Hardware solution)

Komunikasi Antar Proses

1.Sistem Berbagi Memori
Sistem Berbagi Memori atau yang disebut juga sebagai Shared Memory System merupakan salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu sehingga pekerjaan dapat dilakukan secara efektif.
2.Sistem Berkirim Pesan
Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. Ketika dua bagian sistem ingin berkomunikasi satu sama lain, yang harus dilakukan pertama kali adalah membuat sebuah link komunikasi antara keduanya. Setelah itu, kedua bagian itu dapat saling bertukar pesan melalui link komunikasi tersebut.
Sistem berkirim pesan sangat penting dalam sistem operasi. Karena dapat diimplementasikan dalam banyak hal seperti pembagian memori, pembagian bus, dan melaksanakan proses yang membutuhkan pengerjaan bersama antara beberapa bagian sistem operasi.
Terdapat dua macam cara berkomunikasi, yaitu:
Komunikasi langsung.
Dalam komunikasi langsung, setiap proses yang ingin berkirim pesan harus mengetahui secara jelas dengan siapa mereka berkirim pesan. Hal ini dapat mencegah pesan salah terkirim ke proses yang lain. Karakteristiknya antara lain:
Link dapat otomatis dibuat
Sebuah link berhubungan dengan tepat satu proses komunikasi berpasangan
Diantara pasangan itu terdapat tepat satu link
Link tersebut biasanya merupakan link komunikasi dua arah

Setiap proses yang ingin berkomunikasi harus memiliki nama yang bersifat eksplisit baik penerimaan atau pengirim dari komunikasi tersebut. Dalam konteks ini, pengiriman dan penerimaan pesan secara primitive dapat dijabarkan sebagai:
Send (P, message) – mengirim sebuah pesan ke proses P.
Receive (Q, message) – menerima sebuah pesan dari proses Q.
Sebuah jaringan komunikasi pada bahasan ini memiliki beberapa sifat, yaitu:
Sebuah jaringan yang didirikan secara otomatis diantara setiap pasang dari proses yang ingin dikomunikasikan. Proses tersebut harus mengetahui identitas dari semua yang ingin dikomunikasikan.
Sebuah jaringan adalah terdiri dari penggabungan dua proses.
Diantara setiap pesan dari proses terdapat tepat sebuah jaringan.
Pembahasan ini memperlihatkan sebuah cara simetris dalam pemberian alamat. Oleh karena itu, baik keduanya yaitu pengirim dan penerima proses harus memberi nama bagi yang lain untuk berkomunikasi, hanya pengirim yang memberikan nama bagi penerima sedangkan penerima tidak menyediakan nama bagi pengirim. Dalam konteks ini, pengirim dan penerima secara sederhana dapat dijabarkan sebagai:
•    Send (P, message) – mengirim sebuah pesan kepada proses P.
•    Receive (id, message) – menerima sebuah pesan dari semua proses. Variabel id diatur sebagai nama dari proses dengan komunikasi.

Komunikasi tidak langsung.
Berbeda dengan komunikasi langsung, jenis komunikasi ini menggunakan sejenis kotak surat atau port yang mempunyai ID unik untuk menerima pesan. Proses dapat berhubungan satu sama lain jika mereka membagi port mereka. Karakteristik komunikasi ini antara lain:
Link hanya terbentuk jika beberapa proses membagi kotak surat mereka
Sebuah link dapat terhubung dengan banyak proses
Setiap pasang proses dapat membagi beberapa link komunikasi
Link yang ada dapat merupakan link terarah ataupun link yang tidak terarah
Dengan komunikasi tidak langsung, pesan akan dikirimkan pada dan diterima dari/ melalui mailbox (kotak surat) atau terminal-terminal, sebuah mailbox dapat dilihat secara abstrak sebagai sebuah objek didalam setiap pesan yang dapat ditempatkan dari proses dan dari setiap pesan yang bias dipindahkan. Setiap kotak surat memiliki sebuah identifikasi (identitas) yang unik, sebuah proses dapat berkomunikasi dengan beberapa proses lain melalui sebuah nomor dari mailbox yang berbeda.
Dua proses dapat saling berkomunikasi apabila kedua proses tersebut sharing mailbox.
Pengirim dan penerima dapat dijabarkan sebagai:
•    Send (A, message) – mengirim pesan ke mailbox A.
•    Receive (A, message) – menerima pesan dari mailbox A.
Dalam masalah ini, link komunikasi mempunyai sifat sebagai berikut:
•    Sebuah link dibangun diantara sepasang proses dimana kedua proses tersebut membagi mailbox.
•    Sebuah link mungkin dapat berasosiasi dengan lebih dari dua proses.
•    Diantara setiap pasang proses komunikasi, mungkin terdapat link yang berbeda-beda, dimana setiap link berhubungan pada satu mailbox.
Misalkan terdapat proses P1, P2 dan P3 yang semuanya share mailbox. Proses P1 mengirim pesan ke A, ketika P2 dan P3 masing-masing mengeksekusi sebuah kiriman dari A. Proses mana yang akan menerima pesan yang dikirim P1? Jawabannya tergantung dari jalur yang kita pilih:
•    Mengizinkan sebuah link berasosiasi dengan paling banyak 2 proses.
•    Mengizinkan paling banyak satu proses pada suatu waktu untuk mengeksekusi hasil kiriman (receive operation).
•    Mengizinkan sistem untuk memilih secara mutlak proses mana yang akan menerima pesan (apakah itu P2 atau P3 tetapi tidak keduanya, tidak akan menerima pesan). Sistem mungkin mengidentifikasi penerima kepada pengirim.
Mailbox mungkin dapat dimiliki oleh sebuah proses atau sistem operasi. Jika mailbox dimiliki oleh proses, maka kita mendefinisikan antara pemilik (yang hanya dapat menerima pesan melalui mailbox) dan pengguna dari mailbox (yang hanya dapat mengirim pesan ke mailbox).
Selama setiap mailbox mempunyai kepemilikan yang unik, maka tidak akan ada kebingungan tentang siapa yang harus menerima pesan dari mailbox. Ketika proses yang memiliki mailbox tersebut diterminasi, mailbox akan hilang. Semua proses yang mengirim pesan ke mailbox ini diberi pesan bahwa mailbox tersebut tidak lagi ada. Dengan kata lain, mempunyai mailbox sendiri yang independent, dan tidak melibatkan proses yang lain. Maka sistem operasi harus memiliki mekanisme yang mengizinkan proses untuk melakukan hal-hal dibawah ini:
•    Membuat mailbox baru.
•    Mengirim dan menerima pesan melalui mailbox.
•    Menghapus mailbox.
Proses yang membuat mailbox pertama kali secara default akan memiliki mailbox tersebut. Untuk pertama kali, pemilik adalah satu-satunya proses yang dapat menerima pesan selalui mailbox ini.

Jumat, 11 Juni 2010

ringkasan film ALVIN AND THE CHIPMUNKS

Alvin, Simon, dan Theodore adalah 3 ekor tupai yang bisa menyanyi, berbicara dan pintar. Mereka tinggal di sebuah pohon di Danau Siera sampai pohon itu di bawa ke kota besar Los Angeles, California. Dave Seville (Jason Lee) penulis lagu yang terkenal di seluruh Los Angeles bertemu dengan tupai-tupai ini dan membuat kekacauan di rumah Dave. Akhirnya setelah mereka membuat perjanjian dengan Dave akhirnya Dave mencoba mengorbitkan mereka karena keahlian mereka dalam bernyanyi, akan tetapi karena tupai-tupai ini demam panggung akhirnya mereka kehilangan kemampuan menyanyinya dan membuat Dave tampak konyol di depan boss-nya dan akhirnya Dave dipecat oleh bosnya, Ian Hawke (David Cross).
Selain itu Dave juga kehilangan Claire (Cameron Richardson), mantan pacarnya, karena ketika ia menemui Dave di rumahnya untuk makan malam, Dave mencertitakan tentang tupai-tupainya yang bisa berbicara dan bernyanyi, sehingga Claire merasa Dave mengolok-oloknya. Akhirnya Alvin, Simon dan Theodore berusaha memperbaiki itu semua dengan mendatangi rumah Ian, sehingga Ian kembali percaya kepada Dave. Akibat kemampuan bernyanyi mereka Alvin and The Chipmunks terkenal di seluruh Amerika Serikat lewat lagu Christmas Don't Be Late.
Kisahnya berawal saat 3 ekor tupai yang bisa berbicara dan pandai bernyanyi tinggal bersama dave Seville, 3 tupai ini bernama Alvin, simon dan theodore mereka bisa tinggal bersama dave karena pohon tempat mereka tinggal di tebang untuk di jadikan pohon natal di sebuah perusahaan produksi music. Kemudian saat pohon di hias dengan aksesoris pohon natal 3 tupai ini keluar dari pohon dan mencari tempat lain kemudian mereka masuk ke tempat kue yang di bawa oleh dave, dave sendiri dapat keranjang kue yang bearisi muffin ini dari salah satu karyawan perusahaan yang diambilnya.
Dave sendiri adalah pencipta lagu yang terkenal di Los Angeles, kalifornia. Dimana hari itu dave akan mendemokan lagu terbarunya, tapi lagu yang dave buat di tolak oleh ian (produser musik) karena musiknya di anggap kurang fres dan sangat monoton, dave yang awalnya diperlakukan dengan baik oleh karyawan yang lain tiba tiba sikap mereka berubah saat dave keluar dari ruangan ian, maka dari itu dave membawa lari keranjang kue dari salah satu karyawan.
Kemudisn dave pulang kerumah dengan keranjang muffinnya yang tanpa dia sadari di dalam keranjang itu ada 3 tupai. Sesampainya di rumah dave membuang keranjang yang berisi muffin tersebut ke tempat sampah. Dave kemudian beristirahat sambil menonton televisi. Pada saat dave menikmati acara telivisi dia di ganggu oleh suara aneh dari dapurnya yang posisinya berada di belakang tempatnya menonton televisi. Kemudian dia mencari asal tempat ribut tersebut tapi dave tidak menemukan apapun,kemudian dave kembali menonton televisi. Sebelum sampai di tempat duduk untuk menonton televise kembali ada yang aneh dari 3 mangkok yang bergerak sendiri kemudaian dave mendekati mangkok itu dan membukanya tapi tidak ada sesuatu. Kemudian dave meninggalkan mankok itu dan ternyata saat dave maju beberapa langkah 3 mangkok itu dalam keadaan bergerak dan terbuka, kemudian dia juga mendengar suara pintu lemari dapur tertutup kemudian dave mendekatinya , sambil membawa sepatula dia membuka pintu lemari dapur itu sambil mengacak-acak isinya, dia berusaha mencari sesuatu yang membuat ribut di dapur.
Kemudian dave di kagetkan dengan kemunculan 3 tupai tersebut dan yang membuat dave merasa kaget dan tak percaya adalah ketiga tupai tersebut bisa berbicara padanya. Dave merasa ketakutan dan menangkap 3 tupai tersebut dengaan ember dan membuangnya ke luar rumah. Ketiga tupai tersebut berusaha masuk kembali ke kamar dave tapi tidak bisa karena pintu dan jendela rumah dave telah di kunci.
Dave merasa kaget ketika mendengar suara nyanyian, dia mendengarkan dengan teliti sambil membuka jendela rumah dan ternyata yang terlihat adalah 3 tupai yang sedang bernyanyi. Akhirnya dave merasa senang dan memperbolehkan mereka tinggal di rumah dave.
Dengan mengandalkan 3 tupai yang bisa bernyanyi dave berencana untuk menunjukkannya kepada ian. Dia berharap ian akan senang dengan ke tiga tupai tersebut. Setelah semalaman dave membuat miniature sebuah rumah dengan pemandangan musim salju akhirnya dave mambawa ketiga tupai tersebut ke kantor ian. Sesampainya di kantor dave langsung menunjukkan tupai tersebut pada ian. Tapi ian merasa kaget karena tupai tersebut tidak bisa bernyanyi dan hanya diam ketakutan dan dave pun merasa bingung, akhirnya dave dan ketiga tupai tersebut di suruh kembali ke rumah.
Hari hari berikutnya adalah ketiga tupai tersebut selalu mengganggu dave dan mengacaukan seluruh isi rumah. Saat makan malam bersama claire mereka semua mengganggunya dan yang paling parah adalah ketiga tupai tersebut mencorat coret kertas persentasi dave dengan menuliskan nama-nama mereka dengan pensil warna.
Dave kembali ke rumah dengan marah karena merasa malu persentasinya telah gagal. Dia bertanya kepada ketiga tupai tersebut tapi dave malah mendapat jawaban yang sangat tenang dari ketiga tupai tersebut. Mendengar jawaban dari ketiga tupai tersebut dave bertambah marah dan dave berencana untuk mengembalikan ketiga tupai tersebut ke tempat aslanya yaitu di pohon tapi dave tidak tega.
Alvin. Simon dan theodore marasa bersalah karena sudah membuat dave marah kemudian malam harinya ketiga tupai tersebut berangkat ke rumah ian untuk menunjukkan bakat menyanyinya.
Keesokan harinya dave mengajak ketiga tupai tersebut berbelanja ke supermarket dan seperti biasa meraka mambuat ulah hingga dave kualahan. Saat memarahi ketiga tupai tersebut dave tiba-tiba tersenti karena mendengar nyanyian ketiga tupai tersebut dari soud system yang berada di supermarket tersebut. Tak lama dengan rasa kagetnya tiba-tiba handpone dave berdering. Ternya ta dari ian dan dia memberi selamat pada dave karena telah mendapatkan kontrak rekaman. Dave pun merasa senang dan cepat-cepat kembali ke rumah.
Pada malam harinya salah satu dari tiga tupai tersebut yang bernama theodore meminta untuk tidur bersama dave dan dave pun menyetujuinya. Esok telah tiba dan hari itu adalah natal. Alvin, simon dan theodore membangunkan dave dan bergerak ke ruang tamu untuk memberikan kado natal untuk dave, Alvin memberikan kompas untuk dave, simon memberikan dompet dan tidore member dave sebuah gambar mereka berempat, tapi dave merasa heran karena gambaran itu seperti buah nanas kemudian theodore menjelaskan jka mereka berempat adalah keluarga.
Dave tidak menyetujui permintaan dari tidore karena dave hanya menganggap mereka teman kerja saja. Giliran dave yang memberikan hadiah, dave memberi mereka check dengan tulisan sejumlah uang untuk membeli keperluan mereka di dalam anvelope dan tak lama kemudian dating ian dengan membawakan begitu banyak hadiah untuk Alvin, simon dan theodore. Mereka bertiga merasa senang karena mendaptkan hadiah mainan dari ian.
Setiap hari mereka hanya membuat gaduh di rumah dave dan selalu memberikan pujian pada ian. Ian juga mengirimkan pembantu rumah tangga ke rumah dave. Dave akhirnya marah dan menyuruh Alvin, simon dan theodore untuk tinggal di rumah ian.
Tentu saja Alvin, simon and theodore merasa senang karena di rumah ian mereka bisa mendapat permainan yang sangat banyak dan bebas untuk memainkannya. Tapi kesenangan itu hanya sementara, setelah mereka menjadi terkenal mereka mereka tak punya waktu lagi untuk bermain karena jadwal konser mereka yang cukup padat. Ian terus memeksa mereka untuk selalu konsen dalam menyanyi hingga akhirnya ketiga tupai tersebut jatuh sakit karena telah banyak melakukan aktivitas tanpa istirahat.
Setelah berpisah dengan Alvin, simon dan Theodore, dave selalu memperhatikan mereka dan dave merasa Alvin, simon dan Theodore di manfaatkan oleh dave untuk mencari keuntungan yang begitu banyak. Dave mencoba menghubungi mereka lewat ian. Tapi malah ian menolak dan berbicara tidak jelas kepada dave.
Setelah sakit ketiga tupai tersebut menjadi kurang semangat tapi ian tetap melanjutkan untuk melakukan pertunjukan. Dave tak bisa tinggal diam, dia kemudaian berangkat ke tempat dimana Alvin and the chipmunks akan melakukan pertunjukan.
Awalnya dave tidak bisa masuk karena penjaga pintu telah karena nama dave tidak tercatat. Tapi dave beruntung bertemu dengan Claire yang bisa membawanya masuk. Saat di dalam dave ingin mendekati ketiga tupai tersebut yang sedang asyik bernyanyi tapi dave di tahan oleh bodyguard ian.
Dave memanggil nama Alvin dengan keras akhirnya Alvin mendengar dan mengacaukan pertunjukan tersebut. Alvin, simon dan Theodore ingin pulang bersama dave tapi mereka malah tertangkap oleh ian. Dave pun pulang dengan perasaan yang sedih tapi dave terkejud saat muncul 3 tupai dalam mobilnya akhirnya dave merasa senang bisa pulang bersama tiga tupai tersebut yaitu Alvin, simon dan Theodore dan dan dave akhirnya menganggap mereka sebagai keluarga.

Gigabit Ethernet

Gigabit Ethernet merupakan perpanjangan ke 10 Mbps yang sangat sukses dan 100 Mbps Ethernet standar. Menawarkan tingkat data mentah dari 1000 Mbps, Gigabit Ethernet memelihara kompatibilitas penuh dengan besar diinstal dasar peralatan Ethernet. Standar untuk Gigabit Ethernet, disebut sebagai IEEE 802.3z, apakah sebagai berikut:
Menggunakan format frame Ethernet standar (Gambar 5.4.1), dan kompatibel dengan 10BaseT dan 100BaseT teknologi. Hal ini memungkinkan untuk integrasi mudah Gigabit Ethernet dengan basis terpasang yang ada peralatan Ethernet.
Memungkinkan untuk link point-to-point serta berbagi saluran siaran. Point-to-point link menggunakan switch (lihat Bagian 5.6) di mana sebagai saluran siaran menggunakan hub, seperti dijelaskan di atas untuk 10BaseT dan 100 BaseT. Un Gigabit Ethernet jargon, hub disebut "distributor buffer".
Menggunakan CSMA / CD untuk saluran siaran bersama. Untuk mendapatkan efisiensi dapat diterima, jarak maksimum antara node harus sangat dibatasi.
Memungkinkan untuk operasi dupleks penuh pada 1000 Mbps di kedua arah untuk saluran point-to-point.
Seperti 10BaseT dan 100BaseT, Gigabit Ethernet memiliki topologi star dengan sebuah hub atau switch pada pusatnya. (Switch Ethernet akan dibahas dalam Bagian 5.6) Gigabit Ethernet. Sering berfungsi sebagai tulang punggung untuk beberapa interkoneksi 10 Mbps dan 100 Mbps Ethernet LAN. Awalnya mengoperasikan lebih dari serat optik, Gigabit Ethernet akan dapat menggunakan kabel UTP Kategori 5.
Gigabit Ethernet Alliance adalah sebuah forum terbuka yang bertujuan untuk mempromosikan kerjasama industri dalam pengembangan Gigabit Ethernet. Situs Web mereka adalah sumber yang kaya informasi tentang Gigabit Ethernet [Alliance 1999]. Interoperabilitas Lab di University of New Hampshire juga mengelola sebuah bagus
Halaman pada Gigabit Ethernet [Inter 1999].

10BaseT and 100BaseT pada ethernet

Kami membahas and100BaseT 10BaseT Ethernet bersama-sama, karena teknologi yang sama. Perbedaan yang paling penting antara mereka adalah bahwa 10BaseT mentransmisikan pada 10 Mbps dan 100BaseT Ethernet mentransmisikan pada 100 Mbps. 100BaseT juga biasa disebut "Ethernet cepat" dan "100 Mbps Ethernet". 10BaseT dan 100BaseT juga teknologi Ethernet sangat populer, bahkan, untuk instalasi baru, Ethernet 10BaseT dan sering hari ini teknologi pilihan. Baik 10BaseT dan 100BaseT Ethernet menggunakan topologi bintang
Dalam topologi star ada perangkat pusat yang disebut hub (juga kadang-kadang disebut konsentrator a) Setiap adapter pada setiap node. Memiliki koneksi, langsung point-to-point ke hub. sambungan ini terdiri dari dua pasang kawat tembaga twisted-pair, satu untuk transmisi dan lainnya untuk menerima. Pada setiap akhir sambungan ada konektor yang mirip dengan konektor RJ-45 digunakan untuk telepon biasa. The "T" di 10BaseT dan 100BaseT singkatan dari "twisted pair".
Untuk kedua 10BaseT dan 100BaseT, panjang maksimum koneksi antara adapter dan hub adalah 100 meter, panjang maksimum antara dua node adalah 200 meter. Seperti yang akan kita bahas dalam bagian berikutnya, jarak maksimum ini dapat ditingkatkan dengan menggunakan tingkatan hub, bridge, switch dan link serat. Sebuah 10BaseT Pada dasarnya, hub adalah suatu repeater: saat menerima sedikit dari adaptor, itu mengirimkan bit untuk semua adapter lainnya.
Dengan cara ini, setiap adaptor dapat (1) arti saluran untuk menentukan apakah itu idle, dan (2) mendeteksi tabrakan ketika sedang transmisi. Tapi hub populer karena mereka juga menyediakan fitur jaringan manajemen. Sebagai contoh, jika kerusakan adaptor dan terus mengirimkan frame Ethernet (apa yang disebut "adaptor mengoceh"), kemudian dalam Ethernet 10Base2 akan menjadi benar-benar berfungsi, tidak ada node akan dapat berkomunikasi.
Tapi jaringan 10BaseT akan terus berfungsi, karena hub akan mendeteksi masalah dan internal melepas adaptor rusak. Dengan fitur ini, administrator jaringan tidak harus keluar dari tempat tidur dan pulang untuk bekerja dalam rangka untuk memperbaiki masalah bagi
hacker yang bekerja larut malam. Juga, hub paling dapat mengumpulkan informasi dan melaporkan informasi tersebut ke host yang terhubung langsung ke hub. Ini host monitoring menyediakan antarmuka grafis yang menampilkan statistik dan grafik, seperti penggunaan bandwidth, tingkat tabrakan, ukuran rata-rata frame, dll Network administrator dapat menggunakan informasi ini untuk tidak hanya debug dan memperbaiki masalah, tetapi juga untuk merencanakan bagaimana LAN harus berevolusi di masa depan.
Banyak adapter Ethernet 10/100 Mbps saat ini adalah adaptor. Ini berarti mereka dapat digunakan untuk kedua 10BaseT dan 100BaseT Ethernets. 100BaseT, yang biasanya menggunakan kategori-5 twisted pair (a highquality twisted pair dengan banyak tikungan). Berbeda dengan 10Base2 dan 10BaseT, 100BaseT tidak menggunakan
Manchester encoding, namun pengkodean yang lebih efisien disebut 4B5B: setiap kelompok lima periode jam digunakan untuk mengirim 4 bit untuk memberikan transisi yang cukup untuk memungkinkan sinkronisasi jam.
Pembaca online dapat mempelajari lebih lanjut tentang 10BaseT dan 100BaseT dengan mengunjungi Halaman 10BaseT Spurgeon's dan Spurgeon's 100BaseTX halaman. Pembaca juga dianjurkan untuk membaca artikel berikut dari Data Communications pada Ethernet 100Mbps: l Fast Track: 100 Mbps Ethernet Made Easy l Test Lab: Enterprise 100Base-T Berpindah Tanpa Tunggu yang l Test Lab: 100Base-T vs 100VG-AnyLAN: The Real Fast Ethernet Kami secara singkat menyebutkan saat ini bahwa kedua 10 Mbps dan 100 Mbps Ethernet dapat menggunakan link teknologi serat. Link serat sering digunakan untuk menghubungkan ke hub yang ada di bangunan yang berbeda di kampus yang sama. Serat adalah mahal karena biaya biaya konektor nya, tetapi memiliki kekebalan suara yang sangat baik. The IEEE 802 standar izin LAN memiliki jangkauan geografis yang lebih besar ketika serat yang digunakan untuk menghubungkan node backbone.

10Base2 Ethernet

Ethernet 10Base2 10Base2 adalah teknologi Ethernet sangat populer. Jika Anda melihat bagaimana komputer Anda (di tempat kerja atau di sekolah) terhubung ke jaringan, sangat mungkin Anda akan melihat koneksi 10Base2. The "10" dalam singkatan 10Base2 untuk "10 Mbps", yang "2" singkatan dari "200 meter", yang merupakan perkiraan jarak maksimum antara setiap dua node tanpa repeater antara mereka. (Jarak maksimum yang sebenarnya adalah 185 meter.)
Sebuah Ethernet 10Base2 Kita melihat dari Gambar 5.4.3 yang 10Base2 menggunakan topologi bus, yaitu node yang terhubung (melalui adapter mereka) secara linear. Media fisik yang digunakan untuk menghubungkan node adalah kabel koaksial tipis, yang mirip dengan apa yang digunakan dalam TV kabel, tapi dengan kabel tipis dan ringan. Ketika adaptor mengirimkan bingkai, frame melewati sebuah konektor tee ";" dua salinan frame meninggalkan konektor tee, satu salinan terjadi dalam satu arah dan satu salinan ke arah lain. Sebagai bingkai perjalanan menuju terminator, mereka meninggalkan salinan di setiap node mereka lulus. (Lebih tepatnya, sebagai sedikit lewat di depan simpul, bagian dari energi kebocoran menggigit adaptor)
Ketika bingkai akhirnya mencapai. terminator, hal itu akan diserap oleh terminator tersebut. Catatan ketika adaptor mengirimkan bingkai, frame diterima oleh setiap adaptor lain di Ethernet. Jadi, 10Base2 memang sebuah teknologi siaran. Misalkan Anda ingin menghubungkan PC selusin di kantor Anda menggunakan Ethernet 10Base2.
Untuk melakukan ini, Anda akan perlu membeli kartu Ethernet dengan 12 port Ethernet tipis; 12 BNC pohon, yang benda logam kecil yang melekat pada adaptor (kurang dari satu dolar masing-masing); selusin atau lebih tipis membujuk segmen, masing-masing 5-20 meter, dan dua " terminator, "yang Anda meletakkan pada kedua ujung bus. Biaya keseluruhan
jaringan, termasuk adaptor, mungkin akan kurang dari biaya satu PC! Karena 10Base2 adalah sangat murah, sering disebut sebagai "cheapnet". Tanpa pengulang, panjang maksimum bus 10Base2 adalah 185 meter. Jika bus menjadi lebih lama lagi, maka redaman sinyal dapat menyebabkan kerusakan sistem. Juga, tanpa repeater, jumlah node maksimum adalah 30, sebagai kontribusi untuk setiap node sinyal atenuasi. Repeater dapat digunakan untuk menghubungkan 10Base2 segmen secara linear, dimana setiap segmen memiliki hingga 30 node dan memiliki panjang sampai dengan 185 meter. Sampai empat repeater dapat dimasukkan dalam Ethernet 10Base2, yang menciptakan sampai dengan lima "segmen". Jadi bus Ethernet 10Base2 dapat memiliki total panjang dari 985 meter dan mendukung sampai 150 node.
Perhatikan bahwa CSMA / CD protokol benar-benar lupa akan repeater; jika ada dua dari 150 node transmisi pada saat yang sama, akan ada tabrakan. Pembaca online dapat mempelajari lebih lanjut dengan mengunjungi halaman 10Base2 10Base2 Spurgeon's.

Ethernet Technologies

Teknologi Ethernet yang paling umum saat ini adalah 10Base2, yang menggunakan kabel koaksial tipis dalam topologi bus dan memiliki tingkat penularan 10 Mbps; 10BaseT, yang menggunakan kawat tembaga twisted-pair di suatu topologi bintang dan memiliki tingkat penularan 10 Mbps; 100BaseT , yang biasanya menggunakan kawat tembaga twisted-pair di suatu topologi bintang dan memiliki tingkat transmisi 100 Mbps, dan Gigabit Ethernet, yang menggunakan kedua serat dan kawat twisted-pair tembaga dan mengirimkan dengan kecepatan 1 Gbps. Teknologi-teknologi Ethernet dibakukan oleh IEEE 802,3 kelompok kerja. Untuk alasan inilah, Ethernet sering disebut sebagai LAN 802,3.
Sebelum membahas teknologi Ethernet tertentu, kita perlu membahas repeater, yang biasa digunakan dalam LAN maupun transportasi yang luas. repeater adalah perangkat fisik-lapisan bit yang bekerja pada individu bukan pada paket. Hal ini memiliki dua atau lebih interface. Ketika sedikit, mewakili nol atau satu satu, datang dari satu antarmuka, pengulang recreates hanya menggigit, meningkatkan kekuatan energinya, dan mengirimkan bit ke semua antarmuka lain. Mengulang umum digunakan pada LAN untuk memperpanjang rentang geografis mereka. Bila digunakan dengan Ethernet, penting untuk diingat bahwa repeater tidak menerapkan carrier penginderaan atau bagian lain dari CSMA / CD; pengulang mengulangi bit masuk pada semua interface keluar bahkan jika ada sinyal energi di beberapa antarmuka.

Ethernet Efficiency

Ketika hanya satu node memiliki bingkai untuk mengirim (yang biasanya terjadi), node dapat mengirimkan pada tingkat penuh dari teknologi Ethernet (baik 10 Mbps, 100 Mbps, atau 1 Gbps). Namun, jika banyak node untuk mengirimkan frame, laju transmisi efektif saluran dapat jauh lebih sedikit.
Kami mendefinisikan efisiensi Ethernet menjadi fraksi jangka panjang waktu selama frame ditransmisikan pada saluran tanpa tabrakan ketika ada sejumlah besar node yang aktif, dengan masing-masing node memiliki sejumlah besar bingkai untuk mengirim.
Dalam rangka memberikan pendekatan tertutup bentuk efisiensi Ethernet, biarkan tprop menyatakan waktu maksimum yang diperlukan energi sinyal untuk menyebarkan antara setiap dua adapter. Biarkan ttrans menjadi waktu untuk mengirimkan frame Ethernet ukuran maksimum (sekitar 1,2 msecs untuk 10 Mbps Ethernet).
Sebuah derivasi dari efisiensi Ethernet berada di luar cakupan buku ini (lihat [Lam 1980] dan [Bertsekas 1992]). Di sini kita hanya menyatakan pendekatan berikut: efisiensi = 1 / (1 + 5 tprop / ttrans).

Kita melihat dari formula ini bahwa pendekatan tprop 0, efisiensi pendekatan 1. Hal ini intuitif, karena jika delay propagasi adalah nol, bertabrakan node akan dibatalkan dengan segera tanpa membuang-buang saluran tersebut. Selain itu, sebagai ttrans menjadi sangat besar, pendekatan efisiensi 1. Ini juga intuitif karena ketika mengambil bingkai saluran, ia akan berpegang pada saluran tersebut untuk waktu yang sangat lama, sehingga saluran tersebut akan melakukan pekerjaan yang produktif sepanjang waktu.

CSMA/CD: Ethernet's Multiple Access Protocol

Node dalam sebuah LAN Ethernet adalah interkoneksi oleh saluran siaran, sehingga ketika adaptor mengirimkan bingkai, semua adaptor pada LAN menerima bingkai. Sebagaimana kita bahas pada bagian 5.3, Ethernet menggunakan CSMA / CD algoritma multiple access. Meringkas diskusi kita dari Bagian 5.3, ingat bahwa CSMA / CD menggunakan mekanisme sebagai berikut:
1.Adaptor mungkin mulai mengirimkan kapan saja, yaitu, tidak ada slot yang digunakan.
2.Adaptor tidak pernah mengirimkan bingkai ketika merasakan bahwa beberapa adaptor lain transmisi, yaitu menggunakan operator-sensing.
3.Sebuah adaptor transmisi dibatalkan transmisi secepat itu mendeteksi bahwa adaptor lain juga transmisi, yaitu menggunakan deteksi tabrakan.
4.Sebelum mencoba sebuah retransmisi, adaptor menunggu waktu yang acak yang biasanya kecil dibandingkan dengan kerangka waktu.
Mekanisme ini memberikan CSMA / CD kinerja jauh lebih baik daripada slotted ALOHA di lingkungan LAN. Bahkan, jika delay propagasi maksimum antara stasiun yang sangat kecil, efisiensi CSMA / CD bisa mendekati 100%. Tetapi perhatikan bahwa mekanisme kedua dan ketiga yang terdapat di atas mengharuskan setiap adapter Ethernet untuk dapat (1) akal ketika beberapa adaptor lain transmisi, dan (2) mendeteksi tabrakan ketika sedang transmisi. Ethernet adapter melakukan kedua tugas dengan mengukur tingkat tegangan transmisi sebelum dan selama. adaptor Setiap menjalankan CSMA / CD protocol tanpa koordinasi eksplisit dengan adaptor lain di Ethernet. Dalam adaptor khusus, CSMA / CD protokol bekerja sebagai berikut:
1.Adaptor ini mendapatkan sebuah PDU layer jaringan dari node induknya, menyiapkan frame Ethernet, dan menempatkan frame dalam buffer adaptor.
2.Jika indera adaptor saluran tersebut sudah idle (yakni, tidak ada energi sinyal dari saluran masuk adaptor), itu mulai mengirimkan frame. Jika indera adaptor saluran tersebut sedang sibuk, itu menunggu sampai tidak ada indra energi sinyal (ditambah beberapa ratus mikrodetik) dan kemudian mulai mengirim frame.
3.Sedangkan transmisi, adaptor memantau kehadiran energi sinyal yang datang dari adapter lainnya. Jika adaptor mentransmisikan frame seluruh energi tanpa mendeteksi sinyal dari adapter lainnya, adaptor dilakukan dengan frame.
4.Jika adaptor energi mendeteksi sinyal dari adapter lainnya saat transmisi, berhenti transmisi frame dan bukannya mengirimkan sinyal jam 48-bit.
5.Setelah batal (yaitu, transmisi sinyal jam), adaptor backoff memasuki fase eksponensial.
Secara khusus, ketika transmisi bingkai diberikan, setelah mengalami tumbukan n berturut-turut untuk frame ini, adaptor memilih nilai untuk K secara acak dari (0,1,2 ,..., 2m - 1) dimana m: = min (n, 10). Adaptor kemudian menunggu K x kali 512 bit dan kemudian kembali ke Langkah 2. Sebuah beberapa komentar tentang CSMA / CD protokol tentunya dalam urutan
Tujuan dari sinyal jam adalah untuk memastikan bahwa semua adapter transmisi lainnya menyadari tumbukan. Mari kita lihat sebuah contoh. Misalkan adaptor A mulai mengirimkan bingkai, dan tepat sebelum sinyal mencapai A B adaptor, adaptor B mulai mengirim. Jadi B akan dikirim hanya beberapa bit ketika transmisi dibatalkan.
Beberapa ini bit memang akan merambat ke A, tetapi mereka mungkin tidak merupakan tenaga yang cukup untuk untuk mendeteksi tumbukan. Untuk memastikan bahwa A mendeteksi tumbukan (sehingga untuk juga dapat membatalkan), B mengirimkan sinyal jam 48-bit. Berikutnya mempertimbangkan backoff algoritma eksponensial.
Hal pertama yang harus perhatikan di sini adalah bahwa waktu sedikit (misalnya, waktu untuk mengirimkan satu bit) sangat singkat; untuk 10 Mbps Ethernet, waktu bit adalah 0,1 mikrodetik. Sekarang mari kita lihat sebuah contoh. Misalkan bahwa upaya adaptor untuk pertama kalinya untuk mengirimkan bingkai, dan sementara transmisi mendeteksi tabrakan. Adaptor kemudian memilih K = 0 dengan probabilitas 0,5 dan memilih
K = 1 dengan probabilitas 0,5.
Jika adaptor memilih K = 0, maka langsung melompat ke Langkah 2 setelah transmisi sinyal selai. Jika adaptor memilih K = 1, menunggu 51,2 mikrodetik sebelum kembali ke Langkah 2. Setelah tabrakan kedua, K dipilih dengan probabilitas yang sama dari (0,1,2,3). Setelah tiga tabrakan, K dipilih dengan probabilitas yang sama dari (0,1,2,3,4,5,6,7).
Setelah sepuluh atau tabrakan lebih, K dipilih dengan probabilitas yang sama dari (0,1,2 ,..., 1023). Jadi ukuran set yang dipilih K tumbuh secara eksponensial dengan jumlah tumbukan (sampai n = 10); itu adalah untuk alasan inilah algoritma backoff Ethernet adalah disebut sebagai "backoff eksponensial". Standar Ethernet memberikan batasan pada jarak antara dua node. Batasan ini memastikan bahwa jika A adaptor memilih nilai yang lebih rendah dari K dari semua adapter lain yang terlibat dalam tabrakan, lalu adaptor A
akan dapat mengirim frame tanpa mengalami benturan baru. Kami akan mencari properti ini lebih terinci dalam masalah pekerjaan rumah.
Mengapa menggunakan backoff eksponensial? Mengapa tidak, misalnya, pilih K dari (0,1,2,3,4,5,6,7) setelah tumbukan setiap? Alasannya adalah bahwa ketika sebuah adaptor pengalaman tabrakan pertama, ia tidak tahu berapa banyak adapter yang terlibat dalam tabrakan. Jika hanya ada sejumlah kecil bertabrakan adapter, masuk akal untuk memilih K dari satu set nilai-nilai kecil kecil.
Di sisi lain, jika adapter banyak terlibat dalam tumbukan, masuk akal untuk memilih K dari yang lebih besar, lebih terpencar set nilai-nilai (mengapa?). Dengan meningkatkan ukuran dari himpunan masing-masing setelah tumbukan, adaptor ini tepat menyesuaikan dengan skenario yang berbeda. Kami juga mencatat di sini bahwa setiap kali adaptor menyiapkan bingkai baru untuk transmisi, itu menjalankan CSMA / CD algoritma di atas. Secara khusus, adaptor tidak memperhitungkan setiap benturan yang mungkin terjadi di masa lalu. Jadi adalah mungkin bahwa adaptor dengan bingkai baru akan mampu untuk segera menyelinap dalam transmisi sukses sementara beberapa adapter lainnya di negara backoff eksponensial.

Baseband Transmission and Manchester Encoding

Ethernet menggunakan transmisi baseband, yaitu, adaptor mengirim sinyal digital langsung ke saluran siaran. Kartu antarmuka tidak pergeseran sinyal ke band frekuensi yang lain, seperti yang dilakukan ADSL dan sistem kabel modem. Ethernet juga menggunakan pengkodean Manchester, seperti yang ditunjukkan pada Gambar 5,5-3. Dengan Manchester encoding setiap bit berisi transisi, sebuah 1 telah transisi dari sampai ke bawah, sedangkan nol telah transisi dari bawah. Alasan untuk pengkodean Manchester adalah bahwa jam di pengirim dan penerima adapter tidak sempurna disinkronisasi. Dengan termasuk transisi di tengah masing-masing bit, host menerima dapat menyinkronkan jam untuk bahwa dari pengiriman host. Setelah jam adaptor penerima yang akan disinkronkan, penerima dapat menggambarkan setiap bit dan menentukan apakah itu satu atau nol. Manchester pengkodean merupakan operasi lapisan fisik bukan operasi link-layer, namun, kami telah diuraikan secara singkat di sini seperti yang digunakan secara luas di Ethernet.

An Unreliable Connectionless Service

Semua teknologi Ethernet menyediakan layanan connectionless ke lapisan jaringan. Artinya, ketika adaptor A ingin mengirim datagram ke adaptor B, adaptor A mengenkapsulasi datagram dalam sebuah frame Ethernet dan mengirimkan frame ke LAN, tanpa terlebih dahulu "handshaking" dengan adaptor B. ini lapisan-2 layanan connectionless adalah analog ke layanan-3 lapisan datagram IP dan UDP's lapisan-4 layanan connectionless. Semua teknologi Ethernet menyediakan layanan diandalkan ke lapisan jaringan. Secara khusus ketika adaptor B menerima frame dari A, adaptor B tidak mengirim acknowledgment ketika bingkai melewati pemeriksaan CRC (juga tidak mengirim pengakuan negatif ketika bingkai gagal cek CRC). Adapter A memiliki sedikit pun tidak tahu apakah sebuah frame tiba dengan benar atau salah. Ketika bingkai gagal pemeriksaan CRC, adaptor B hanya membuang frame.
Kurangnya transportasi yang dapat diandalkan (di link layer) membantu untuk membuat Ethernet sederhana dan murah. Tetapi juga berarti bahwa aliran datagram diteruskan ke lapisan jaringan dapat memiliki kesenjangan. Jika ada kesenjangan karena frame Ethernet dibuang, apakah aplikasi-lapisan protokol di host B melihat kesenjangan juga? Seperti yang kita pelajari dalam Bab 3, ini hanya tergantung pada apakah aplikasi menggunakan UDP atau TCP. Jika aplikasi menggunakan UDP, maka aplikasi-lapisan protokol di host B memang akan menderita dari kesenjangan dalam data. Di sisi lain, jika aplikasi yang menggunakan TCP, maka TCP akan di host B tidak akan mengakui data dibuang, menyebabkan TCP dalam host A untuk memancarkan kembali. Perhatikan bahwa ketika TCP mentransmisikan kembali data, Ethernet mentransmisikan kembali data juga. Tetapi kita harus ingat bahwa Ethernet tidak tahu bahwa itu retransmitting. Ethernet berpikir itu adalah sebuah merek menerima datagram baru dengan merek data baru, meskipun datagram ini berisi data yang telah dikirim minimal sekali.

Ethernet Frame Structure

Mengingat bahwa ada banyak teknologi Ethernet yang berbeda di pasaran saat ini, apa yang mereka miliki bersama, apa yang mengikat mereka bersama-sama dengan nama yang sama? Pertama dan terpenting adalah struktur frame Ethernet. Semua teknologi Ethernet - apakah mereka menggunakan kabel koaksial atau kawat tembaga, apakah mereka
berjalan pada 10 Mbps, 100 Mbps atau 1 Gbps - menggunakan struktur rangka yang sama.
Setelah kita memahami frame Ethernet, kita sudah akan tahu banyak tentang Ethernet. Untuk menempatkan diskusi kita tentang frame Ethernet dalam konteks nyata, marilah kita mempertimbangkan mengirim IP datagram dari satu host ke host lain, dengan kedua penghuni di LAN Ethernet yang sama. Biarkan pengiriman adaptor, adaptor A, memiliki alamat fisik AA-AA-AA-AA-AA-AA dan menerima adaptor, adaptor B, memiliki alamat fisik BB-BB-BB-BB-BB-BB. Adaptor pengiriman merangkum datagram IP dalam sebuah frame Ethernet dan melewati frame ke lapisan fisik. Adaptor menerima menerima frame dari lapisan fisik, mengekstrak datagram IP, dan melewati IP datagram ke lapisan jaringan. Dalam konteks ini, mari kita sekarang memeriksa enam bidang frame Ethernet:
1.Data Field (46-1500 byte): Bidang ini membawa datagram IP. Maximum Transfer Unit (MTU) dari Ethernet adalah 1500 byte. Ini berarti bahwa jika IP datagram melebihi 1500 byte, maka tuan rumah harus fragmen datagram, seperti yang dibahas dalam Bagian 4.4. Ukuran minimum bidang data 46 byte. Ini berarti bahwa jika datagram IP kurang dari 46 byte, maka data lapangan harus "diisi" untuk mengisinya menjadi 46 byte. Ketika isian yang digunakan, data diteruskan ke lapisan jaringan berisi isian serta sebuah datagram IP. Lapisan jaringan menggunakan lapangan panjang di header datagram IP untuk menghapus isian tersebut.
2.Destination Address (6 byte): Bidang ini berisi alamat LAN adaptor tujuan, yaitu, BB-BB-BB-BB-BB-BB. Ketika adaptor B menerima frame Ethernet dengan alamat tujuan lain selain alamat fisik, BB-BB-BB-BB-BB-BB, atau alamat broadcast LAN, itu membuang frame. Jika tidak, melewati isi bidang data ke lapisan jaringan.
3.Source Address (6 byte): Bidang ini berisi alamat LAN pada adaptor yang mentransmisikan bingkai ke LAN, yaitu, AA-AA-AA-AA-AA-AA.
4.Type Field (dua byte): Bidang jenis izin Ethernet ke "" multiplex-lapisan protokol jaringan. Untuk memahami ide ini, kita perlu ingat bahwa host dapat menggunakan protokol jaringan-lapisan lain selain IP. Bahkan, host yang diberikan dapat mendukung multiple layer protokol jaringan, dan menggunakan protokol yang berbeda untuk aplikasi yang berbeda. Untuk alasan ini, ketika tiba di frame Ethernet adaptor B, adaptor B perlu mengetahui ke mana-lapisan protokol jaringan harus melewati isi data lapangan. IP dan protokol lapisan data-link lainnya (misalnya, Novell IPX atau AppleTalk) masing-masing memiliki sendiri ada, jenis nomor standar. Selain itu, protokol ARP (dibahas pada bagian sebelumnya) memiliki nomor jenis sendiri. Perhatikan bahwa kolom jenis analog dengan bidang protokol di datagram networklayer dan ladang nomor port di segmen transport-layer; semua bidang ini berguna untuk lem protokol di satu layer untuk protokol di lapisan atas.
5.Cyclic redundancy check (CRC) (4 byte): Sebagaimana dijelaskan dalam bagian 5.2, tujuan bidang CRC adalah untuk memungkinkan penerima adaptor, adaptor B, untuk mendeteksi apakah ada kesalahan telah diperkenalkan ke dalam bingkai, yaitu jika bit frame telah toggled. Penyebab kesalahan bit termasuk sinyal atenuasi dalam kekuatan dan energi elektromagnetik ambien bahwa kebocoran ke dalam kabel dan kartu interface Ethernet. Kesalahan deteksi dilakukan sebagai berikut. Ketika tuan rumah membangun kerangka Ethernet, menghitung lapangan CRC, yang diperoleh dari pemetaan bit lain dalam frame (kecuali untuk bit basa-basi). Ketika host B menerima frame, itu menerapkan pemetaan sama dengan frame dan memeriksa untuk melihat apakah hasil pemetaan sama dengan apa yang di bidang CRC. Operasi ini pada host penerima disebut pemeriksaan CRC. Jika cek CRC gagal (yaitu, jika hasil pemetaan tidak sama dengan isi bidang CRC), maka host B mengetahui bahwa ada kesalahan dalam bingkai.
6.Preamble: (8 bytes) frame Ethernet dimulai dengan pembukaan lapangan delapan byte. Masing-masing dari tujuh byte pertama dari pembukaan adalah 10101010; byte terakhir adalah 10.101.011. Tujuh byte pertama dari pembukaan melayani untuk "membangunkan" adaptor menerima dan untuk menyinkronkan jam mereka dengan yang jam pengirim. Mengapa jam harus keluar dari sinkronisasi? Perlu diingat bahwa adaptor
Sebuah bertujuan untuk mengirim frame pada 10 Mbps, 100 Mbps atau 1 Gbps, tergantung pada jenis Ethernet LAN. Namun, karena tidak ada yang benar-benar sempurna, adaptor A tidak akan mengirim frame tepat pada tingkat sasaran; akan selalu ada beberapa drift dari tingkat sasaran, penyimpangan yang tidak dikenal apriori dengan adaptor lain di LAN. Sebuah adaptor menerima dapat mengunci ke adaptor A
jam dengan hanya mengunci ke bit pada tujuh bytes pertama dari pembukaan. Dua bit terakhir dari byte kedelapan pembukaan (dua pertama 1s berturut-turut) adaptor B waspada bahwa hal-hal yang "penting" akan segera datang. Ketika host B melihat dua 1s berturut-turut, ia tahu bahwa enam byte berikutnya adalah alamat tujuan. Adaptor bisa tahu kapan sebuah frame berakhir hanya dengan mendeteksi adanya saat ini.

Ethernet Basic

Sekarang Ethernet datang dalam berbagai bentuk dan bentuk. Sebuah LAN Ethernet dapat memiliki topologi "bus" atau topologi "star." Sebuah LAN Ethernet dapat dijalankan melalui kabel koaksial, twisted-pair kabel tembaga, atau serat optik. Selanjutnya, Ethernet dapat mengirimkan data pada tingkat yang berbeda, khususnya, pada 10 Mbps, 100 Mbps dan 1Gbps. Tapi meskipun Ethernet datang banyak rasa, semua teknologi Ethernet berbagi beberapa karakteristik penting. Sebelum memeriksa teknologi yang berbeda, mari pertama kita lihat ciri umum.

ETHERNET

Ethernet telah cukup banyak mengambil alih pasar LAN. Seperti baru-baru ini sebagai tahun 1980-an dan awal 1990-an, Ethernet menghadapi banyak tantangan dari teknologi LAN lainnya, termasuk token ring, FDDI dan ATM. Beberapa teknologi lainnya berhasil menangkap bagian dari pangsa pasar selama beberapa tahun. Tapi sejak penemuan yang pada pertengahan tahun 1970, Ethernet telah terus berkembang dan tumbuh, dan telah diselenggarakan pada pangsa pasar yang dominan. Hari ini, Ethernet sejauh ini merupakan teknologi LAN yang paling lazim, dan kemungkinan akan tetap demikian di masa mendatang. Orang mungkin mengatakan Ethernet yang telah ke daerah lokal jaringan apa internet adalah untuk jaringan global:
Ada banyak alasan untuk keberhasilan Ethernet. Pertama, Ethernet adalah yang pertama digunakan secara luas-LAN berkecepatan tinggi. Karena ditempatkan awal, administrator jaringan menjadi akrab dengan Ethernet - keajaiban dan quirks - dan enggan untuk beralih ke teknologi LAN lain ketika mereka sampai di tempat kejadian. Kedua, token ring, FDDI dan ATM yang lebih kompleks dan mahal dibandingkan Ethernet, yang lebih kecewa administrator jaringan dari beralih. Ketiga, alasan yang paling menarik untuk beralih ke teknologi lain LAN (seperti FDDI atau ATM) biasanya data rate yang lebih tinggi teknologi baru, namun selalu melawan Ethernet, menghasilkan versi yang dioperasikan pada kecepatan data yang sama atau lebih tinggi. Switched Ethernet juga diperkenalkan pada awal 1990-an, yang selanjutnya meningkatkan tingkat bunga efektif datanya. Akhirnya, karena Ethernet telah begitu populer, hardware Ethernet (khususnya kartu jaringan, antarmuka) telah menjadi suatu komoditi dan sangat murah. Biaya rendah ini juga disebabkan o kenyataan bahwa beberapa protokol Ethernet, CSMA / CD, benar-benar desentralisasi, yang juga memberikan kontribusi terhadap biaya rendah dan desain sederhana.

Asli Ethernet LAN, seperti tampak pada Gambar 5,5-1, diciptakan pada pertengahan tahun 1970-an oleh Bob Metcalfe. Suatu sumber informasi yang bagus tentang online Ethernet Spurgeon's Ethernet Web Site [Spurgeon 1999].

Kamis, 03 Juni 2010

MEMORY ASOSIATIF DALAM PAGE TABLE

Tabel Page biasanya diletakkan di memori, dengan demikian diperlukan dua kali referensi ke memori: sekali untuk mencari page, dan sekali untuk mencari data yang akan diproses.

Solusi:
Komputer dilengkapi dengan komponen hardware kecil untuk pemetaan alamat virtual ke alamat fisik tanpa menelusuri seluruh tabel page. Komponen ini disebut memori asosiatif atau translation lookaside buffer, yang biasanya berada di dalam MMU, dan berisi beberapa entri.

PAGE TABLE

Alamat virtual dibagi menjadi dua bagian:
- Nomer Page (bit-bit awal)
- Offset (bit-bit akhir)

Secara metematis: tabel page merupakan fungsi dgn nomer page sebagai argumen dan nomer frame sebagai hasil.

Page table (Hardware support)
Untuk komputer modern sulit menggunakan fast register
Pentium : 32 bit address logical (total: 4 GB), page size (8K), maka mempunyai potensi entry: 524.288 entry.
Page table disimpan pada memori (bagian program) dengan menggunakan page table base register
Page-table base register (PTBR) : pointer ke page-table di memori.
Page-table length register (PTLR) : besarnya ukuran page table (karena tidak semua proses memerlukan ukuran page tabel max.)

DEMAND PAGING

Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari memori virtual yang paling umum digunakan. Sistem Demand Paging pada prinsipnya hampir sama dengan sistem permintaan halaman yang menggunakan swapping, hanya saja pada sistem demand paging, halaman tidak akan dibawa ke dalam memori fisik sampai ia benar-benar diperlukan. Oleh sebab itu dibutuhkan bantuan perangkat keras untuk mengetahui lokasi dari halaman saat ia diperlukan. Daripada melakukan swapping, keseluruhan proses ke dalam memori utama, digunakanlah yang disebut lazy swapper yaitu tidak pernah menukar sebuah halaman ke dalam memori utama kecuali halaman tersebut diperlukan. Keuntungan yang diperoleh dengan menggunakan demand paging sama dengan keuntungan pada memori virtual.
Saat melakukan pengecekan pada halaman yang dibutuhkan oleh suatu proses, terdapat tiga kemungkinan kasus yang dapat terjadi, yaitu:
Halaman ada dan sudah langsung berada di memori utama - statusnya adalah valid ("v" atau "1")
Halaman ada tetapi belum berada di memori utama atau dengan kata lain halaman masih berada di disk sekunder - statusnya adalah tidak valid/invalid ("i" atau "0")
Halaman benar - benar tidak ada, baik di memori utama maupun di disk sekunder (invalid reference) - statusnya adalah tidak valid/invalid ("i" atau "0")
Ketika kasus kedua dan ketiga terjadi, maka proses dinyatakan mengalami kesalahan halaman (page fault). Selanjutnya proses tersebut akan dijebak ke dalam sistem operasi oleh perangkat keras.

Skema Bit Valid - Tidak Valid
Dalam menentukan halaman mana yang ada di dalam memori utama dan halaman mana yang tidak ada di dalam memori utama, diperlukan suatu konsep, yaitu skema bit valid - tidak valid. Kondisi valid berarti bahwa halaman yang dibutuhkan itu legal dan berada di dalam memori utama (kasus pertama). Sementara tidak valid/invalid adalah kondisi dimana halaman tidak ada di memori utama namun ada di disk sekunder (kasus kedua) atau halaman memang benar-benar tidak ada baik di memori utama maupun disk sekunder (kasus ketiga).
Pengaturan bit dilakukan sebagai berikut:
Bit = 1 berarti halaman berada di memori utama
Bit = 0 berarti halaman tidak berada di memori utama
Apabila ternyata hasil dari mengartikan alamat melalui page table menghasilkan bit halaman yang bernilai 0, maka akan menyebabkan terjadinya page fault .
Page fault adalah interupsi yang terjadi ketika halaman yang diminta/dibutuhkan oleh suatu proses tidak berada di memori utama. Proses yang sedang berjalan akan mengakses page table (tabel halaman) untuk mendapatkan referensi halaman yang diinginkan. Page fault dapat diketahui/dideteksi dari penggunaan skema bit valid-tidak valid ini. Bagian inilah yang menandakan terjadinya suatu permintaan pemberian halaman .
Jika suatu proses mencoba untuk mengakses suatu halaman dengan bit yang di-set tidak valid maka page fault akan terjadi. Proses akan dihentikan sementara halaman yang diminta/dibutuhkan dicari didalam disk.