Make your own free website on Tripod.com

 

 

 

 

 

 

 

 

 

ระบบปฏิบัติการคืออะไร

 

 

 

  เพื่อเป็นการปูพื้นความรู้ความเข้าใจให้ตรงกัน จะขอกล่าวถึงระบบปฏิบัติการอย่างย่อ ๆ เสียก่อน ระบบปฏิบัติการหรือ OS (Operating System) คือชุดโปรแกรมซอฟต์แวร์มาตรฐานในระบบไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ ทำหน้าที่บริหารจัดการและจัดสรรทรัพยากรต่างๆ ของระบบให้กับโปรแกรมที่ทำงานจริง เพื่อให้ไม่เป็นการเยิ่นเย้อในการใช้ข้อความมากจนเกินไป จะขอเรียกไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์รวมกันว่าซีพียู (CPU, Central Processing Unit หรือหน่วยประมวลผลกลาง)

 

 

 

 

 

 

 

 

 

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

 

 

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

ประโยชน์ของระบบปฏิบัติการในคอมพิวเตอร์มีมากมายหลายประการ อาทิ เช่น

 

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

โดยทั่วไปแล้ว แนวคิดในการสร้างโปรแกรมสำหรับทำงานบนไมโครคอนโทรลเลอร์ มี 3 รูปแบบหลัก ดังนี้

1. การสร้างโปรแกรมแบบเขียนใหม่ทุกครั้ง

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

 

 

 

 

 

 

 

 

 

 

 

 

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

2. การสร้างโปรแกรมแบบเก็บเป็นไลบรารีหรือมอดูลาร์โปรแกรมมิ่ง (Modular Programming)

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. การสร้างโปรแกรมโดยเน้นโครงสร้างหลักของโปรแกรม

จริง ๆ แล้ววิธีนี้ก็ไม่ได้แยกออกจากวิธีที่ 2 โดยสิ้นเชิง สามารถผสมผสานใช้รวมกันได้เพื่อให้ได้ผลที่ดีที่สุด การออกแบบโปรแกรมโดยเน้นโครงสร้างหมายถึง การออกแบบโปรแกรมที่มีรูปแบบโครงสร้างที่ดี เป็นมาตรฐานทั่วไป ขั้นตอนการทำงานของส่วนย่อยภายในโปรแกรมถูกจัดเรียงอย่างสอดคล้องและเป็นลำดับ ง่ายต่อการพัฒนาและศึกษาโปรแกรมในภายหลัง นักออกแบบโปรแกรมบนไมโครคอรโทรลเลอร์บางท่านไม่ค่อยได้ให้ความสำคัญกับตรงนี้มากนัก แต่หากได้ลองสัมผัสดูจะพบว่ามีความน่าสนใจเป็นอย่างมาก และส่วนนี้นี่เองที่เป็นระบบปฏิบัติการของโปรแกรมไมโครคอนโทรลเลอร์
โครงสร้างของโปรแกรมโดยทั่วไปที่นิยมใช้กันมี 3 ประเภทใหญ่ ๆ ได้แก่ โครงสร้างแบบอินเตอร์รัพต์ (Interrupt) และโครงสร้างแบบโพลลิ่ง (Polling) ความหมายของทั้ง 2 ประเภทนี้คืออะไร จะขออธิบายตามที่เข้าใจดังนี้

1. โครงสร้างแบบอินเตอร์รัพต์ (Interrupt)

โปรแกรมที่มีโครงสร้างแบบอินเตอร์รัพต์จะมีลักษณะพิเศษคือ รอรับคำสั่งให้ทำงานจากหน่วยต่าง ๆ ภายในระบบ เช่นวงจรไทม์เมอร์ภายในไมโครคอนโทรลเลอร์ หรือจากอุปกรณ์ภายนอก เช่น สัญญาณแจ้งจากคีย์บอร์ดว่ามีคนกดแป้นคียบอร์แล้ว ให้เตรียมรอรับข้อมูล หากคำสั่งแบบนี้ก็คือการทำอินเตอร์รัพต์นั่นเอง ขณะที่ยังไม่มีสัญญาณอินเตอร์รัพต์เกิดขึ้น ไมโครคอนโทรลเลอร์จะวนลูปไปเรื่อย ๆ โดยไม่ได้ทำงานอะไร คล้ายกับการนอนหลับ หรือเข้าสู่สภาวะไอเดิล (Idle state) ครั้นเมื่อเกิดเหตุการณ์ที่ต้องการให้ไมโครคอนโทรลเลอร์ทำงาน ระบบจะสร้างสัญญาณอินเตอร์รัพต์ส่งไปยังไมโครคอนโทรลเลอร์ ซึ่งจะเป็นการปลุกให้ตื่นมาทำงานให้สอดคล้องกับสัญญาณอินเตอร์รัพต์นั้น ๆ ด้วยลักษณะการทำงานแบบนี้ จึงเหมาะกับงานแบบมัลติทาสกิ้ง

 

 

 

 

 

 

 

 

 

 

 

 

2. โครงสร้างแบบโพลลิ่ง (Polling)

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

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

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

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

โครงสร้างแบบโพลลิ่ง ดูเสมือนกับว่าโปรแกรมทำงานทีละส่วนตามลำดับไปเรื่อยๆ ไม่ใช่มัลติทาสกิ้ง แต่หากเราออกแบบให้การทำงาน 1 ลูปใช้เวลาสั้น ๆ ก็จะเป็นเสมือนกับเวลาไมโครคอนโทรลเลอร์ทำงานโปรแกรมย่อยส่วนต่าง ๆพร้อมกันแบบมัลติทาสกิ้ง

โครงสร้างแบบใดดีกว่ากัน

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

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

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

      

 

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

สรุป

      

      

 

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