Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Realtime computing

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 8 Publicité

Realtime computing

Télécharger pour lire hors ligne

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

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

Publicité
Publicité

Plus De Contenu Connexe

Plus par Surapol Imi (20)

Publicité

Realtime computing

  1. 1. "Real-time computing" การประมวลผลตามสภาพเวลาที่เปนจริง สุรพล ศรีบุญทรง คอมพิวเตอรทูเดย แมกะซีนปที่ 4 ฉบับที่ 38 ส.ค. 2537 110-115 ในระบบคอมพิวเตอรที่ใชการประมวลผลตามสภาพเวลาที่เปนจริง (Real-time computing) นั้น ประสิทธิภาพของการประมวลผลไมไดพิจารณาจากความถูกตองเชื่อถือไดของผลลัพธในการประมวลผล (logical result dependent) เทานั้น แตยังขึ้นอยูกับเวลาที่คอมพิวเตอรใชในการตอบสนองตอผูใชอีกดวย (time dependent) วา จะตองเปนไปอยางฉับไวรวดเร็วจนมีลักษณะเหมือนกับวาระบบ คอมพิวเตอรไมตองเสียเวลาไปกับการประมวลผลเลย การประมวลผล Real-time computing มีได หลากหลายรูปแบบ ตั้งแตระบบควบคุมที่ใชเพียงวงจรควบคุมงายๆ (simple microcontrollers) ไปจนกระทั่งถึงระบบการประมวลผล ที่มีลักษณะซับซอนมากดวยเครื่องคอมพิวเตอรสมรรถนะสูงๆ และ ใชรูปแบบการประมวลผลแบบกระจายอํานาจไปยังอุปกรณ คอมพิวเตอรอื่นๆ ที่ตอพวงออกไปในลักษณะเครือขาย (highly sophisticated, complex, distributed system) ปจจุบัน การประมวลผลแบบ Real-time computing กําลังไดรับการนํามาประยุกตใชใน ชีวิตประจําวันของมนุษยเรามากขึ้นเรื่อยๆ สวนหนึ่งปนผลมาจากประสิทธิภาพของเทคโนโลยีคอมพิวเตอรที่ไดรับการ พัฒนาขึ้นมาเปนอยางมากในชวงหลายสิบปที่ผานมา, สวนหนึ่งเปนผลมาจากราคาของของอุปกรณคอมพิวเตอรที่ถูกลง จากเดิม, และสวนหนึ่งก็เปนผลมาจากความตองการในคุณภาพชีวิตที่ดีขึ้นผูบริโภคทั้งหลายทั้งปวงอยางเราๆ ทานๆ นี่เอง ตัวอยางของการประยุกตใชระบบประมวลผลแบบ Real-time computing ในงานอุตสาหกรรม ไดแก การใชคอมพิวเตอรควบคุมสายการผลิตและประกอบรถยนต, ควบคุมกระบวนการกลั่นแยกลําดับสวนสารปโตรเลี่ยม, ควบคุมการผลิตยาและเวชภัณฑ, ควบคุมโรงงานผลิตอาหารแปงและขนมปง, ควบคุมระบบการจายกระแสไฟฟาใน หนวยงานขนาดใหญๆ, ควบคุมการขายและสํารองที่นั่งบนเครื่องบิน, ไปจนถึงระบบควบคุมการขึ้น/ลงของเครื่องบิน (ATC, air traffic control) ตามสนามบินสมัยใหมทั้งหลาย ฯลฯ จากแนวโนมที่ระบบการประมวลผล Real-time computing กําลังไดรับการยอมรับใชงานมากขึ้น เรื่อยๆ จนทําใหการดํารงชีพของเราตองมีโอกาสเขาไปเกี่ยวของสัมพันธกับมันบอยๆ เชนนี้ ผูเขียนคิดวาเรานาจะมา ทําความรูจักและทําความเขาใจกับมันสักหนอย ลองมาดูวามันมีลักษณะการทํางานอยางไร, มีประสิทธิภาพมากนอย เพียงไร, และมีขอจํากัดในการทํางานอยางไรบาง ฯลฯ เพื่อวาจะไดเตรียมตัวเตรียมใจวางแผนรับมือกับมันไดอยาง ถูกตองเหมาะสม สององคประกอบหลักของ Real-time computing
  2. 2. 2 ระบบการประมวลผล Real-time computing โดยทั่วไปตางลวนประกอบไปดวยองคประกอบหลัก 2 สวน คือ สวนควบคุม (controlling system) และสวนที่ถูกควบคุม (controlled system) ยกตัวอยางเชนในโรงงาน อุตสาหกรรมที่นําเอารระบบการประมวลผลแบบ Real-time computing ไปใชควบคุมการผลิตนั้น สวนควบคุมก็ไดแก พนักงานและเครื่องคอมพิวเตอรที่ติดตอสื่อสารรวมมือกันในการบริหาร และจัดการกระบวนการตางๆ ที่ดําเนินไปภายใน พื้นที่ของโรงงาน ในขณะที่สวนที่ถูกควบคุมก็ไดแก ตัวพื้นที่ทํางานภายในโรงงานเอง, หุนยนต, สายการผลิต, และ ชิ้นสวนผลิตภัณฑที่ผานไปตามสายการผลิต ฯลฯ สวนควบคุมของระบบการประมวลผล Real-time computing จะติดตอและตอบโตกับสภาพแวดลอม รอบๆ ตัวมัน และสวนที่ถูก ควบคุม โดยอาศัยขอมูล ที่มาจากแหลงตางๆ อัน ไดแก สัญญาณขอมูลจาก อุปกรณเซนเซอรตรวจจับ สัญญาณ (sensors) เชน สัญญาณเสียง, แสง, ความ รอน, ความดัน, ฯลฯ และสัญญาณจากอุปกรณอินพุต (inputs) อยางเชน การกดปุมคียบอรด, การคลิ้ก/ลากเมาส, การ ลากแสกนเนอร, การพูดใสไมโครโฟน ฯลฯ ที่พนักงานผูควบคุมใชปอนคําสั่งตางๆ เขาสูระบบการประมวลผล โดยขอมูลที่ถูกปอนเขามายังสวนควบคุมของระบบการประมวลผล Real-time computing นั้น จะตองเปนขอมูลที่ถูกตองแมนยํา และเปนสภาพขอมูลที่เปนจริงภายใตชวงเวลาขณะนั้นของสวนที่ถูกควบคุมจริงๆ มิ ฉนั้นการทํางานของสวนควบคุมที่กระทําตอสวนถูกควบคุมอาจจะเปนไปอยางผิดพลาดและนําไปสูความเสียหายอันใหญ หลวงไดถาการทํางานนั้นเปนการทํางานที่ละเอียดออนมากๆ ยกตัวอยางเชนในการถายภาพรถยนตที่กําลังเคลื่อนที่ผาน หนากลองไปอยางรวดเร็วนั้น ขอมูลสัญญาณจับวัตถุที่ถูกสงมาจากอุปกรณเซนเซอรจะตองสัญญาณในชวงเวลาวินาทีนั้น จริงๆ ไมใชสัญญาณเมื่อหนึ่งหรือสองวินาทีที่ผานมา มิฉนั้นเมื่อเปดหนากลองใหแสงผานตกลงบนฟลมก็จะไดภาพฉาก หลังแทนที่จะเปนภาพรถยนต "เวลา" หัวใจของ Real-time computing ความถูกตองในเงื่อนเวลา (Timing correctness) คือปจจัยสําคัญที่สุดเมื่อเรานําเอาระบบการ ประมวลผลแบบ Real-time computing ไปใชในงานควบคุม เชน ถาใชควบคุมหุนยนตในโรงงาน การสั่งงานชาจาก เวลาที่ควรจะเปนไปเพียงชั่วหนึ่งหรือสองวินาทีอาจจะสงผลใหหุนยนตทําลายขาวของพังเสียหายไปไดอยางมากมาย, ถา ใชควบคุมการขับเคลื่อนรถยนตก็ทําใหชนคนตาย หรือขับชนเสาจนคนขับตาย, ถาใชควบคุมการไหลของยากระตุนหัวใจก็ อาจจะกระตุนใหหัวใจเตนเร็วจนผูปวยหัวใจวายตายได ฯลฯ ชวงเวลาที่ใชในการประมวลผลคําสั่งการทํางานนั้น จําแนกออกไดเปน 2 ประเภท คือ ประเภทที่มี การทํางานเปนคาบ (periodic) และประเภทที่ทํางานไมเปนคาบ (aperiodic) โดยในการทํางานแบบไมเปนคาบจะมี
  3. 3. 3 การกําหนดเวลาเริ่มและ/หรือเวลาจบของชิ้นงานไวอยางชัดเจนแนนอนวาจะตองเริ่มเมื่อใด หรือเสร็จเมื่อไหร (start/finish deadline) ในขณะที่การทํางานแบบคาบนั้น การประมวลผลจะดําเนินไปเปนชวงๆ มีระยะเวลาแนนอน เชน วินาทีละครั้ง สําหรับการประมวลผลแบบ Real-time computing ที่ใชในงานควบคุม การประมวลสัญญาณอินพุต ที่รับผานอุปกรณเซนเซอรเขามามักจะเปนการทํางานแบบคาบเวลา (sensor periodic processing) เพราะมีลักษณะ งายๆ สะดวกตอการดําเนินการ ยกตัวอยางเชน ในการควบคุมอุณหภูมิความรอนในเตาปฏิกรณปรมาณู สวนตรวจจับ อุณภูมิที่แกนกลางของเตาจะตองถูกตรวจวัดซ้ําเปนรอบๆ ตามชวงคาบเวลาที่กําหนดอยางแนนอน เพื่อที่สวนควบคุมจะ สามารถรักษาระดับอุณภูมิของเตาใหมีการเปลี่ยนแปลงไปจากคาที่กําหนดนอยที่สุด อยางไรก็ตาม ถึงแมวาการ ประมวลผลแบบ periodic จะดําเนินไปเปน รอบๆ แตมันก็ไมไดหมายความถึงวามันจะตอง ถูกกําหนดเวลาเริ่มตายตัวแนนอน (permanent task) เหมือนการรับสัญญาณจากเตาปฏิกรณ เสมอไป มันอาจจะเปนการทํางานประเภทที่ไม มีกําหนดเวลาเริ่มตนที่แนนอน (dynamic task) ก็ได อยางเชนในระบบควบคุมการขึ้น/ลงของเครื่องบิน (ATC) นั้น การควบคุมแบบ periodic จะเริ่มขึ้นก็ตอเมื่อมี เครื่องบินบินเขามาภายในพื้นที่ควบคุมของระบบ ATC และจะสิ้นสุดการทํางานเมื่อเครื่องบินลําดังกลาวเทคออฟออกไป จากพื้นที่ควบคุมของระบบ ATC นอกจากนั้น ยังสามารถกําหนดชวงเวลาการทํางานแบบ periodic ใหสลับซับซอนขึ้นไปเปนหลายๆ ขั้นตอนไดอีก เชน ในการควบคุมสายการผลิตรถยนตนั้น เราอาจกําหนดใหการพนสีเคลือบรถยนตเริ่มที่เวลา t1 และ จบลงกอนเวลา t2 อยางนี้เปนตน หรืออาจจะกําหนดใหการทํางานเริ่มขึ้นอยางไมแนอน (dynamic events) ก็ยอมได เชน กําหนดใหการทํางานเริ่มทุกครั้งที่มีวัตถุตกลงมาเบื้องหนาของงหุยนตที่กําลังเคลื่อนที่ไปมา หรือทุกครั้งที่พนักงานผู ควบคุมเครื่องกดปุมบนหนาจอควบคุม ฯลฯ ความตองการในเรื่องชวงเวลาที่ถูกตองแมนยํานั้นไมเพียงแตจะตองคํานึงถึงความสําเร็จของชิ้นงาน เทานั้น ยังหมายถึงคุณคาของผลงานที่ไดรับจากการทํางานนั้นๆ อีกดวย เพราะหลายครั้งที่คุณคาแหงชิ้นงานมีความ แตกตางกันราวฟากับดินเมื่อเวลาที่เสร็จสิ้นผิดไปจากหมายกําหนดการเดิม ในทางกลับกัน บางครั้งความเร็วของการ ทํางานก็ไมสําคัญเทากับความถูกตองของการทํางาน บอยครั้งที่เรายอมรับคําตอบที่ชาไปสักเล็กนอยได ขอเพียงแตให คําตอบที่ไดนั้นถูกตองสมบูรณมากที่สุด สําหรับคําถามที่วา "จะมีความเสียหายอะไรเกิดขึ้นบาง ถาการทํางานงานไมเสร็จสิ้นภายใน หมายกําหนดการ?" คําตอบของมันขึ้นอยูกับวางานที่ทําเปนอะไร หากเปนงานควบคุมเตาปฏิกรณนิวเคลียร หรือจรวด ติดตั้งหัวรบนิวเคลียร การลาชาในการตอบสนองตอคําสั่งดําเนินการอาจจะหมายถึงการระเบิดที่สรางความเสียหาย
  4. 4. 4 ติดตามมาอยางใหญหลวง จนทําใหระบบการประมวลผลในงานที่สําคัญมากๆ อยางนี้ ตองมีการกําหนดทรัพยากรใน หนวยประมวลผลไวเพื่องานดังกลาวโดยเฉพาะจนไมมีการลาชาเสียเวลาในการดําเนินการไปเลย กระนั้น ในงานการประมวลผล Real-time computing หลายๆ อยาง ก็ไดมีการเผื่อทางออกไวหายๆ ทางใหกับระบบเมื่อตองประสบกับปญหาอุปสรรคเฉพาะหนา เชน ในโรงงานอุตสาหกรรมที่ควบคุมดวยหุนนตคอมพิว เตอร หากระบบประเมินแลววาคําสั่งที่กําหนดใหหุนยนตทํางานนาจะไมเสร็จสิ้นตามเวลา มันก็จะอนุญาตใหผูควบคุม สามารถหยุดหรือชลอการทํางานของหุนยนตไปชั่วขณะเพื่อดัดแปลงแกไขคําสั่งดําเนินการใหมใหเหมาะสมได "Statically" หรือ "Dynamically" การประมวลผลแบบ Real-time computing มักจะตองประกอบขึ้นดวยการทํางานของโปรแกรม ประยุกตหลายๆ อยาง (applications tasks) บางการทํางานก็ มีชวงเวลาดําเนินการแนนอน (statically) บางการทํางานก็เปน การดําเนินการที่ไมมีชวงเวลาไมแนนอน (dynamically) สามารถเกิดขึ้นไดเสมอทุกครั้งมีความตองการ หรือมีความ จําเปน เชนในงานควบคุมเตาปฏิกรณปรมาณูนั้นปรกติจะเปน ผลจากการทํางานของ statically task แตเมื่อใดที่มีการตรวจ พบความผิดปรกติขึ้นในเตา ระบบก็จะสงมอบการทํางานไปที่ dynamiccally task แทน เนื่องจากการทํางาน Statically task เปนการทํางานที่ถูกออกแบบมาเพื่อการทํางานตามสภาวะปรกติ ทั่วๆ ไปของระบบควบคุม จึงเปนที่คาดหวังวาผูออกแบบระบบควบคุมรับรูถึงสภาพที่เปนจริงของสวนที่ถูกควบคุม ภายในระบบเปนอยางดีอยูแลว หรือถาไมรูก็สามารถตรวจสอบดูกอนการติดตั้งระบบได (off-line determination) มันจึงเปนระบบงายๆ, ไมคอยยืดหยุน, แตไมสิ้นเปลือง เพราะไมตองยุงยากกับการตรวจสอบและปรับตัวเขากับสภาพที่ เปนจริงของสวนที่ตองถูกควบคุมมากมายนัก (low run-time overhead) สําหรับระบบควบคุมที่ใชๆ กันอยูในปจจุบันนั้น ยังคงเปนผลจากการทํางานแบบ Statically task เสียสวนใหญ แตในอนาคตอันใกลนี้คาดวาคงจะมีการปรับเปลี่ยนไปใชการทํางานแบบ Dynamically task ที่มีความ ยืดหยุนตามสถานการณสูงเพิ่มมากขึ้นเรื่อยๆ ทั้งนี้ เหตุผลสําคัญก็มาจากรูปแบบเทคโนโลยีคอมพิวเตอรสมัยใหมที่มี ความใหญโต, สลับซับซอน, และมีการกระจายอํานาจการประมวลผลออกไปอยางกวางภายในเครือขายเน็ตเวิรก ทําให ตองมีการสัมผัสกับสภาพแวดลอมที่ไมแนนอน และคาดการณไดยาก อยางไรก็ตาม มีความเขาใจผิดๆ อยูอยางหนึ่งเกี่ยวกับการประมวลผลแบบ Real-time computing คือ คนสวนใหญมักจะนึกถึงแตความเร็วในการประมวลผล (operation sppeed) เมื่อพูดถึงมัน ทั้งที่หัวใจจริงๆ ของ Real-time computing ไมไดอยูที่ความเร็วเทานั้น แตจะหมายถึงความสําเร็จของผลงานโดยรวมมากกวา เพราะลําพัง แคความเร็วไมไดเปนหลักประกันวางานจะสําเร็จตามหมายกําหนดการ (deadline) เสมอไป และตรงจุดนี้เองที่ ความสามารถในการคาดการณผลสําเร็จ (predictable) ถูกนําเขามเกี่ยวของ
  5. 5. 5 คําวา predictable อาจจะแปลความหมายไดหลายๆ อยาง แตสําหรับในงานการประมวลผลแบบ Real-time computing นั้น คํา predictable หมายถึงวา เมื่อมีการทํางานหนึ่ง หรือกลุมการทํางานถูกเรียกขึ้นมา ดําเนินการ ระบบจะสามารถระบุออกมาไดเลยวาการทํางานดังกลาวจะเสร็จสิ้นสมบูรณเมื่อใด และมีอะไรเปนอุปสรรค ตอการดําเนินการบาง ทั้งนี้ก็อาศัย สภาพแวดลอม และทรัพยากรที่มีอยู จริงๆ ภายในระบบเปนตัวกําหนด คุณลักษณะของระบบ Real-time computing การออกแบบ และจัดตั้งระบบการ ประมวลผล Real-time computing ขึ้นมาใชงานสักระบบหนึ่ง ไมวาจะเปน ระบบควบคุมเล็กๆ หรือระบบที่มีความ สลับซับซอนมากๆ นั้น ความ ยากลําบากของการจัดสรางอยูตรงที่วา ตองการใหมันครอบคลุมคุณลักษณะอะไรบาง เพราะยิ่งครอบคลุมคุณลักษณะสําคัญๆ (characteristics) ไวมากเทาใด ก็จะยิ่งทําใหระบบมีความยากในการจัดตั้งมากขึ้นเทานั้น สําหรับรูปแบบคุณลักษณะหลักๆ ของการประมวลผลแบบ Real-time computing ที่มักจะไดความสนใจกันก็มีอยู 5 ลักษณะดวยกันดังตอไปนี้ 1. Granularity of deadline & Computation time of tasks : ในระบบการประมวลผล Real-time computing สวนใหญมักจะประกอบไปดวยการทํางานหลายๆ อยางอยูรวมกัน โดยแตละการทํางานก็มีชวงเวลา ทํางาน และกําหนดการสิ้นสุดของชิ้นงานที่แนนอนของตนเอง ถาชวงเวลาที่เหลื่อมกันระหวางแตละการทํางานมี ลักษณะสั้นมากๆ และชวงเวลาที่แตละการทํางานตองสิ้นสุดลงมีขนาดสั้นมากๆ เราเรียกวา หมายกําหนดการ สิ้นสุดของการทํางานนั้นกระชั้นมาก (tight deadline) และมีขนาด Granularity เล็ก (small granularity) ซึ่งผลของการกําหนดจุดสิ้นสุดไวอยางกระชั้นมาก หรือกําหนดคา Granularity ไวเล็กมากนั้น ก็จะ สงผลใหชวงเวลาที่การทํางาน (task) หนึ่งจะถูกสงผลเขาไปดําเนินการประมวลผลภายในหนวยประมวลผลโดย ระบบปฏิบัติการกินเวลาสั้นมา (short OS reaction time) อัลกอริทึ่มที่ใชสงการทํางานเขาหนวยประมวลผล (scheduling algorithm) ก็จะตองมีลักษณะงายๆ เพื่อใหสามารถทํางานไดเร็วที่สุดเทาที่จะเร็วได 2. Strictness of deadline : เปนคุณลักษณะที่ขึ้นกับคุณคาของผลงานที่ไดกอนและหลังหมายกําหนดการ โดยใน การประมวลผลที่ใหความสําคัญกับหมายกําหนดการมากๆ (hard real-time task) นั้น มันจะไมมีประโยชนอะไร เลยที่จะดําเนินคําสั่งตอไปหากเลยหมายกําหนดการที่ควรจะเสร็จสิ้นไปแลว แตสําหรับในการประมวลผลที่ให
  6. 6. 6 ความสําคัญกับหมายกําหนดการนอย (soft real-time task) นั้น คุณคาของการทํางานยังคงมีอยูไมนอยไปจากเดิม (หรือลดลงเพียงเล็กนอย) ดังนั้น จึงควรจะดําเนินการคําสั่งของการทํางาน soft real-time task ไปใหเสร็จสิ้นถึงแมวาจะเกินเลย เวลาตามหมายกําหนดการไปแลว ในขณะที่ควรจะหยุดการทํางาน hard real-time task ลงอยางสิ้นเชิงหากเวลา ลวงเลยหมายกําหนดการไป และควรจะกําหนดใหการทํางานแบบ Hard real-time ไดครอบครองสิทธิในการ ประมวลผล หรือไดครอบครองทรัพยากรในระบบกอน (preallocation & preschedule) เพื่อจะเปนการ รับประกันวางานของการทํางาน hard real-time จะสามารถเสร็จสิ้นไดตามหมายกําหนดการ สวนการทํางานแบบ soft real-time ก็ควรจะไดรับการกําหนดใหมีสิทธิในการครอบครองหนวย ประมวลผลกลาง หรือทรัพยากรอื่นๆ ในระบบไวไมสูงนัก (เรียกวาไมรีบนั่นแหละ) ซึ่งก็สงผลใหเมื่อเรามองภาพ โดยรวมแลว การรับมือกับการทํางานประเภท Hard real-time เปนไปอยางยากลําบากกวางานประเภท soft real-time มากมายนัก และจะยิ่งยากขึ้นไปอีกหากตองมีการดําเนินการการทํางานทั้งแบบ Hard real-time และ Soft real-time ไปพรอมๆ กัน 3. Reliability : งานการประมวลผลแบบ Real-time computing หลายๆ อยางเปนงานที่ตองการความถูกตอง แมนยําสูงมาก (critical task) และอาจจะนํามาซึ่งความเสียหายอยางใหญหลวงไดหากไมเปนไปตาม หมายกําหนดการที่วางไว ดังนั้นจึงมักจะตองมีการสํารองทรัพยากรไวสําหรับงานประเภทนี้โดยเฉพาะเลย (resource idle all-time) เพื่อเปนการรับประกันวาจะไมมีงานอื่นมาแยงใชทรัพยากรกับงานประเภทนี้ 4. Size of system & Degree of coordination : ระบบการประมวลผล Real-time computing ที่มีๆ อยูนั้นจะ มีความแตกตางกันออกไปทั้งในแงของขนาด และความสลับซับซอนของระบบ แตโดยสวนใหญแลวเวลาที่มัน ทํางาน โปรแกรมคําสั่งตางๆ ทั้งหมดจะถูกโหลดเขาไปไวในหนวยความจําของเครื่องคอมพิวเตอรทั้งหมดเลย และ ถาโปรแกรมมีขนาดใหญมากจริงๆ ก็จะซอยแบงยอยออกเปนหลายๆ เฟส แลวทยอยโหลดเขาไปในหนวยความจําที่ ละเฟส แตจะใชวิธีกําหนดบางสวนของดิสกเปนหนวยความจําเสมือน (virtual memory) กับงาน Real-time computing ไมได เพราะมันจะสงผลใหเราไมสามารถคาดการณถึงความสําเร็จของการทํางานได ที่นี้ เมื่อตองโหลดโปรแกรมทั้งหมด หรือเฟสใหญๆ ของโปรแกรมเขาไปเก็บไวในหนวยความจํารวด เดียวทีละมากๆ ก็ทําใหผูออกแบบโปรแกรมตองพยายามออกแบบโปรแกรมใหมีลักษณะงายๆ และไมใหมี ความสัมพันธระหวางแตละเฟสของโปรแกรมมากนัก เพื่อทีวาจะไดไมตองเรียกเฟสโนนทีเฟสนั้นทีใหยุงยากสับสน (ถาตองโหลดขอมูลเขาออกหนวยความจําบอยๆ อาจจะทําใหระบบไมสามารถรักษาสภาพการติดตอกับสวนตางใน สภาพเวลาที่เปนจริงซึ่งเปนหัวใจของระบบ Real-time computing ไวได) อยางไรก็ตาม การฝงคําสั่งการทํางานแทบทั้งหมดไวในหนวยความจํา (completely code resident) หรือออกแบบใหแตละสวนของโปรแกรมมีความเกี่ยวของสัมพันธกันนอยๆ (highly independent task) นั้น ดู เหมือนจะเปนรูปแบบการประมวลผลที่ออกจะไมเหมาะสมนักสําหรับการประมวลผลสมัยใหม เพราะปจจุบัน
  7. 7. 7 โปรแกรมประยุกตประเภทตางๆ ลวนแตมีขนาดใหญโตมโหฬารดวยกันทั้งสิ้น แถมแตละสวนของการทํางานภายใน โปรแกรมก็มักจะถูกโยงไปเกี่ยวของกับการทํางานอื่นๆ เสมอ ดังนั้นเรื่องขนาดของโปรแกรม และความสัมพันธ ระหวางการทํางานในโปรแกรมนี้จึงเปนปญหาใหญที่รอใหเหลาผูออกแบบระบบ Real-time computing ตองหา ทางแกไขใหได 5. Environment : สภาพแวดลอมที่การประมวลผล Real-time computing จะตองเกี่ยวของสัมพันธดวยนั้น นับได วาเปนปจจัยที่มีความสําคัญเปนอยางมากในการออกแบบระบบการประมวลผล Real-time computing ถาเปน สภาพแวดลอมที่สามารถคาดการณไดลวงหนา (deterministic environment) อยาง สายงานการผลิตในโรงงาน อุตสาหกรรม หรือสายการผลิตรถยนตก็คงจะดีไปเพราะผูออกแบบสามารถวางแผนรองรับไดงายๆ แถมยังพอจะกา รันตีถึงหมายกําหนดเสร็จสิ้นของการทํางานไดอยางไมผิดพลาดอีกดวย แตเนื่องจากสภาพการประมวลผลสมัยใหมมักจะมีการขยับขยายออกไปยังเครื่องคอมพิวเตอรที่ตอพวง ออกไปไกลๆ ในเครือขายเน็ตเวิรก ดังนั้น สภาพแวดลอมที่เราจะตองไดสัมผัสรับรูมากขึ้นเรื่อยๆ จึงเปน สภาพแวดลอมแบบกระจาย ซึ่งผูออกแบบระบบไมสามารถคาดการณลวงหนาไดเลยวาจะตองประสบกับอะไรบาง (distributed, non-deterministic environment) สิ่งที่พอจะใชรับมือกับสภาวการณดังกลาวไดก็เห็นจะมีแต ระบบปฏิบัติการที่มีความยืดหยุนสูงๆ (dynamic real-time operating system) ซึ่งสามารถใชรวมกับโปรแกรม ประยุกตหลายๆ รูปแบบไดเทานั้น ระบบปฏิบัติการ Real-time Operating Systems จากที่กลาวมาแลวขางตนวาระบบการประมวลผล Real-time computing สมัยใหมนั้นมีแนวโนมที่จะ กระจายอํานาจการประมวลผลออกไปตามเครือขายเน็ตเวิรก อันทําใหไมสามารถคาดการณไดวามันจะตองไปประสบ กับสภาพแวดลอมในการทํางานอยางไรบาง ดังนั้น เรื่องของระบบปฏิบัติการรูปแบบใหม Real-time Operating Systems (RTOS) ที่ออกแบบมาเพื่อการ ทํางานในระบบ Real-time computing โดยเฉพาะ จึงกลายมาเปนจุดสนใจที่เหลานัก ออกแบบระบบ Real-time computing ตาง พากันหันมาใหความสนใจเปนอยางมาก โดยระบบปฏิบัติการ Real- time Operating Systems ที่วานี้ จะตอง สามารถรองรับกระบวนการทํางานแบบ Real-time computing ประเภทตางๆ ได อยางถูกตองเหมาะสม ชนิดที่สามารถคาดการณผลสําเร็จลวงหนาได, มีความทนทานตอขอผิดพลาดสูง (fault tolerance) โดยเฉพาะขอผิดพลาดอันเนื่องมาจากการสงผานสัญญาณขอมูลไปมาภายในเเครือขายเน็ตเวิรก
  8. 8. 8 นอกจากนั้น ยังตองมีระบบการจัดสรรทรัพยากรของระบบที่สามารถรองรับการทํางานไดทีละหลายๆ อยาง, รวมทั้งสามารถจัดสรรการทํางานระหวางทรัพยากรที่มีอยูหลากหลายรูปแบบไดดวย (ตัวอยางของทรัพยากรที่ จะตองถูกจัดสรรโดยระบบปฏิบัติการ Real-time Operating Systems ก็ไดแก สวนประมวลผลสัญญาณเซนเซอร, สวนของการสื่อสารขอมูล, หนวยประมวลผลกลาง, หนวยความจํา, และสวนอินพุต/เอาทพุตรูปแบบตางๆ ฯลฯ) และที่สําคัญ ระบบปฏิบัติการ Real-time Operating Systems ที่กําลังจะถูกออกแบบขึ้นมาใชงานนี้ ควรจะเปนระบบเปดมากที่สุด เทาที่จะมากได (open system approach) เพื่อวาโปรแกรม ประยุกตประเภทตางๆ ที่ติดตอ กับระบบปฏิบัติการในแตละสวน ของเครือขายเน็ตเวิรกจะ สามารถทํางานรวมกันไดอยาง ราบรื่น ไมตองมานั่งเขียน ระบบปฏิบัติการขึ้นมาใหมเพื่อ การทํางานของโปรแกรม ประยุกตชนิดใดชนิดหนึ่งโดยเฉพาะ อันอาจจะทําใหการตอบสนองของระบบไมเปนไปตามสภาพเวลาที่เปนจริงได

×