หน้าเว็บ

วันพุธที่ 29 กรกฎาคม พ.ศ. 2552

Web Server Load Balancing With NLB

Web Server With Load Balancing ด้วย Window 2003 Server

1.ไปที่ Start>>Program>>Adminmistritrative Tools>>Network Load Balancing Manager

2.คลิกขวาที่ Network Load Balancing Clusters เลือก new clusters

3.ทำใส่ ip address,subnet mask โดย IP address จะเป็น visual ip

4.เลือกที่ Mulitcast และ กด next

5. กด next .



6.เลือก edit


7. ติ๊กที่ All

8. เปลี่ยน Port range เป็น from 80 to 80

9. เลือก Protocols เป็น UDP

10. เลือก Filtering mode เป็น none และ คลิ๊ก OK และกด next






11. กรอก code เป็น IP ของเครื่อง server ที่จะทำเป็น web server load balancing และ กด connect และ next


12. จากนั้น กด Finish



13.จากขั้นตอนที่ผ่านมาจะได้การทำ load balancing ที่ IP 192.168.0.1 ซึ่งเป็น Server เครื่องที่ 1

14. ทำการ Setup เครื่องที่ 2 โดยคลิกที่ Add Host To Cluster


15. ป้อน IP ตัวที่ 2 ของ Server ให้เป็น 192.168.0.2 คลิก Connect และกด Next ดังภาพ

16. พอขึ้นหน้าต่างดังภาพ กด Finish

17. รอสักครู่ ก็จะปรากฏหน้าต่างดังรูปข้างล่าง


ข้อด้อยของการทำ Web Server Load Balancing

1. โปรแกรมที่อยู่ในเครื่อง Server ต้องเป็นโปรแกรม Script เดียวกัน

2. ต้องมี Database Server อีก 1 ตัวเพื่อให้ Web Server Access เข้ามา

***หมายเหตุ***

ต้องใช้เครื่องserverอย่างน้อย2เครื่อง และ ทุกเครื่องserverต้องมีคุณสมบัติดังนี้

1.แต่ละ server ต้องมี OS เดียวกัน

2.ในกรณีที่เครื่องserverใช้window 2003 server ทุกเครื่องต้องมีโปรแกรม Network Load Balancing Manager

Thanks :
นรินทร์ หมื่นรัตน์

Replicate Mysql

Replicate Mysql

MySQL เป็นฐานข้อมูลที่ได้รับความนิยมอย่างมากในปัจจุบัน อาจทำงานได้ดี มีเสถียรภาพ มีขนาดเล็ก ติดตั้งง่าย หาเอกสารอ้างอิงง่าย อีกทั้งยังถูกจับคู่กับ PHP ชนิดที่เรียกกันว่า ซี้ปึ๊ก กันเลยทีเดียว หมายถึงคำสั่งต่างๆ ของ PHP จะมีสามารถเรียกใช้ความสามารถของ MySQL ได้อย่างเด็มประสิทธิภาพทีเดียว ยิ่งหากได้ใช้ phpmyadmin อีกยิ่งเข้ากันเป็นปี่เป็นขลุ่ย แถมหาก Run อยู่บน Apache อีก โอ้ว เ้ข้าแก๊ง แต่ยังขาดหัวหน้าแก๊งไปได้ไม่ได้ นั่นคือ Linux โอ อย่างนี้ต้องเรียกว่า มาเป็นทีม อาจเรียกได้ว่าเป็น Dream Team หรือทีมในฝันของนักพัฒนาเว็บแอพพลิเคชั่นเลยทีเดียว ซึ่งทีมนี้มีชื่อเล่น ว่า LAMP (Linux, Apache MySQL, PHP) *ขออภัย นอกเรื่องอีกแล้ว

MySQL สามารถทำงานได้ทั้งระบบปฏิบัติการ Windows, Linux, Solaris, FreeBSD ทั้งแบบ 32 และ 64 Bit ซึ่งปัจจุบันที่กำัลังเขียนอยู่นี้ Version 5.1.20 Beta Replicate MySQL ล่ะคืออะไร เกี่ยวข้องกันอย่างไร … หลายท่านรู้จักการ Backup ข้อมูล หากท่านรู้จักการทำ Mirror Disk นั่นแหละ ความหมายเดียวกัน …

ฐานข้อมูลนั้นมีความสำคัญอย่างยิ่ง เนื่องจากเว็บแอพลิเคชั่นนั้นใช้ฐานข้อมูลเก็บข้อมูลทุกสิ่งทุก ๆ อย่าง ฐานข้อมูลก็ไม่ได้ถูกโหลดเข้า Memory ไ้้่ด้ทั้งหมด ก็ยังคงต้องใช้ Disk ซึ่งเจ้า Disk นี่แหละ ที่ชอบสร้างปัญหาให้กับระบบงานอยู่บ่อยครั้ง หากข้อมูลที่สำคัญ เช่น ข้อมูลด้านการเงิน ข้อมูลการขายหน้าร้าน เกิดเรียกใช้งานไม่ได้ หรือหายไป ย่อมเกิดความเสียหายให้กับหน่วยงาน เป็นอย่างมาก จะดีไหมหากเรามีข้อมูลสำรองไว้ยัง Disk อีกก้อน หรือ Server อีกตัว เพื่อเป็นการลดความเสี่ยงสำหรับการสูญเสียข้อมูล เพราะฉะัีนั้น เรามาลองทำ Replicate MySQL กัน สิ่งที่ท่านต้องมีการ

  1. เครื่องคอมพิวเตอร์จำนวน 2 เครื่อง หรือมากกว่า เครื่องแรกเรียกว่า Master เครื่องถัดไปเรียกว่า Slave.
  2. ทั้ง 2 เครื่องลง Program MySQL โดยที่สามารถ Download ได้ที่ http://dev.mysql.com/downloads/mysql/5.1.html

ภาพรวมของการทำ Replicate MySQL


replicatemysql3.jpg
Pdf:replicate-mysql.pdf

ภาพที่ 1 ภาพรวมของการทำ Replicate MySQL


ขั้นตอนที่ 1.

หากต้องการ Replicate Master ที่มีข้อมูลอยู่แล้ว จะต้อง Dump ข้อมูลออกมาเพื่อทำให้ Slave มีข้อมูลที่เท่าเทียมกันเสียก่อน

ขั้นตอนที่ 2.

สร้าง User ขึ้นมาเพื่อทำหน้าที่สำหรับทำหน้าที่ Replicate เท่านั้นในฝั่ง Master โดยใช้คำสั่ง

mysql> GRANT REPLICATION SLAVE ON *.*
    -> TO 'repl'@'%.192.168.0.20' IDENTIFIED BY 'slavepass';

* โดยที่ให้สิทธิ์ให้การ Replicate จาก User ที่ชื่อว่า repl และรหัสผ่าน slavepass ที่มาจากเครื่อง IP 192.168.0.20 เท่านั้น

ขั้นตอนที่ 3.

ฝั่ง Master เข้าไปแก้ไขไฟล์ my.ini ที่ C:\Program Files\MySQL\MySQL Server 5.1>my.ini โดยเพิ่มด้านล้างหัวข้อ [mysqld] ดังนี้

# ——————————
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
# ——————————-

โดยที่ :

log-bin=mysql-bin # Binary Log
server-id=1 # ลำดับ Server master กำหนด =1
innodb_flush_log_at_trx_commit=1 #สำหรับผู้ใช้ฐานข้อมูลที่เป็น InnoDB จำเ็ป็นจะต้องให้ Master
#commit งานให้เรียบร้อยก่อน ถึงจะทำการ Replicate ไปให้ Slave
sync_binlog=1 # ทำการ Sync Log สำหรับ InnoDB และหากเกิด Master Crash จะไม่ทำให้ Slave Sync ข้อมูลซ้ำ ในกรณีที่ Master ฟื้นกลับมาอีกครั้ง
ขั้นตอนที่ 4.

ฝั่ง Slave ให้เข้าไปแก้ไขไฟล์ my.ini ที่ C:\Program Files\MySQL\MySQL Server 5.1>my.ini เช่นเดียวกับฝั่ง Master โดยเพิ่มด้านล้างหัวข้อ [mysqld] ดังนี้

#————————————————-
server-id=2
master-host=192.168.0.10
master-port=3306
master-user=repl
master-password-slavepass
master-connect-retry=30
replicate-wild-do-table= %.%
report-host=192.168.0.20
#————————————————-

โดยที่
server-id=2 # ลำดับ Slave หากมี Slave มากกว่า 1 ตัวสามารถกำหนด Server-id ได้จนถึง (2 ยกกำลัง 32) -1 เครื่อง
master-host=192.168.0.10 # หมายเลข IP เครื่อง Master
master-port=3306 # กำหนด Port
master-user=repl # ชื่อ User สำหรับการ Replicate
master-password-slavepass # Password
master-connect-retry=30 # หากติดต่อ Master ไ่ม่ได้ จะติดต่อซ้ำภายใน
replicate-wild-do-table= %.% #กำหนดฐานข้อมูลที่ต้องการ Replicate %.% หมายถึง Database ทุกตัว

ขั้นตอนที่ 5.

เมื่อ Master และ Slave มีข้อมูลเท่ากันแล้ว ดังในขั้นตอนที่ 1 ให้สร้างจุด Check Point เพื่อให้เป็นจุดเริ่มต้นสำหรับการ Replicate โดยใช้คำสั่ง

 mysql> FLUSH TABLES WITH READ LOCK;

ให้เรียกดูสถานะการทำงาน เพื่อดู Binary Log name และ Offset ของ Master ดังนี้

replicatemysql5.jpg

ภาพการเรียกดู BinaryLog Name และ Offset ของ Master

Binary Log Name : mysql-bin.00004
Offset : 106

ขั้นตอนที่ 6.

กำหนดฝั่ง Client ให้ติดต่อกับฐานข้อมูล

mysql> CHANGE MASTER TO

-> MASTER_HOST='192,168.0.10',

-> MASTER_USER='repl',

-> MASTER_PASSWORD='slavepass',

-> MASTER_LOG_FILE='mysql-bin.00004‘,

-> MASTER_LOG_POS=106;

และเริ่มต้น Replicate โดยใช้คำสั่ง

mysql> START SLAVE;

เพียงเท่านี้ Slave ก็จะเริ่ม Replicate ข้อมูลจาก Master แล้วครับ

สรุป

การ Replicate นั้นเป็นเพียงการพอจะรับประกันได้ว่า ข้อมูลจะไม่สูญหาย แต่ไม่ได้หมายความถึงการแบ่งการทำงานเช่น การทำ Load Balance หรือแม้กระทั่ง หาก Server มีปัญหา ไม่ใช่หมายความว่า Slave จะสามารถทำงานได้ทันที ซึ่งหากต้องการทำเช่นนั้นจะมีต้องการเช็คสถานะการทำงานของตัว Master และ Slave ที่ส่วนใหญ่จะเรียกกันว่า สาย heartbeat สำหรับ คอยตรวจสอบสถานะซึ่งกันและกัน ซึ่งพอจะมี Software OpenSource เช่น Ultra Monky ในการทำ Load Balance (แต่ดูเหมือนจะหยุดพัฒนาไปแล้วนะ) สามารถเข้าไปดูรายละเอียดได้ที่

Ultra Monky : http://www.ultramonkey.org/

แต่หากต้องการทำทุกสิ่งทุกอย่าง เช่น Replicate, Load Balance ทาง MySQL เองก็มีเทคโนโลยี Cluster ที่เหมาุะสำหรับระบบที่ต้องการเสถียรภาพสูง (ซึ่งต้องแลกมาด้วยการใช้ Server อีกหลายตัว) โดยขั้นต่ำ ต้องใช้อย่างน้อย 4 ตัว สำหรับการทำ Cluster แต่ีรับประกันความเสถียร และประสิทธิภาพ โดยสามารถดูเอกสารประกอบได้ที่

Thanks : ejeepss blog || MySQL Cluster || MySQL

icon_pdf.gif : how-to-replicate-mysql-5-ejeepss.pdf

Load Balancing

Load balancing คืออะไร?

คือการจัดกลุ่มของคอมพิวเตอร์หลายๆตัวเพื่อแบ่งงานกัน หรือกระจาย load การใช้งานของ user ไปยังคอมพิวเตอร์ภายในกลุ่ม เพื่อให้สามารถรับจำนวน user ที่เข้ามาใช้งานได้มากขึ้น หรือสามารถรับงานที่เข้ามาได้มากขึ้น นอกจากนั้นยังมีคุณสมบัติของ Fail Over คือหากมีคอมพิวเตอร์ภายในกลุ่มไม่สามารถทำงานได้ เช่น Down อยู่ หรือไม่สามารถรับงานหรือ user เพิ่มได้เนื่องจาก resource ที่ใช้ทำงานไม่พอ ตัว Load Balancer ที่เป็นตัวแจก load ให้คอมพิวเตอร์ภายในกลุ่มก็จะส่ง load ไปยังคอมพิวเตอร์เครื่องอื่นๆแทน จนกว่าคอมพิวเตอร์เครื่องนั้นจะกลับมาใช้งานได้ใหม่

การทำงานของ Load Balancer นั้นมี 3 ลักษณะด้วยกันได้แก่

1. Round-robin เป็นการส่ง traffic ไปยัง Server ภายในกลุ่มวนไปเรื่อยๆ

2. Sticky เป็นการส่ง traffic โดยยึดติดกับ Session ที่ user เคยเข้าไปใช้งาน เช่น ถ้า user เคยเข้าไปใช้ใน server ที่ 1 ภายในกลุ่ม traffic ของ user คนนั้นก็จะถู ส่งไปยัง server 1 เท่านั้น

3. การใช้ Load Balancer ปัจจุบันนิยมใช้วิธีนี้มากที่สุด วิธีนี้เราจะมี Load Balancer หนึ่งตัว ขว้างหน้า Server ภายในกลุ่ม เพื่อรอรับ Request จาก User เมื่อมี Request เข้ามาตัว Load Balancer จะทำการ Forward Request ไปยัง Server ภายในกลุ่ม




การทำ Cluster Load Balance คือการผสมผสานการทำงานทั้งสองลักษณะเข้าด้วยกัน แต่หากจะเลือกใช้การทำงานแบบนี้แล้ว การใช้ Load Balance แบบ Ramdom Redirection ก็จะไม่มีความหมายไป เนื่องจาก ทุกๆ Server ภายในกลุ่มเป็น Cluster กันอยู่แล้ว ดังนั้นจึงไม่มีเหตุผลใดที่จะส่ง Traffic ไปให้เครื่องเดิมเสมออีก ควรจะทำ Load Balance แบบ Round-robin หรือ Work load แทน

อย่างไรก็ดีการทำ Cluster ไม่จำเป็นต้องพึ่ง Feature ของ Server เป็นหลัก แต่เราสามารถ Develop ตัว Application ให้เป็น Cluster เองได้ โดยไม่ต้องพึ่ง Feature ของ Server เช่น การใช้หลักการของ File Sharing หรือ Database เข้ามาช่วยก็สามารถทำงานได้เหมือนกัน เช่นเดียวกับการทำ Load Balance เราไม่จำเป็นต้องหา Hardware หรือ Software พิเศษที่จะทำหน้าที่เป็น Load Balancer แต่เราสามารถเขียน Application เพื่อทำการกระจาย Traffic ไปยัง Server ต่างๆได้เหมือนกัน โดยใช้หลักการของ Redirection เป็นต้น


ความแตกต่างกันระหว่างCluster และ Load balance จะสรุปง่ายคือ

#Clustering เป็นมุมมองด้านกายภาพ คือการเอา computer หลายๆเครื่องมาต่อกัน และติดตั้งระบบ network เพื่อความสะดวกสำหรับงานใดงานนึง ซึ่งอาจจะเป็น การทำ load balancing หรือ parallel computing

#Load balancing คือการกระจาย load ให้กับ computer หลายๆเครื่อง โดยมากต้องการเพิ่ม volumn ของการทำงาน อาจจะใช้ ระบบ Cluster หรือระบบอื่นก็ได้ เช่น Grid Computing


Thanks : ccsmail.sut.ac.th || www.narisa.com || www.west-wind.com

Cluster is ....

Cluster

A Computer Cluster คือ กลุ่มของคอมพิวเตอร์ที่นำมาเชื่อมโยงเข้าด้วยการ เพื่อให้สามารถทำงานร่วมกันโดยมีความเชื่อถือสูงกว่าการทำงานเพียงเครื่องเดียว และเพิ่มประสิทธิภาพในการคงทนต่อการใช้งานเป็นระยะเวลายาวนานโดยแบ่งได้ดังนี้

1. High-availabiliy ( HA ) Clusters ( หรือ Failover Cluster )

คือ การเพิ่มประสิทธิภาพในการบริการ ด้วยการทำ Redundant nodes ด้วยการนำโหนดสองตัวมาทำการสนับสนุนซึ่งกันและกัน เพื่อลดการเกิด Single points of failure

ในที่นี้จะกล่าวถึงโปรแกรม Heartbeat http://www.linux-ha.org/ ซึ่งเป็นโครงการของ Linux-HA Project ซึ่งสามารถทำงานบนระบบปฏิบัติการ Linux, FreeBSD, OpenBSD, Solaris and Mac OS X โดยจะเป็นการเพิ่ม reliability, availability, และ serviceability (RAS).

2. Load-balancing Clusters

คือ การเชื่อมต่อคอมพิวเตอร์หลายๆตัว เพื่อทำการแบ่งภาระงานซึ่งกันและกัน หรือเป็นจุดเชื่อมต่อของคอมพิวเตอร์เสมือน เพื่อเชื่อมโยงไปยังอีกหลายๆเครื่อง โดยกลุ่มของคอมพิวเตอร์จะเรียกว่า Computer Farm โดยจะเน้นไปในบริการด้าน Web sites, Internet Relay Chat , File Transfer , NNTP server , DNS server

3. Compute clusters

Clusters ที่นำมาใช้งานจะนำมาประมวลผลหรือจำลองการเกิดหรือการก่อตัวของสภาวะอากาศ และการชนของวัตถุ โดยบางครั้งก็อาจเรียกว่า Supercomputing ซึ่งอาจจะมาจากคอมพิวเตอร์ประเภทเดียวกันโดยอยู่ในบริเวณเดียวกัน

4. Grid Computing

คือ การนำ คอมพิวเตอร์มาทำการประมวลผลโดยเน้นผลลัพธ์ เช่น ข้อมูลเกี่ยวกับการเก็บและวัดผลเกี่ยวกับ น้ำ ไฟฟ้า ก๊าซ หรือ ระบบการใช้งานของเครือข่าย โดยเป็นการนำคอมพิวเตอร์มารวมกันเป็นระบบซึ่งอาจจะมีความแตกต่างกันทางด้านอุปกรณ์หรือการจัดการ โดยมาจากสถานที่ใดๆ

ประโยชน์ของการทำ Cluster

1. ช่วยลดเวลาในการประมวลผล ในงานที่มีลักษณะใหญ่ๆได้อย่างรวดเร็ว

2. ในการรันงานไม่ต้องทำการคัดลอกไฟล์ไปยังหลายๆเครื่อง

3. สามารถรันงานได้หลายงานพร้อมกัน โดยไม่กระทบต่อระบบโดยรวม

4. หากเป็นงานที่ใช้เวลาในการประมวลผลมาก หากต้องการแก้ไขโปรแกรมก็อาจจะลืมไปว่าต้องแก้ไขอะไรไปบ้าง

5. สามารถประมวลผลที่ละขั้นตอน โดยไม่ต้องเขียนโปรแกรมให้เสร็จก่อน

6. ในการทดสอบโปรแกรม สามารถใส่ค่าตัวแปรได้มากในการประมวลผล ทำให้ได้ผลลัพธ์เร็ว

ข้อเสียของการทำ Cluster

1. ต้องลงทุนสูง

2. ต้องมีผู้ดูแลที่เชี่ยวชาญ


High - availability system architectures

HA จะต้องประกอบไปด้วย การทำ Redundant ของ hardware และโปรแกรมชนิดพิเศษโดยใช้ HA Stack ในการทำ ซึ่งประกอบไปด้วยชั้นของ Hardware และ Software ตามรูป

การทำงานจะเริ่มจากล่างขึ้นบน คือ Hot Swap => Redundancy => Management โดยที่การจัดการจะควบคุมไปยัง ชุดของโปรแกรม เช่น fault tolerance , redundant host และ Predictive analysis / policy-based management
1.
hot swap คือ การเรียกการที่ระบบไม่ถูก down ลง เมื่อทำการถอด หรือ ใส่ ส่วนประกอบหรือส่วนติดตั้งที่เกิดการชำรุดและเป็นการนำเข้าสู่ระบบที่ง่าย
2.
Redundant เป็นการทำให้แน่ใจว่า จะไม่เกิดการล้มเหลวของระบบ ตัวอย่างเช่น การมีระบบสำรองเครื่องจ่ายไฟ , ระบบพัดลม , IPMI ,PICMG, ระบบแหล่งรับไฟ 2 ชุด , โดยการเชื่อมต่อมีด้วยกันสอง แบบคือ แบบ Bus และ แบบ Star ซึ่งเมื่อ บริการใด เสียไปก็จะไม่ส่งผลกระทบต่อระบบหลัก โดยการเชื่อมต่อจะเป็นแบบจุดต่อจุด แต่ละ อุปกรณ์จะแยกออกจากกัน




Thanks : Computer_cluster

วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

ฺBlade Server

blade server เป็นแชสซิสของเครื่องแม่ข่าย หลายบอร์ดวงจรอิเลคทรอนิคส์ โมดูล และบาง เรียกว่า server blade แต่ละใบคือ แม่ข่ายในตัวเอง มักจะเป็นตัวแทนของแต่ละโปรแกรมประยุกต์ ใบนี้เป็นแม่ข่ายตามตัวอักษรบนการ์ด, เก็บโพรเซสเวอร์, หน่วยความจำ, ตัวควบคุมเครื่อข่ายรวม, host bus adaptor (HBA) ช่องไฟเบอร์ตัวเลือก และพอร์ตนำเข้า / ส่งออก (I/O) อื่น

blade server ให้กำลังการประมวลผลมากขึ้นในพื้นที่จำกัด การวางสายง่าย และลดการใช้พลังงาน ตามบทความ SearchWinSystems.com เกี่ยวกับเทคโนโลยีแม่ข่าย กล่าวว่า blade server สามารถลดการวางสายได้ร้อยละ 85 สำหรับการติดตั้ง blade กับแม่ข่าย 1U หรือ tower server แบบเดิม ด้วยการใช้สายน้อยลง ผู้บริหารระบบสามารถลดเวลาจัดการโครงสร้างพื้นฐานและให้มั่นใจด้านเวลา มากกว่า high availability

ตามปกติแต่ละใบมาพร้อมกับ 1 หรือ 2 ไดร์ฟ ATA หรือ SCSI ตัวจัดเก็บเพิ่มเติม blade server สามารถเชื่อมต่อกับกลุ่มการจัดเก็บโดย network-attached storage (NAS), ช่องไฟเบอร์ หรือ iSCSI storage-area network (SAN) ข้อได้เปรียบของ blade server ไม่เพียงเฉพาะจาก 1 แชสซิสมีหลายแม่ข่าย แต่รวมถึงการรวมทรัพยากร (เช่นอุปกรณ์จัดเก็บและเครือข่าย) เป็นสถาปัตยกรรมเล็กกว่าที่สามารถจัดการได้ผ่าน 1 การอินเตอร์เฟซ

บางครั้ง blade server ได้รับการอ้างเป็น high-density server และปกติใช้ใน clustering ของแม่ข่ายที่เป็นตัวแทนใน 1 ภาระ เช่น
- การใช้ไฟล์ร่วม
- การบริการและแคชของเว็บเพจ
- การรหัส SSL ของการสื่อสารเว็บ
- Transcoding ของเนื้อหาเว็บเพจสำหรับการแสดงขนาดเล็กลง
- เนื้อหา audio และ video ต่อเนื่อง

เหมือนกับการประยุกต์ cluster ส่วนใหญ่ blade server สามารถได้รับจัดการให้การสมดุลภาระและสมรรถนะป้องกันการล้ม

Thanks : www.widebase.net

Quiz about Computer


เคยรู้บ้างไหม เกี่ยวกับคอมพิวเตอร์



1. Dos ย่อมาจากอะไรและหมายถึงอะไร
ตอบ Dos ย่อมาจากคำว่า Disk operting system หมายถึง ระบบปฏิบัติการบนเครื่อง pc ตัวโปรแกรม ระบบปฏิบัติการ
มักถูกเก็บในดิกส์ และมีงานในการควบคุมดิกส์เป็นหลัก เช่น การจัดเก็บ ลบแฟ้ม เปลี่ยนชื่อแฟ้ม หรือการจัดสรรทรัพยากร

2. ระบบปฏิบัติการที่แพร่หลายมาที่สุดบนไมโครคอมพิวเตอร์สำหรับเครื่องยุค 8 บิต คืออะไร
ตอบ CP/M (Control Program for Microcomputer) ของบริษัทดิจิตอล รีเสริส์(Digital Reserch)

3. บัส (Bus) หมายถึงอะไร
ตอบ ถนนข้อมูลอิเล็กทรอนิกส์ ยิ่งกว้าง หรือมีช่องทางมากเท่าไหร่ การส่งข้อมูลต่อครั้งจะยิ่งเร็ว และมากขึ้น อธิบายทาง
กายภาพได้ว่า บัส คือ กลุ่มของสายไฟหรือเส้นทองแดงบน เมนบอร์ด (Main board) แต่ละเส้นแทน 1 บิต

4. บัสภายในคืออะไร
ตอบ จำนวนบัสก่อนเข้าหน่วยประมวลผลคณิตศาสตร์ (ALU-Arithmetic & logic Unit) ความสัมพันธ์ของบัสภายใน
จะเป็นเครื่องเป็นแบบ 16 บิต หรือ 32 บิต

5. บัสภายนอกคืออะไร
ตอบ อยู่ที่ CPU 8088 จะสามารถรับข้อมูลจากบัสภายนอกได้ครั้งละ 8 บิต แต่ CPU จะรอรับข้อมูล 2 ครั้งให้ครบ 16 บิต
จึงจะส่งเข้าประมวลผล 1 ครั้ง CPU 8088 เป็นชิป 16 บิต เพราะมีบัสภายในแบบ 16 บิต

6. Ram (Random access memory) คืออะไร
ตอบ หน่วยความจำเข้าโดยสุ่ม และเป็นหน่วยความจำที่อนุญาตให้คอมพิวเตอร์อ่านหรือเขียนได้ และเป็นหน่วยความจำชั่วคราว
(Volatile Memmory) ซึ่งข้อมูลที่เก็บจะหาย เมื่อปิดไฟเครื่อง

7. DRam (Dynamic Ram)คิออะไร
ตอบ เป็นหน่วยความจำที่มีปริมาณความจุต่อชิป หนึ่งตัวสูง ประหยัดไฟ และราคาถูกกว่าหน่วยความจำชนิดอื่น ลักษณะการทำงาน
ภายในเหมือนอุปกรณ์เก็บประจุ และคลายประจุไฟฟ้าหรืออาจเปรียบเทียบเป็นแบตเตอรี่จิ๋ว ซึ่งสามารถชาร์จไฟฟ้าได้เมื่อไฟหมด

8. SRam (static Ram)คิออะไร
ตอบ จะทำหน้าที่เก็บมีวิธีเก็บ 1, 0 ที่แตกต่างไป โดยมันใช้การเปิด/ปิดสวิตช์ ทรานซิสเตอร์แทน ดังนั้นจีงไม่ต้องรีเฟรช์เป็น
ระยะเหมือน DRAM แต่ก็ทำให้เปลืองไฟผลิตยาก มีความจุน้อย และราคาแพง

9. Rom (Read-only Memory) คืออะไร
ตอบ หน่วยความจำอ่านอย่างเดียว เป็นหน่วยความจำที่ไม่สามารถเขียนทับใหม่ หรืออัปเดตได้ซ้ำสอง กล่าวคือเขีนนได้เพียงครั้ง
เดียว แต่จะอ่านกี่ครั้งก็ได้ ดังนั้นข้อมูลจะไม่สูญหายไม่ว่าจะมีการเปิดไฟเครือ่งหรือไม่ก็ตาม

10. Access time คืออะไร
ตอบ ช่วงเวลาเข้าถึง การวัดคุณภาพหน่วยความจำ นอกจากวันกันที่สขนาดความจุแล้วเรายังวัดเรื่องความเร็วในการเข้าถึงข้อมูล
ด้วย อนึ่งไมโครโปรเซสเซอร์หรือ CPU จะเข้าไปอ่านและเขียนหน่วยความจำด้วยเวลาคงที่ค่าหนึ่งเสมอ

11. Wait time คืออะไร
ตอบ ช่วงเวลารอ ตามปกติหน่วยความจำจะวิ่งเร็วกว่า หรือพอ ๆ กับซีพียู แต่กรณีที่ซีพียูวิ่งเร็วกว่า หน่วยความจำจะตามไม่ทัน
cpu ดังนั้นซีพียูต้องรอ ซึ่งอาจรอสักหนึ่งจังหวะหรือมากกว่า


12. Interteaving คืออะไร
ตอบ การแทรกสลับ ชิปหน่วยความจำทั่วไป จะมีการจัดวางตัวธรรมดาโดยเรียงลำดับจาก 0 ไป 1 ไป 2 ไป 3 เรื่อย ๆ การเรียง
แบบนี้จะเกิดช่วงเวลารอมากหน่วยความจำจะวิ่งช้ากว่าชีพียู การจัดแบบสลับที่มีประโยชน์ในเรื่องการลดเวลารีเฟชร์ข้อมูล

13. Cache memory คืออะไร
ตอบ หน่วยความจำแคบ กลุ่มของหน่วยความจำชนิด SRAM ความเร็วสูง จำนวนไม่มากอาจมีขนาดตั้งแต่ 8 ถึง 256 Mb มีตำแหน่ง
วางตัวระหว่างซีพียู และหน่วยความจำหลัดซึ่งมักเป็น DRAM ทำหน้าที่ copy ข้อมูลจากหน่วยความจำหลักมาไว้ที่ตัวมัน

14. หน่วยความจำปกติ (Converntional Memory ) คืออะไร
ตอบ หน่วยความจำที่ 640 กิโลไบต์แรก เนื่องจากตัวจัดการหน่วยความจำอ็มเอสดอสจะจัดการกับหน่วยความจำปกติเอง จึงไม่จำเป็น
ต้องเพิ่มโปรแกรมจัดการหน่วยความจำส่วนนี้สำหรับโปรแกรมต่าง ๆ ที่ทำงานได้ MS-DOS ล้วนต้องใช้หน่วยความจำปกติ


15. หน่วยความจำอัปเปอร์ (Upper Memory Area) คืออะไร
ตอบ หน่วยความจำขนาด 384 กิโลไบต์ จัดการส่วนของหน่วยความจำปกติ โดยฮาร์แวร์ของระบบจะเป็นตัวใช้หน่วยความจำในส่วนนี้
เช่น อะแดปเตอร์ของจอภาพ

16. หน่วยความจำเอ็กซ์แทนด์ (Extended Memory-xms) คืออะไร
ตอบ หน่วยความจำส่วนที่เกิน 1 Mb ขึ้นไปในเครื่องที่ใช้ CPU 80286, 80386 และ 80486 การใช้หน่วยความจำส่วนนี้ต้องอาศัย
โปรแกรมจัดการหน่วยความจำเอ็กซ์เทนด์ เช่น HTMEM เป็นต้น โปรแกรมวินโดวส์ และโปรแกรมประยุกต์ต้องใช้หน่วยความจำนี้

17. หน่วยความจำสูง (High Memory Area-Hma) คืออะไร
ตอบ หน่วยความจำสูงความจำ 64 กิโลไบต์แรกหน่วยความจำเอ็กซ์แทนด์ในเครื่องคอมพิวเตอร์ที่มีหน่วยความจำเอ็กซ์เทนด์
โปรแกรมติดตั้งเอ็มเอสดอส จะทำให้เอ็มเอสดอส ทำงานอยู่ในหน่วยความจำส่วนนี้

18. หน่วยความจำเอ็กซ์แปนด์(Expanded Menory-Ems) คืออะไร
ตอบ หน่วยความจำทีละ 64 กิโลไบต์ โดยการกำหนดแอดเดรสไปที่ส่วนของหน่วยความจำอัปเปอร์ที่เรียกว่า EMS เพลเฟรม และ
จากการที่หน่วยความจำเอ็กซ์แปนด์จะจำกัดการใช้หน่วยความจำในแต่ละครั้งบางแอปพลิเคชั่นที่ทำงานภายใต้ MS-DOS ที่ต้องการได้
19. Rom-Bios (Rom Basic Input output system) คืออะไร
ตอบ โปรแกรมที่คอยควบคุมอุปกรณ์พื้นฐานของคอมพิวเตอร์ทั้งหมด และมีหน้าที่หลาย ๆ อย่างโปรแกรม BIOS นี้จะอยู่ในรูป
ROM (Read only Memory) Rom-Bios ถูกเรียกใช้เมื่อเริ่มต้น และงานแรกที่ทำคือตรวจสอบตัวเอง

20. Boot record คิออะไร
ตอบ โปรแกรมสั้น ๆ ที่ถูกโหลดหรืออ่านจากแผ่นดิสก์เข้าไปหน่วยความจำ เพื่อเป็นตัวนำทางที่จะโหลดส่วนอื่น ๆ ของ DOS
ตามเข้าไปอีกทีหนึ่ง

21. IO.SYS คืออะไร
ตอบ เป็นโปรแกรมที่ทำหน้าที่ควบคู่ไปกับ ROM-BIOS ในการควบคุมอุปกรณ์ต่าง ๆ ที่ต่อกัน PC โดยเพิ่มเติมจาก ROM-BIOS
ในส่วนที่เป็นรายละเอียดหรือเทคนิคพิเศษ เช่น เทคนิคในการตรวจสอบ และแก้ไขความผิดพลาดในการบันทึกข้อมูลบนดิสก์

22. MSDOS.SYS คืออะไร
ตอบ ส่วนบรรจุรูทีน การบริการของเอ็มเอสดอส การบริการต่าง ๆ ของเอ็มเอสดอสนั้นเหมือนกับการบริการของไบออส สามารถ
ที่จะเรียกมาใช้โดยโปรแกรมผ่านกลุ่มของอินเทอร์รัปต์ ซึ่งเวกเตอร์จะถูกแทนที่ในตารางอินเทอร์รัปต์ เวกเตอร์ในหน่วยความจำระดับต่ำ

23. Command.com คืออะไร
ตอบ ส่วนที่ผู้ใช้ทั้งหมดเกี่ยวข้องด้วย ซึ่งเราเรียกว่าตัวแปลคำสั่ง (Command Interpreter) เพราะมีการแปลและปฏิบัติตามคำสั่ง
ต่าง ๆ ที่พิมพ์ลงในดอสพรอมต์ ดังนั้นส่วนที่คือส่วนที่ตอบสนองกับผู้ใช้ เริ่มต้นด้วยการแสดง Prompt sign และรอรับค่าจากแป้นพิมพ์

24. คำสั่งภายใน (Internal command) คืออะไร
ตอบ เป็นส่วนโปรแกรทย่อยที่รวมเข้ากับ command.com เรียบร้อยแล้ว เราสามารถเรียกใช้คำสั่งแล้วปฏิบัติงานได้ทันทีโดยไม่
ต้องโหลดโปรแกรมจากดิสก์อีก

25. คำสั่งภายนอก (Exinternal command) คืออะไร
ตอบ เปรียบเสมือนโปรแกรมประยุกต์แบบหนึ่ง ซึ่งเมื่อจะใช้งานจะต้องโหลดโปรแกรมจากดิสก์ก่อน คำสั่งภายนอกที่ใช้กันบ่อย
เช่น FORMAT, DISKCOPY

26. Scandisk ทำหน้าที่อะไร
ตอบ ทำหน้าที่ในการตรวจสอบ โครงสร้าง และข้อผิดพลาดที่อาจเกิดจาก Dir table หรือ FAT รวมถึงความสามารถในการตรวจสอบ
Bad sector

27. Batch file คืออะไร
ตอบ เป็นไฟล์ที่เก็บคำสั่งต่าง ๆ เรียงกันเป็นบรรทัด เพื่อให้ Dos อ่านมาทำงานตามลำดับทีละคำสั่งตามลำดับก่อนหลังของคำสั่งต่าง ๆ
ทำให้ประหยัดเวลาในการเขียนหลายคำสั่งโดยรวมคำสั่งต่าง ๆ เป็นคำสั่งเดียว เพื่อเรียกคำสั่งเหล่านั้นมาใช้

28. Autoexec.bat เป็นแบทช์ไฟล์อย่างไร
ตอบ เป็นแบทซ์ไฟล์ที่จะถูกนำมาประมวลผลเมื่อเริ่มเปิดเครื่อง ทำให้ผู้ใช้สามารถเรียกโปรแกรมต่าง ๆ ให้อัตโนมัติตอนเปิดเครื่องโดยไม่
ต้องเรียกเอง เช่นโปรแกรม Screen saver โปรแกรมตรวจสอบไวรัส เป็นต้น

29. Debug คืออะไร
ตอบ โปรแกรมที่สามารถแสดงแก้ไขข้อมูลในหน่วยความจำ ตลอดจนรีจิสเตอร์หรือเรียกค่าในหน่วยความจำมาปรับปรุง และเขียนกลับ
ไปในแฟ้มได้ ซึ่งก่อนหน้านั้น Debug ก็สามารถเรียกแฟ้มในหน่วยความจำได้นั้นเอง แต่ไม่เกิน 64 kb

30. A resident portion คืออะไร
ตอบ ส่วนอยู่อย่างถาวร ถูกโหลดเข้าสู่หน่วยความจำระดับต่ำสุดของหน่วยความจำ แต่อยู่เหนือส่วน Dos kernel บัพเฟอร์ และตาราง
อินเตอร์เร็พต์ การทำงานของส่วนที่จะเป็นรูทีนเกี่ยวกับ Ctrl-c และ Ctrl-break ความผิดพลาดต่าง ๆ และการสิ้นสุดของโปรแกรมในส่วน
command.com

31. An initialization section คืออะไร
ตอบ ส่วนกระบวนการเริ่มต้นถูกโหลดหน่วยความจำเหนือส่วนอยู่อย่างถาวร เมื่อระบบถูกบูตแล้วมันจะเริ่มทำงานโดยรันไฟล์
Autoexec.bat

32. A dransient module คืออะไร
ตอบ ส่วนทรานเซียนต์ ถูกโหลดเข้าสู่หน่วยความจำในระดับบนสุดของหน่วนความจำในส่วนนี้จะมีหน้าที่แสดงเครื่องหมาย อ่านคำสั่ง
จากคีย์บอร์ดหรือแบท์ไฟล์แล้วปฏิบัติตามคำสั่ง เมื่อโปรแกรมสิ้นสุดการทำงาน

33. FAT คืออะไร
ตอบ ตารางการจัดไฟล์ (File Allocation Table) แต่ละรายการในไดเรกทรอรีจะมีข้อมูลตัวหนึ่งที่บอกว่าคลัสเตอร์แรกของไฟล์ ๆ
อยู่ที่โหนด แต่คลัสเตอร์อื่น ๆ นอกจากนั้นจะต้องดูจาก FAT ซึ่งมีลักษณะเป็นตารางแต่ละช่องของตารางจะจับคู่กับแต่ละคลัสเตอร์บนดิกส์ได้
พอดี

34. ไดเร็คทรอรีทำหน้าที่อะไร
ตอบ จะทำหน้าที่จะเก็บข้อมูลของไฟล์เรียงเป็นรายการ ๆ แต่ละรายการยาว 32 ไบต์ ดั้งนั้น 1 เซกเตอร์จะเก็บได้ 16 รายการ เพราะ
16 คูณ 32 ได้ 512 ไบต์

35. ไมโครคอมพิวเตอร์จำเป็นต้องมี Dos เป็นตัวทำอะไรในยุคแรก ๆ
ตอบ Dos เป็นตัวควบคุมในยุคแรก ๆ ไมโครคอมพิวเตอร์มีขนาด 8 บิต ซึ่งหน่วยในการนำไปคำนวณใน cpu แต่ละครั้งต่อมาเครื่อง
มีวิวัฒนาการมากขึ้นทำให้เร็วขึ้นจึงส่งข้อมูลไปประมวลผลได้

36. หน่วยความจำมีความจำเป็นต่อไมโครคอมพิวเตอร์อย่างไร
ตอบ หน่วยความจำเป็นส่วนจำเป็นสำหรับไมโครโปรเซสเซอร์มาก เพราะเป็นที่ที่เดียวเท่านั้นที่ซีพียู (Central Processing) จะใช้เก็บ
ข้อมูลหรือโปรแกรทชั่วคราวได้ การมีหน่วยความจำอย่างเพียงพอ จะทำให้คอมพิวเตอร์ทำงานที่สร้างสรรค์

37. คำสั่ง MEM คืออะไร
ตอบ แสดงจำนวนของหน่วยความจำที่เหลือในระบบ

38. xcopy ha bi/s คืออะไร
ตอบ การคัดลอกแฟ้มในห้อง ha ทุกแฟ้ม และห้องย่อยทุกห้อง แต่ไม่สร้างห้องถ้าในห้องนั้นไม่มีแฟ้มอยุ่

39. คำสั่ง Defrag คืออะไร
ตอบ การจัดเรียงข้อมูลในแฟ้มใหม่ ให้แฟ้มต่าง ๆ เก็บข้อมูลไม่กระจายใน Disk แต่ทำการรวม ๆ ไว้ติดกัน ทำให้ลดเวลาในการยกหัว
อ่านไป ๆ มา ๆ

40. เมื่อเกิดข้อผิดพลาดและเกิดขึ้นบ่อย ๆ ถ้ากด A คืออะไร
ตอบ Abort ถ้าต้องการยกเลิกแล้วพยายามกลับไป command promat

41. เมื่อเกิดข้อผิดพลาดและเกิดขึ้นบ่อย ๆ ถ้ากด R คืออะไร
ตอบ Retry ถ้าต้องการยกเลิกแล้วพยายามใหม่ เช่น การเรียกแผ่นจาก drive a

42. เมื่อเกิดข้อผิดพลาดและเกิดขึ้นบ่อย ๆ ถ้ากด I คืออะไร
ตอบ Ignore เพิกเฉยต่อข้อผิดพลาด หรือพยายามมองข้ามข้อผิดพลาด

43. เมื่อเกิดข้อผิดพลาดและเกิดขึ้นบ่อย ๆ ถ้ากด F คืออะไร
ตอบ Fail ล้มเลิกการทำงานคำสั่งปัจจุบัน แล้วกลับไปคำสั่งต่อไป

44. คำสั่ง Pause ในแบบไฟล์คืออะไร
ตอบ หยุดคอยคำสั่งเริ่มไว้จนกว่าจะกดแป้นพิมพ์ใด ๆ โดยแสดงคำว่า Press any key to continue..........

45. คำสั่ง D โปรแกรม Debug คืออะไร
ตอบ Dump ค่าในหน่วยความจำมาดู

46. คำสั่ง A โปรแกรม Debug คืออะไร
ตอบ ใช้สร้างภาษา Assemmbly

47. คำสั่ง U โปรแกรม Debug คืออะไร
ตอบ ใช้แสดงภาษาเครื่องเป็น Assembly

48.คำสั่ง Q โปรแกรม Debug คืออะไร
ตอบ ใช้ Quit โปรแกรมเพื่อเลิกการทำงาน

49. คำสั่ง E โปรแกรม Debug คืออะไร
ตอบ Enter เป็นการใส่ค่าเข้าไปหน่วยความจำ

50. คำสั่ง W โปรแกรม Debug คืออะไร
ตอบ Write เขียนสิ่งที่ปรับปรุงเข้าไปหน่วยความจำเข้าแฟ้ม

Thanks : puepun

Disk BooT

DISK-BOOT!!!

เครื่องคอมพิวเตอร์ หรือพีซี จะไม่มีประโยชน์อะไรเลยถ้าไม่รันชุดคำสั่ง โอเอส แต่ก่อนที่มันจะสามารถรันโอเอสได้ เราจำเป็นต้องหาทางบรรจุโปรแกรมโอเอสนี้ลงใน แรม เสียก่อนวิธีนั้นก็คือการ บูต ( boot หรือ bootstrap )

ดังนั้นที่เราได้กล่าวมาแล้วว่า ภายหลังจากกระบวนการ โพสต์ ( POST ) หรือการทดสอบตัวเองแล้ว ภาคที่สองของการบูตก็ คือ การหาว่า โอเอส อยู่ในดิสก์ไหน จากนั้นก็บรรจุโอเอสลงสู่แรม

หลายคนอาจส่งสัยว่าทำไมจึงออกแบบระบบการทำงานของพีซี ให้วุ่นวายเช่นนี้ ทำไมถึงไม่ใส่โอเอสไว้ในเครื่องถาวรเลย? เครื่องรุ่นเก่าๆที่ใช้เทคโนโลยีไม่สูงมาก เช่น Atari400 และ800 ก็มีโอเอสอยู่ภายในเครื่องอย่างถาวรเลย โดยอาจใส่ไว้ภายในชิปแต่อย่างไรก็ตาม เครื่องปกติ จะมีการบรรจุโอเอสจากดิสก์ ลงสู่หน่วยความจำก่อนเสมอ เพราะมีประโยชน์ 2 ประการ คือ

ประการแรก ทำให้ง่ายต่อการพัฒนา โอเอส เพราะถ้าเป็นเครื่องพีซีแบบมีโอเอสถาวรภายในเครื่องเลย การแก้ไขก็คงจะทำไม่ได้ วิธีแก้ไขก็อาจจะต้องเปลี่ยนเคื่องรุ่นใหม่ไปเลย แต่การบรรจุโอเอสลงบนดิสก์แล้วทำการบรรจุลงแรมทุกครั้งที่เปิดเครื่อง เวลาที่ต้องการอัปเกรดโอเอส ก็แค่ก๊อปโอเอสตัวใหม่ลงในดิสก์ เท่านั้น

ประการที่สอง การโหลด โอเอสจากดิสก์ ทำให้เรามีสิทธิ์ "เลือก" โอเอสที่เราต้องการได้ ทั้งนี้เพราะในโลกนี้ไม่ได้มีโอเอสจากบริษัทไมโครซอฟต์แต่อย่างเดียว



DISK FOR BOOT1!!!

1. หลังจากผ่านกระบวนการโพสต์ โปรแกรมบูตที่บรรจุอยู่ในรอม ไบออสจะสั่งให้พีซีตรวจสอบว่ามีดิสก์ที่ฟอร์แมตไว้ในฟลอปปี้ไดรฟ์ A หรือไม่ ถ้ามีดิสก์ที่ฟอร์แมตในไดร์นี้จริงแล้ว โปรแกรมจะทำการค้นหาตำแหน่งพิเศษบนดิสก์ ซึ่งเป็นตำแหน่งที่บรรจุแฟ้มข้อมูล หรือไฟล์ 2ไฟล์ด้วยกัน ไฟล์ทั้งสองนี้ เป็นสองส่วนแรกของระบบโอเอสที่สำคัญ ซึ่งเราจะมองไม่เห็นชื่อไฟล์เมื่อใช้คำสั่ง DIR ทั้งนี้เพราะเป็นไฟล์ที่ถูกกำหนดให้ซ่อนเอาไว้ โดยมากไฟล์ทั้งสองนี้จะชื่อ IO.SYS และ MSDOS.SYS แต่ถ้าในฟลอปปี้ไดรฟ์ว่างเปล่าไม่มีแผ่นดิสก์ โปรแกรมบูตก็จะทำการตรวจสอบไฟล์ทั้งสองในฮาร์ดดิสก์

DISK FOR BOOT2!!!

2.หลังจากค้นพบไฟล์ระบบทั้งสองแล้ว โปรแกรม บูตจะทำการอ่านข้อมูลจากเซกเตอร์แรก แล้วก๊อปปี้ลงหน่วยความจำแรม เซ็กเตอร์แรกนี้ เราอาจเรียกได้ว่า "บูตเซ็กเตอร์"(bootsector) ก็ได้มีขนาด 512 ไบต์ ซึ่งมากพอที่จะใส่คำสั่งการโหลดไฟล์ของระบบทั้งสองลงสู่แรมระบบได้ โปรแกรมบูตของไบออส จะทำงานจนถึงการบรรจุข้อมูลเซ็กเตอร์แรกนี้ลงในตำแหน่งพิเศษ ตำแหน่งที่มีตัวเลขฐานสิบหกว่า 7C00 จากนั้นโปรแกรมบูตที่มาจากไบออสจะโอนหน้าที่การบูตไปสู่โปรแกรมไปสู่บูตเซ็กเตอร์ ซึ่งขณะนี้จะอยู่ในแรมตำแหน่งที่ 7C00 นั้นเอง

DISK FOR BOOT3!!!

3. บูตเรคคอร์ดที่โหลดที่บูตเซกเตอร์นี้จะทำหน้าที่โหลด IO.SYS ลงสู่แรม สำหรับ IO.SYS นี้แท้จริงแล้วก็ คือ ส่วนขยายเพิ่มเติมของแรมไบออส ( RAM BIOS ) นั้นเอง และมีโปรแกรมชุดสั้นๆ ชุดหนึ่งที่เรียกว่า SYSINIT เพื่อจัดกระบวนการบูตที่เหลือทั้งหมด หลังจากบรรจุ IO.SYS แล้ว ข้อมูลที่บูตเรคคอร์ดที่อยู่ในแรมก็ไม่จำเป็นต้องใช้อีกต่อไป ซึ่งก็จะถูกทับที่โดยโปรแกรมอื่นๆ ต่อไป

