Harddisk SCSI VS IDE อันไหนดีกว่ากันมาดูครับ
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: Harddisk SCSI VS IDE อันไหนดีกว่ากันมาดูครับ  (อ่าน 5870 ครั้ง)
Cell
member
*

คะแนน8
ออฟไลน์ ออฟไลน์

กระทู้: 33

ยโส ลัทธา น มัชเชยย ได้ยศแล้ว ไม่ควรเมา


« เมื่อ: กรกฎาคม 09, 2007, 10:56:00 AM »

ถ้ามีเงินสักก้อนนึง จะเอา SCSI หรือ IDE ดีล่ะ

ถ้าจะให้เลือก HDD ระหว่าง SCSI กับ IDE มันเป็นปัญหาโลกแตกมาตั้งแต่ทั้งสองเทคโนโลยีนี้ออกมาใหม่ๆ แล้วล่ะครับ เพราะว่าต่างฝ่ายต่างก็มีข้อดีและข้อเสีย เช่นถ้ามีเงิน 10000 บาท ไปซื้อ SCSI ก็ได้แค่ 18.5G 10000rpm แต่ถ้าเป็น IDE 7200rpm ก็จะได้ตัว 40G ถึง 3 ตัว (ตอนนี้ประมาณ 3000 เองอ่ะ)

แล้ว 18.5G นี่ จะเอาไปทำไรกินได้ล่ะครับ ลำพังลง Win2000 + SP3 ก็เอาไปเกือบ 1G แล้ว ลงโปรแกรมนู้นโปรแกรมนี้ ลงเกม 3-4 เกม ก็เต็มแล้ว ไหนจะ MP3 อีก แล้วหนัง XXX ล่ะ ไม่พอใช้หรอก แต่ข้อดีที่สำคัญมากของ SCSI คือ มันถูกออกแบบมาเพื่อสนับสนุนการใช้เครื่องพร้อมกันหลายคนโดยเฉพาะ (Multi-user / Multi-Tasking) ซึ่งคุณสมบัตินี้สำคัญมากสำหรับ Server ส่วน IDE จะรองรับผู้ใช้ได้เพียงคนเดียว เนื่องจากโครงสร้างของมันเป็นแบบ Single Threaded (เธรด ว่างๆ จะอธิบายให้ฟัง)

เอาเป็นว่า ผมลองอธิบายให้ฟังง่ายๆ นะ คือ ถ้าเรามี HDD แบบ IDE 2 ตัว ต่อบนช่อง Primary หรือ Secondary เดียวกัน ถ้าหากเราจะอ่านหรือเขียนข้อมูล ก็จะมีคำสั่งให้อ่านหรือเขียนข้อมูลที่ทำงานได้เพียงคำสั่งเดียว (Request) แต่ถ้าเป็น SCSI ล่ะ มันจะทำงานได้เรื่อยๆ เลยโดยมันจะสามารถรับคำสั่งได้มากกว่า 1 คำสั่งพร้อมกัน ทำให้มันไม่จำเป็นที่จะต้องทำคำสั่งที่ 1 (process 1) เสร็จก่อน แล้วค่อยไปทำคำสั่งที่ 2 (process 2) ข้อดีอันนี้ทำให้คำสั่งที่เข้ามา ไม่จำเป็นต้องทำงานเสร็จตามลำดับ บางครั้ง P1 เข้ามาก่อน P2 แต่ P2 สามารถทำงานได้เสร็จก่อน หรือพร้อมกันได้ เนื่องจากคุณสมบัติของ SCSI ที่สามารถรับหลายๆ Process ได้ในเวลาเดียวกัน

งง กันไหมครับ
ถ้าไม่งง ก็ต่อเลยนะ

และในการ์ด SCSI ดีๆ (แพงๆ) มันจะมีความสามารถมากกว่านั้นขึ้นไปอีก เช่น (อธิบายง่ายๆ แล้วนะ) เมื่อ Process A ร้องขอให้ทำการอ่านข้อมูลจากบล็อก (คลัสเตอร์) ที่ 1000 คำสั่งก็จะส่งที่ยัง HDD พอหัวอ่านเริ่มทำงานและ Process A อยู่ในระหว่างรอข้อมูล ProcessB ได้เข้ามา และสั่งให้อ่านข้อมูลเหมือนกัน (ตำแหน่งที่ 500) คำสั่งจะถูกส่งไปยัง "แคช" ของการ์ด SCSI ก่อน และถ้าข้อมูลที่ Process B เรียกมา อยู่ในแคชของการ์ด SCSI หรือว่าหัวอ่านของ HDD กำลังเคลื่อนเข้าไปใกล้ตำแหน่งที่ข้อมูลอยู่ (คลัสเตอร์ 500) การ์ด SCSI ก็จะทำการอ่านข้อมูลของ Process B ให้ก่อนที่จะไปถึงจุดที่ข้อมูลของ Process A อยู่ ทำให้ PB ทำงานเสร็จก่อน PA ทั้งๆ ที่ PB เข้ามาทีหลัง การทำงานแบบนี้ จะอยู่ในการ์ด SCSI ที่ดีมากๆ (และราคาโคตรแพง) ซึ่งมันจะทำให้ CPU รอเวลาน้อยมากๆ