DISK FOR BOOT4!!!

4. SYSINIT จะเป็นผู้ควบคุมกระบวนการบูตต่อมาโดยทำหน้าที่โหลด MSDOS.SYS ลงสู่แรม สำหรับไฟล์ MSDOS.SYS นี้มีหน้าที่จัดการเกี่ยวกับไฟล์ การกระทำกับโปรแกรม ( execute programs ) และตอบสนองสัญญาณใดๆ ที่มาจากฮาร์ดแวร์

DISK FOR BOOT5!!!

5. SYSINIT ทำการค้นหาข้อมูลในไดเร็กทรอรีราก ( root directory : ส่วนที่เก็บข้อมูลส่วนตัวของไฟล์ โดยจะเก็บว่าดิสก์นั้นๆ มีไฟล์กี่ไฟล์ อะไรบ้าง ขนาดเท่าไร อยู่ในตำแหน่งใดบนดิสก์ ฯลฯ ตำแหน่งของรูดไดเร็กทรอรีนี้จะอยู่หลังเซกเตอร์ MSDOS.SYS ) สิ่งที่ SYSINIT ค้นหาในไดเร็กทรอรีรากก็คือ หาไฟล์ที่ชื่อว่า CONFIG.SYS ว่าอยู่ที่ตำแหน่งไหนของดิสก์ จากนั้นบอกให้ MSDOS.SYS ทำการกระทำกับคำสั่งที่อยู่ในไฟล์นี้ ไฟล์ CONFIG.SYS เป็นไฟล์ที่ผู้ใช้สร้างขึ้นเอง เพื่อบอกให้โอเอสจัดสภาพแวดล้อมตามความต้องการของผู้ใช้ เช่น ต้องการให้โอเอสเปิดไฟล์ได้ 50 ไฟล์พร้อมกัน เป็นต้น และภายในไฟล์นี้เองที่เรามักพ่วงคำสั่งให้ MSDOS.SYS ทำการโหลดไฟล์ดีไวซ์ไดรเวอร์ต่างๆ เข้าไปด้วย ( device drivers คือ ไฟล์ที่บรรจุโค้ด หรือคำสั่งพิเศษ เพื่อเพิ่มขีดความสามารถ ของไบออส ให้สามารถควบคุมหน่วยความจำ หรือฮาร์ดแวร์พิเศษอื่นๆ ได้เพิ่มเติม เช่น เมาส์ ซีดีรอม เป็นต้น )


DISK FOR BOOT6!!!

6. SYSINIT บอกให้ MSDOS.SYS โหลด COMMAND.COM ไฟล์นี้เป็นไฟล์โอเอสที่ประกอบด้วย 3 ส่วนส่วนแรกเป็ภาคขยายฟังก์ชั่นการทำงานเกี่ยวกับอินพุต / เอาต์พุต ถูกโหลดลงแรมพร้อมกับไบออส และกลายเป็นโอเอสส่วนที่อยู่ในแรมอย่างถาวร


DISK FOR BOOT7!!!

7. ส่วนที่สองเป็นส่วนที่เก็บคำสั่งภายในของดอส ( internal DOS command ) เช่น DIR , COPY , TYPE เป็นต้น ส่วนนี้จะถูกโหลดในตำแหน่งบนสุดของหน่วยความจำทั่วไป ( conventional RAM ) ซึ่งเป็นบริเวณที่สามารถเขียนข้อมูลทับได้โดยโปรแกรมแอปพลิเคชั่นอื่นๆ ถ้ามันต้องการหน่วยความจำบริเวณนั้นจริงๆ


DISK FOR BOOT8!!!

8.ส่วนที่สามเป็นส่วนที่ใช้เพียงครั้งเดียวแล้วเลิกกัน เป็นส่วนที่ใช้ค้นหาไฟล์ AUTOEXEC.BAT เป็นไฟล์ที่ผู้ใช้สร้างขึ้นเพื่อใส่ชุดคำสั่งแบตไฟล์ และ/หรือ ชื่อโปรแกรมที่ต้องการใช้ทำงานทันทีเมื่อเปิดเครื่อง ถึงจุดนี้ก็เป็นอันสิ้นสุดกระบวนการ "บูต" อย่างสมบูรณ์

Thanks : www.geocities.com

วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2552

10 Tool for NetBooK

1. Ubuntu Netbook Remix

สำหรับโปรแกรมแรกที่นำ มาฝากกันก็คือ ระบบปฏิบัติการ Ubuntu for Netbook ครับ ถึงแม้ว่าผู้ผลิต Netbbok หลายๆ ยี่ห้อ จะติดตั้งระบบปฏิบัติการมาพร้อมเครื่องอย่าง Windows, Xandros, Linpus Linux, gOS และ SUSE ก็ตาม แต่เชื่อว่ามีผู้ใช้หลายคนเริ่มเบื่อหน้าตาโอเอสพวกนี้กันบ้างแล้ว และถ้าคุณเคยใช้ระบบปฏิบัติการที่ชื่อ Ubuntu บนเครื่องพีซีหรือโน้ตบุ๊กทั่วไปมาบ้าง คงยังจำความประทับใจในเรื่องความคล่องตัวและความเร็วของโอเอสตัวนี้ได้ ตอนนี้ บริษัท Canonical ได้จัดทำ Ubuntu เวอร์ชันพิเศษที่ชื่อว่า Ubuntu Netbook Remix

สำหรับเครื่อง Netbook OEM ขึ้นมา ซึ่งรองรับชิปประมวลผล Atom รวมถึงออปติไมซ์ให้มีประสิทธิภาพการทำงานที่ลงตัวกับเครื่อง Netbook อีกด้วย ไม่ว่าจะเป็นการสนับสนุนโหมดแสดงผลที่ละเอียดขึ้นสำหรับหน้าจอขนาด 10 นิ้ว การจัดวางโปรแกรมอรรถประโยชน์ต่างๆ บนหน้าเดสก์ทอปที่ดูเหมาะสมกับจอภาพขนาดเล็กได้อย่างลงตัว สำหรับ Ubuntu เวอร์ชันนี้เป็นซอฟต์แวร์ OEM สำหรับผู้ผลิต Netbook ที่สนใจ ไม่แจกจ่ายทั่วไป แต่ทว่าก็ไม่พ้นความสามารถของเซียนโอเพ่นซอร์สทั้งหลายที่ได้หาวิธีนำมาลงบน เครื่อง Netbook รุ่นต่างๆ ได้แล้ว

โดยคุณต้องไปดาวน์โหลด Ubuntu 8.04 (ดาวน์โหลดได้ที่ : http://www.ubuntu.com/getubuntu/download)

ส่วนรายละเอียดในการติดตั้ง Unbuntu Remix สามารถเข้าไปดูวิธีการได้ที่ http://www.ubuntuclub.com/node/846

2. OpenOffice 3.0

หาก โปรแกรมชุดไมโครซอฟต์ออฟฟิศ เป็นอันดับหนึ่งบนระบบวินโดวส์ ฝั่งโอเพ่นซอร์สคงต้องยกให้ OpenOffice ด้วยเช่นกัน แต่ ณ วันนี้ โปรแกรม OpenOffice ที่เป็นเวอร์ชันบนวินโดวส์ก็มีความสามารถไม่แพ้กันเลย สำหรับผู้ใช้ Netbook ถ้าคุณหวังว่าจะลง Office XP หรือ Office 2007 บนเครื่อง Netbook โดยหวังว่ามันจะทำงานวิ่งฉิวเหมือนบนพีซีละก็ ขอบอกว่าไม่เป็นเช่นนั้นแน่ เพราะนอกจากจะกินพื้นที่การติดตั้งโปรแกรมมากแล้ว ยังใช้ทรัพยากรต่างๆ ของระบบมากพอตัว ซึ่งประสิทธิภาพการทำงานของ Netbook ตอนนี้ ยังไม่อาจตอบสนองได้อย่างที่คุณต้องการ

แต่สำหรับโปรแกรม OpenOffice 3.0 ถูกออกแบบมาเพื่อระบบฮาร์ดแวร์ที่ไม่ต้องการสเปกสูงมากนัก ทำให้ผู้ใช้สามารถทำงานกับพวกสเปรดชีตและงานเอกสารต่างๆ ได้คล่องตัวกว่า OpenOffice 3.0 มีโปรแกรมย่อยที่ชื่อ Writer ทำงานเอกสารได้เหมือนกับ Words โปรแกรม Calc สำหรับงานเปรดชีตที่คล้ายคลึงกับ Excel ส่วนงานพรีเซนเตชันที่ไม่แพ้ PowerPoint ก็ต้องพึ่งโปรแกรม Impress และงานฐานข้อมูลต่างๆ ก็ต้องยกให้เป็นหน้าที่ของโปรแกรม Base ที่เป็นคู่แข่งของ Access เป็นสามโปรแกรมหลักๆ ที่เพียงพอสำหรับการใช้งานขั้นพื้นฐานบน Netbook อ้อ! เกือบลืมเรื่องสำคัญไปครับ คุณสามารถออปติไมซ์การทำงานของโปรแกรม OpenOffice ให้เหมาะกับทรัพยากรบนเครื่อง Netbook ได้

ส่วนวิธีการนั้นไปอ่านได้ที่เว็บไซต์ http://asuseeehacks.blogspot.com/2008/08/speeding-up-openoffice.html

สำหรับโปรแกรม OpenOffice 3.0 สามารถดาวนโหลดได้ที่ : http://www.softpedia.com/get/Office-tools/Office-suites/OpenOfficeorg-for-Windows.shtml

3. Foxit Reader 3.0

แฟนๆ Acrobat Reader ที่ต้องการอ่านไฟล์เอกสาร PDF บนเครื่อง Netbook อาจผิดหวังกับความเร็ว เมื่อต้องเปิดหน้าเอกสาร PDF ที่มีขนาดไฟล์ใหญ่ๆ ทั้งนี้ก็เนื่องมาจากตัวโปรแกรมใช้ทรัพยากรของเครื่องไปมากพอตัว ทำให้แสดงอาการกระตุกให้เห็น ถึงแม้คุณจะลงเวอร์ชัน Lite แล้วก็ตาม แต่นั่นก็เป็น Lite สำหรับพีซีและโน้ตบุ๊กทั่วไป Foxit Reader 3.0 ทางเลือกใหม่ในการอ่านเอกสาร PDF บนโน้ตบุ๊กจิ๋ว โปรแกรมที่ขึ้นชื่อเรื่องความเร็วในการเปิดหน้าเอกสาร PDF ซึ่งมีขนาดโปรแกรมที่เล็กเพียง 3.7 เมกะไบต์ ไม่เปลืองพื้นที่การติดตั้ง ตัวโปรแกรมมีฟังก์ชันในการแปลงเอกสาร PDF ไปเป็น Text File อื่นๆ ด้วย และในเวอร์ชัน 3.0 นี้ ยังเพิ่มระบบความปลอดภัยของเอกสารลงไปด้วย ส่วนทูลอื่นๆ ในโปรแกรมก็ถือว่าไม่แพ้ Acrobat เข่นกัน เอาเป็นว่าใครที่ใช้ Nebook รีบไปดาวน์โหลดฟรีเวอร์ชันจากเว็บไซต์ http://www.foxitsoftware.com/pdf/rd_intro.php มาใช้งานกันได้เลยครับ ไม่แน่ว่าคุณอาจจะลืมโปรแกรมตัวเก่าไปเลย!!!

4. FireFox

หาก Google Chrome ที่เป็นเวอร์ชันสำหรับลินุกซ์และโอเพ่นซอร์สอื่นๆ ออกมาเมื่อไร โปรแกรมในหมวดเว็บบราวเซอร์สำหรับ Netbook คงไม่ได้มีแค่จิ้งจอกไฟที่ชื่อ FireFox แน่ เพราะด้วยคุณสมบัติหลายอย่างที่ดีพอ และเหมาะสมสำหรับโน้ตบุ๊กจิ๋ว จึงต้องเว้นที่ว่างไว้สำหรับ Google Chrome ด้วย แต่ชั่วโมงนี้คงต้องยกความดีให้กับ FireFox ไปก่อน เพราะไม่ว่าจะรันบนแพลตฟอร์มไหน เล็กหรือใหญ่ FireFox ก็ยังคงได้รับความไว้วางใจให้เป็นเว็บบราวเซอร์ตัวโปรดที่คนส่วนใหญ่เลือก ใช้และไว้วางใจ

สำหรับผู้ใช้ Netbook ก็เข่นเดียวกัน การติดตั้ง FireFox 3.0 ไม่ได้ทำให้เครื่องคุณช้าลงอย่างที่คิด ถึงแม้ในช่วงแรกผู้ใช้หลายคนจะพบปัญหาเรื่องการแสดงผลบนหน้าเว็บเพจ แต่หลังจากปรับแต่ง FireFox ให้เข้ากับทรัพยากรระบบที่มี เว็บบราวเซอร์ตัวนี้ก็วิ่งฉิวไม่แพ้บนพีซีเลยเช่นกัน สำหรับผู้ที่ต้องการจูนอัพ ปรับสปีด FireFox คุณสามารถดูรายละเอียดในรูปแบบคลิปวิดีโอได้ที่ Youtube.com โดยค้นหาด้วยคีย์เวิร์ด “Speed Up FireFox” ส่วนโปรแกรม FireFox เวอร์ชันล่าสุด (3.1 Beta)

สามารถดาวน์โหลดได้ที่ : http://www.softpedia.com/get/Internet/Browsers/Mozilla-Firefox-Final.shtml

5. VLC Media Player

ถ้า คุณจะดูหนังบน Netbook ด้วยโปรแกรมตัวเดียวกับที่ใช้บนพีซีละก็ หากไม่ใช่โปรแกรมตัวเล็กๆ ที่กินทรัพยากรเครื่องน้อยๆ ละก็ ขอบอกเลยว่า Netbook ของคุณจะทำงานได้ช้าลงแน่ VLC Media Player เป็นโปรแกรมเล่นไฟล์มีเดีย ทั้งวิดีโอ ออดิโอ ที่มาจากฝั่งโอเพ่นซอร์ส ซึ่งการันตีในเรื่องการใช้ทรัพยากรของเครื่องน้อย และมีขนาดไฟล์ไม่ใหญ่

ถ้า คุณเคยใช้ Windows Media Classic ที่มากับชุด Codec ของโปรแกรม K-Lie ตัวนี้จะมีขนาดเล็กกว่า แถมคุณสมบัติก็ไม่ธรรมด้วย โดยรอบรองฟอร์แมตวิดีโอ/ ออดิโอ ได้เกือบทุกชนิด จุดเด่นของโปรแกรมตัวนี้นอกจากขนาดกะทัดรัดแล้ว ยังสนับสนุนการทำสตรีมมิ่งวิดีโอ/ออดิโอ ได้อีกด้วย ซึ่งรองรับโพรโตคอลสื่อสารอย่าง IPV6 ทำ Video LAN ขนาดย่อมๆ ในวงแลนของคุณได้เลย ที่สำคัญยังเป็นโอเพ่นซอร์สที่แจกจ่ายโค้ดโปรแกรมสำหรับผู้ที่ต้องการนำไป พัฒนาต่ออีกด้วย มีให้เลือกทั้งเวอร์ชันบนวินโดวส์ แมคฯ และลินุกซ์

สนใจเข้าไปดาวน์โหลดโปรแกรมและโค้ดได้ที่ http://www.videolan.org/vlc/


6. 7-Zip

7-Zip โปรแกรมโคตรซิป คู่แข่ง WinRAR และ WinZIp ที่คุณไม่ต้องเสียเงินซื้อ เพราะเป็นฟรีแวร์ที่แจกให้ใช้งานกันฟรีๆ จุดเด่นของ 7-Zip ก็คือ มันสามารถเปิดไฟล์ซิปได้ทุกประเภทไม่ว่าจะเป็น 7z, ZIP, GZIP, BZIP2, TAR, RAR, CAB, ISO, ARJ, LZH, CHM, MSI, WIM, Z, CPIO, RPM, DEB แ ละ NSIS ในเว็บไซต์ผู้ผลิตระบุคุณสมบัติของโปรแกรมตัวนี้ว่าสามารถบีบอัดไฟล์โดยมี อัตราส่วนที่มากกว่าทั้ง WinZIp และ WinRAR อยู่พอสมควร อันนี้ต้องไปลองใช้กันเองครับถึงจะรู้ว่าสมราคาคุยหรือไม่ นอกจากนี้ยังมีขาดไฟล์ติดตั้งที่ไม่ใหญ่ด้วย ใช้ทรัพยากรเครื่องน้อยเวลาทำงาน จึงเหมาะกับการนำมาใช้บนโน้ตบุ๊กจิ๋วอย่าง Netbook ได้สบาย

สำหรับผู้สนใจสามารถดาวน์โหลดฟรีแวร์ตัวนี้ได้ที่ http://www.7-zip.org/

7. JkDefrag Portable

เมื่อ ถึงเวลาที่คุณต้องจัดเรียงข้อมูลในฮาร์ดดิสก์หรือ SSD Drive บนเครื่อง Netbook นั้น การใช้โปรแกรม Defrag ที่อยู่บนวินโดวส์ หรือโปรแกรม Defrag อื่นๆ ที่ไม่ได้ออกแบบมาเพื่อระบบพอร์ตเทเบิล เครื่องจะอยู่ในสภาวะโหลด และแทบจะใช้งานอะไรไม่ได้เลยในระหว่างที่มีการจัดเรียงข้อมูล สำหรับ JkDefrag Portable เป็นโปรแกรมจัดเรียงข้อมูลรวมถึงซ่อมแซมโครงสร้างไฟล์ระบบที่เสียหายได้อีก ด้วย ตัวโปรแกรมมีขนาดเล็กไม่ถึง 1MB แต่ก็มีระบบกราฟิกเอาไว้ติดต่อกับผู้ใช้ สนับสนุนการใช้งานกับฮาร์ดดิสก์ขนาดใหญ่ และรองรับไฟล์ขนาดใหญ่ของแพลตฟอร์ม 64-บิต ด้วยเช่นกัน คุณสามารถเซฟโปรแกรม JKDefrag ใส่แฟลชไดรฟ์ เครื่องเล่น iPod แผ่นซีดี หรือสื่อเก็บข้อมูลอื่นๆ แล้วนำไปใช้งานได้กับทุกเครื่อง ทั้งพีซี โน้ตบุ๊ก และ Netbook

สามารถดาวน์โหลดยูทิลิตี้ตัวนี้ได้ที่ : http://www.freewarefiles.com/JkDefrag-Portable_program_43698.html

8. InfraRecorder Portable

โปรแกรม เบิร์นแผ่นอย่าง Nero และ Alcholhol120% อาจจะไม่เหมาะกับโน้ตบุ๊กเครื่องเล็กๆ อย่าง Netbook เพราะใช้พื้นที่ติดตั้งโปรแกรมมาก อีกทั้งเวลาใช้งานทรัพยากรของเครื่องจะถูกโหลดการทำงานมากขึ้น สำหรับผู้ใช้ Netbook ที่มีเครื่อง DVD Writer แบบติดตั้งภายนอกอยู่ด้วย ผมแนะนำให้ใช้โปรแกรมที่ชื่อ InfraRecorder Protable แทนครับ ตัวโปรแกรมถูกออกแบบมาเพื่อใช้งานอยู่บนแพลตฟอร์มแบบพอร์ตเทเบิลได้อย่างลง ตัว ตั้งแต่พวกเครื่อง UMPC จนมาถึง Netbook คุณสมบัติของโปรแกรมนั้นเรียกได้ว่าเกินตัวครับ ไม่ว่าจะเป็นฟังก์ชันการใช้งานพื้นฐานทั่วไป การรองรับไฟล์ในฟอร์แมตต่างๆ ทั้งดาต้าทั่ว วีดิโอ/ออดิโอ (เซฟแทร็กออดิโอไปเป็นไฟล์ .wav, .wma, .ogg, .mp3 และ .iso) สนับสนุน DVD-Dual Layer นอกจากนี้หากต้องการ Rip MP3 คุณสามารถดาวน์โหลดปลั๊กอินเสริมลงไปได้ เท่าที่ดูจากคุณสมบัติต่างๆ ต้องยกนิ้วให้เลยครับ เป็นโปรแกรมเบิร์นแผ่นที่เล็กพริกขี้หนูจริงๆ

ดาวน์โหลดได้ที่ : http://www.download.com/InfraRecorder-Portable/3000-2646_4-10836498.html

9. Cornice Portable

โปรแกรม ดูภาพสำหรับแพลตฟอร์มพอร์ตเทเบิลที่มีคุณสมบัติไม่แพ้โปรแกรมตัวใหญ่ๆ อย่าง ACDSee ด้วยขนาดไฟล์ติดตั้งทั้งหมดเพียง 6MB แต่อัดแน่นด้วยฟังก์ชันใช้งานที่เพียบพร้อม เช่น การจัดเรียงภาพในลักษณะ Thumbnail ที่ไม่ต้องรอโหลดภาพนานเหมือนกับโปรแกรมบางตัว ระบบซูมภาพเข้า-ออก ที่ไม่ทำให้เครื่อง Netbook ของคุณต้องโหลดนาน สามารถทำสไลด์ โชว์ จากภาพที่เก็บไว้ในเครื่องได้ทันที นอกจากนี้หากคุณมีไฟล์ภาพที่เก็บอยู่ในเครื่องเล่น ipod ที่เชื่อมต่อกับ Netbook แล้วละก็ คุณสามารถใช้โปรแกรมเข้าถึงไฟล์ภาพเพื่อเรียกขึ้นมาดูได้อีกด้วย สำหรับโปรแกรมดูภาพและจัดการภาพนี้ ถือเป็นหนึ่งในโปรแกรมสามัญประจำเครื่องคอมพ์แทบทุกเครื่อง ซึ่งเครื่อง Netbook ก็เช่นเดียวกัน หากคุณต้องการเปิดภาพขึ้นมาดูอย่างราบรื่น ไม่มีสะดุด ลองติดตั้ง Cornice Portable ลงไปใน Netbook ของคุณดูครับ

โดยสามารถดาวน์โหลดมาใช้งานได้ฟรีๆ จากเว็บไซต์ : http://cornice-portable.10001downloads.com/

10. ClamWin Portable

ปัญหา อย่างหนึ่งของผู้ใช้ Netbook คือ ไม่รู้ว่าจะเลือกใช้โปรแกรมแอนติไวรัสตัวไหนดี เพราะส่วนใหญ่ที่มีนั้นก็เป็นแอนติไวรัสที่รันอยุ่บนเครื่องพีซีและโน้ตบุ๊ก ทั่วไป อัดแน่นด้วยฟีเจอร์ใช้งานมากมาย แน่นอนว่าเขมือบทรัพยากรของเครื่องมากด้วย หากติดตั้งโปรแกรมแอนติไวรัสพวกนี้ลงในเครื่อง Netbook ที่มีทรัพยากรจำกัดแล้วละก็ แอนติไวรัสจะทำให้เครื่องของคุณอืดไปเลย

แต่ สำหรับ CalmWin Antivirus นั้นตรงกันข้ามครับ มันสามารถป้องกันไวรัสและสปายแวร์ต่างๆ ได้ดีพอตัวเลย มีความรวดเร็วในการทำงานสูง ตัวโปรแกรมนั้นจะได้รับการอัพเดตฐานข้อมูลไวรัสจากเว็บไซต์ผู้ผลิตทุกครั้ง ที่คุณเปิดเครื่องเชื่อมต่อกับอินเทอร์เน็ต หรือทุกครั้งที่มีไฟล์อัพเดตออกมาใหม่ เนื่องจากมันถูกออกแบบมาเพื่อระบบฮาร์ดแวร์ที่ค่อนข้างจำกัด การสแกนค้นหาไวรัสจึงต้องทำแบบแมนนวล นั่นคือผู้ใช้ต้องสร้างตารางเวลาสำหรับการสแกนไวรัสขึ้นมา โดยมันจะไม่มีระบบสแกนแบบเรียลไทม์มาให้ สำหรับผู้ที่ต้องกรนำไปติดตั้งบน Netbook

สามารถดาวน์โหลดได้ที่ : http://www.download.com/ClamWin-Portable/3000-2239_4-10703785.html


Thanks : www.arip.co.th

Mod_Rewrite in apache

Mod_Rewrite คือ การแปลง URL ที่ดูยากและยาว ให้อยู่ในรูปแบบที่เราต้องการ เพื่อที่ให้ง่ายต่อการเข้าถึง และการทำ SEO
เช่น
http://tn-home.blogspot.com/?page=Mod_Rewrite&Se0=1

เมื่อทำการแปลงจะทำให้เหลือสั้นลง
เช่น
http://tn-home.blogspot.com/page/mod_rewrite

ในการทำนั้นต้องทำการตรวจสอบ Apache server ด้วยว่าทำการลง Mod_Rewrite แล้วหรือยัง
ต่อมาทำการ ตรวจสอบไฟล์ .htaccess ซึ่งเราจะใช้ในการกำหนด Rule ของการทำ Mod_Rewrite

RewriteEngine on

หากต้องการทำ Redirects ก็สามารถทำได้ เช่น

RewriteEngine on
RewriteRule ^old\.html$ new.html [R]

คือทำการแทนที่ เว็บ old.html ด้วย new.html โดย ใช้ Regular expressions ในการตรวจสอบ โดยเมื่อพิมพ์ old.html ก็จะส่งไปยัง new.html แล้ว URL ก็จะเปลี่ยนเป็น new.html จะเห็นว่าที่กล่าวมาประกอบไปด้วย 4 ส่วนด้วยกันคือ
1. Rewrite ทำการบอกว่านี้คือ Rule
2. ^old\.html$ ทำการบอกว่านี้คือการตรวจสอบ
3. new.html คือ URL ใหม่ที่เราจะแปลงเป็นอันใหม่
4. [R] คือ Command Flag เป็นคำสั่งพิเศษกำหนดเงื่อนไข

Thanks : plingkratok

Protect Hotlink with mod_rewrite

ป้องการการ Hotlink ใน Apache ด้วย mod_rewrite

ปัญหา การขโมยแบนด์วิดธ์จากเว็บไซท์อื่น โดยการทำการ hot-link มารูปในเว็บไซท์ที่เราทำนั้น เป็นการเพิ่มภาระและใช้ทรัพยากรของเรา โดยที่เราเป็นผู้เสียผลประโยชน์ การแก้ปัญหานี้ในระบบ *nix ที่ใช้งาน apache สามารถทำได้โดย

ความต้องการเพื่อใช้งาน
  • apache ที่ติดตั้ง mod_rewrite
  • apache อนุญาตใช้งาน AllowOverride
  • apache อนุญาตใช้งาน FollowSymLinks
การทำงานสามารถทำได้โดย การสร้างไฟล์ .htaccess โดยการเขียนคำสั่งดังนี้

HTACCESS
  1. RewriteEngine on
  2. RewriteCond %{HTTP_REFERER} !^$
  3. RewriteCond %{HTTP_REFERER} !^(http://|https://)(www.)?(modoeye.com).*$ [NC]
  4. RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]

จากโค๊ดข้างต้นสามารถอธิบายได้ดังนี้

HTACCESS
  1. RewriteEngine on

เป็นการสั่งให้ module mod_rewrite เริ่มทำงาน

HTACCESS
  1. RewriteCond %{HTTP_REFERER} !^$

เป็นการตรวจสอบค่าใน HTTP_REFERER ว่ามีค่าว่าง

HTACCESS
  1. RewriteCond %{HTTP_REFERER} !^(http://|https://)(www.)?(modoeye.com).*$ [NC]

เป็น การตรวจสอบค่าใน HTTP_REFERER ว่ามีค่าไม่ตรงกับ http://www.modoeye.com, https://www.modoeye.com, http://modoeye.com, https://modoeye.com โดย NC เป็นการระบุว่าตรวจสอบแบบไม่สนใจตัวพิมพ์ใหญ่หรือพิมพ์เล็ก (non case-sensitive:case-insensitive)

HTACCESS
  1. RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]

เป็น การบอกว่าถ้ามีการเรียกมายังไฟล์ที่มี extension เป็น jpg, jpeg, gif, bmp และ png ให้ไม่มีการส่งข้อมูลใดๆไป ส่วน F เป็นการส่งเพียง header รหัส 403 (Forbidden) ไปยัง browser

หากเราต้องการเตือนให้ปลายทางรูปว่า เรารู้นะว่าคุณขโมยรูปของเรา เราสามารถส่งรูปที่เราต้องการไปยังปลายทางได้โดยการระบุรูปที่ต้องการ โดยจะได้โค๊ดทั้งหมดดังนี้

HTACCESS
  1. RewriteEngine on
  2. RewriteCond %{HTTP_REFERER} !^$
  3. RewriteCond %{HTTP_REFERER} !^(http://|https://)(www.)?(modoeye.com).*$ [NC]
  4. RewriteRule \.(jpe?g|gif|bmp|png|wav)$ images/steal.jpg [L]

ส่วนที่เปลี่ยนแปลงคือ

HTACCESS
  1. RewriteRule \.(jpe?g|gif|bmp|png|wav)$ images/steal.jpg [L]

เป็น การบอกว่ามีการเรียกมายังไฟล์ที่มี extension เป็น jpg, jpeg, gif, bmp และ png ให้ทำการส่งภาพ images/steal.jpg ไปแทน โดย L เป็นการบอกว่าเป็นกฎข้อสุดท้าย (Last rule)

Thanks : Sheroku