แต่ถ้าเป็น IDE ล่ะ สมมุติว่า Server ของผมใช้ HDD IDE แล้วมีคนเข้ามาดู mail พร้อมกัน 100 คน (เข้ามาเรียงกัน) HDD ก็ต้องอ่านข้อมูลของคนที่ 1 (ProcessA) และส่งให้เสร็จก่อน แล้วค่อยทำของคนที่ 2 ไปเรือยๆ จะเห็นได้ว่า ถ้าคนที่ 100 จะต้องรอข้อมูลนานแค่ไหน เพราะ Process แต่ละตัวต้องทำงานตามลำดับก่อนหลัง และไม่สามารถทำงานพร้อมกันได้ แน่นอน Process ท้ายๆ อาจไม่เกิด วงจรอับ (deadlock) แต่อาจเกิดการ "แช่เย็น" หรือการ "อดตาย" (starvation) ได้นี่ เพราะมันรอไปเรื่อยๆ ไม่รู้ว่าจะได้ทำเมื่อไหร่ การแช่เย็น ก็เหมือน Not Responnig อ่ะครับ คือ Process ทำงานได้ แต่ไม่รู้ว่าจะจบเมื่อไหร่ หรือว่ารอการทำงานไปเรื่อยๆ ถ้าอยากรู้ ลองใช้ NotePad เปิดไฟล์อะไรก็ได้ ขนาดสัก 70M ก็รู้ผลล่ะครับ (เครื่องผม RAM256 นะ ถ้ามากกว่านี้ไม่รู้อ่ะ)

คงพอจะรู้ล่ะนะครับว่าทำไม Server ส่วนใหญ่ถึงใช้ HDD SCSI กัน เครื่องที่ว่าแรงๆ วัด SIS Soft ได้เยอะๆ เพราะมันทำงานแบบ Single Task น่ะครับ ลองไปทำงาน Multi Task สิ รับรองไม่เหลือ แต่ถ้าเราทำงานแค่เครื่องเราอย่างเดียว (Stand Alone) แค่ IDE ก็เหลือเฟือครับ นอกเสียจากจะเอาไปทำงานพวกตัดต่อ Video ที่ไฟล์ขนาดใหญ่ๆ น่ะครับ SCSI สมควรเป็นอย่างยิ่ง เพราะอาการ Hang ของเครื่อง ส่วนใหญ่จะมาจาก HDD อ่านข้อมูลอยู่ แล้วเราสั่งให้ทำอย่างอื่นอีกอ่ะครับ เพราะการอ่าน HDD เป็นการทำงานที่ตัดทอนไม่ได้อ่ะครับ (Non preemptive) Process ใดเรียกเข้ามา ก็ต้องทำให้เสร็จก่อน แล้วค่อยทำ Process อื่นๆ (อ่า เข้าเรื่อง OS อีกแล้ว)

อุปกรณ์ที่ตัดทอนได้ เท่าที่ผมพอจะรู้และนึกออกก็มี CPU ตัวเดียวล่ะครับ คือ ถ้า ProcessA กำลังใช้งาน CPU อยู่ แล้ว ProcessB เข้ามา โดยที่ ProcessB มีความสำคัญมากกว่า ProcessA ก็จะเก็บสถานะของตัวเองลงใน Stack (อาจเป็น RAM หรือ แคช) แล้วให้ ProcessB ทำงานจนเสร็จ แล้วค่อยโหลดสถานะเดิมออกมาทำงานต่อ แต่วิธีนี้ไม่ค่อยมีใครใช้อ่ะครับ เพราะถ้ามี Process อื่นๆ ที่มีความสำคัญมากกว่า ProcessA เข้ามาเรื่อยๆ ล่ะ ProcessA ก็ไม่ต้องได้ทำงานกันพอดี เกิดอาการ อดตาย หรืออาการ แช่เย็น อีกแล้ว อ่าวเข้าเรื่อง OS อีกแล้ว
อุปกรณ์ที่ตัดทอนไม่ได้ เพียงครับ HDD FDD CDROM Printer Scanner ยกตัวอย่าง Printer นะครับ ถ้าคุณกำลังพิมพ์งานจาก Word อยู่ สัก 100 หน้า แล้วเข้า PhotoShop เพื่อสั่งพิมพ์ รูป XXX ล่ะ สมมุติว่า Word กำลังพิมพ์ไปได้ 30 หน้า แล้วคุณสั่งพิมพ์ที่หน้าที่ 31 พอดี Printer พิมพ์อะไรออกมา ระหว่างงานหน้าที่ 31 หรือรูป XXX : คำตอบคือ งานหน้าที่ 31 เพราะ Printer เป็นทรัพยากรที่ตัดทอนไม่ได้ไงล่ะ อีกอย่าง ถ้าทำแบบนั้น Network Printer ก็พิมพ์ออกมามั่วหมดสิ แต่จริงๆ แล้ว Printer จะพิมพ์งานตามที่มันได้รับ ตัวที่จัดการจริงๆ คือโปรแกรม Printer Manager (สำหรับ Windows) หรือถ้าเป็น NetWork Printer ตัวจัดการก็คือตัว Printer นั่นแหละ มันจะเก็บงานเอาไว้ใน แคช ของมัน (Network Printer ถึงมี RAM มากไง)

Creadit : คุณ Shikima แห่ง http://www.expert2you.com


บันทึกการเข้า

หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: