ระบบ System แบ่งออกได้กี่ประเภท อะไรบ้าง

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

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

ระบบ (System) เป็นกลุ่มขององค์ประกอบต่าง ๆ ที่ทำงานร่วมกัน เพื่อจุดประสงค์ในสิ่งเดียวกัน ระบบอาจประกอบด้วยบุคลากร เครื่องมือ วัสดุ วิธีการ การจัดการ ซึ่งทั้งหมดนี้จะต้องมีระบบในการจัดการเพื่อให้บรรลุจุดประสงค์เดียวกัน

คำว่า “ระบบ” เป็นคำที่มีการเกี่ยวข้องกับการทำงาน ในหน่วยงานนิยมใช้กันมาก เช่น ระบบธุรกิจ (Business System) ระบบสารสนเทศ (Management Information System) ระบบการเรียนการสอน (Instructional System) ระบบเครือข่ายคอมพิวเตอร์ (Computer Network System) เป็นต้น

เมื่อทำการศึกษาระบบใดระบบหนึ่ง นักวิเคราะห์ระบบจะต้องเข้าใจการทำงานของระบบนั้นให้ดี โดยการศึกษาว่า ระบบนี้ทำอะไร (What) ทำโดยใคร (Who) ทำเมื่อไร (When) และทำอย่างไร (How) นักวิเคราะห์ระบบ (System Analyst หรือ SA) ซึ่งได้แก่ บุคคลที่มีหน้าที่วิเคราะห์และออกแบบระบบจะต้องเข้าใจการทำงานของระบบนั้น ๆ ว่าเป็นอย่างไรและอะไรคือความต้องการของระบบ

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

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

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

ระบบ(System) มีความหมายตามพจนานุกรม ฉบับราชบัณฑิตยสถาน พ.ศ.2525 ได้ให้ความหมายเอาไว้ว่า ระบบ คือ ระเบียบเกี่ยวกับการรวมสิ่งต่างๆ ซึ่งมีลักษณะซับซ้อนให้เข้าลำดับประสานเป็นอันเดียวกันตามหลักเหตุผลทาง วิชาการ หรือหมายถึงปรากฏการณ์ทางธรรมชาติซึ่งมีความสัมพันธ์ ประสานเข้ากัน โดยกำหนดรวมเป็นอันหนึ่งอันเดียวกัน

         ระบบ(System) คือ กระบวนการต่างๆ ที่อยู่ในเครือข่ายเดียวกันและมีความสัมพันธ์กันระหว่างกระบวนการเหล่านั้น และเชื่อมต่อกันเพื่อทำงานใดงานหนึ่งให้บรรลุถึงเป้าหมายที่วางไว้

ระบบ(System) คือ กลุ่มขององค์ประกอบต่างๆ ที่ทำงานร่วมกัน เพื่อจุดประสงค์อันเดียวกัน

และเพื่อให้เข้าใจในความหมายของคำว่าระบบที่จะต้องทำการวิเคราะห์ จึงต้องเข้าใจลักษณะของระบบก่อน 

ระบบ จำแนกออกเป็น 2 ประเภท ได้แก่ ระบบเปิด (open system) และ ระบบปิด (close system) ลักษณะที่น่าสนใจของทั้งสองระบบได้แก่

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

ระบบปิด (close system) คือระบบที่ไม่ต้องสนองต่อสิ่งแวดล้อมที่เปลี่ยนแปลงไป หรือเป็น ระบบที่มีความสมบูรณ์ภายในตัวเอง ไม่พยายามผูกพันกับระบบอื่นใด และแยกตนเองออกจากสภาพแวดล้อมต่าง ๆ ในสังคม

Kernel คืออะไร ? ทำงานอย่างไร หน้าที่มีอะไรบ้าง และมีกี่ประเภท

เคอร์เนล (Kernel) คือโปรแกรมพื้นฐานภายใต้ระบบปฏิบัติการคอมพิวเตอร์ (OS) ที่คอยทำหน้าที่เป็นสื่อกลางระหว่างฮาร์ดแวร์ กับ ซอฟต์แวร์และช่วยจัดการทรัพยากรในคอมพิวเตอร์ต่าง ๆ เช่น การใช้พื้นที่ หน่วยความจำ (RAM) , การใช้ หน่วยประมวลผลกลาง (CPU) การจัดการไฟล์ และ ระบบอื่น ๆ ส่วนใหญ่ เป็นต้น (เว้นแต่ GPU อยู่นอกเหนือหน้าที่ของเคอร์เนล) นอกจากนี้ยังมีหน้าที่เป็นตัวควบคุมอุปกรณ์ Input / Output และอุปกรณ์ต่อพ่วงอื่น ๆ อย่าง เมาส์ (Mouse), จอมอนิเตอร์ (Monitor), แป้นพิมพ์ (Keyboard) ฯลฯ ที่เชื่อมต่อระบบผ่านไดร์เวอร์ อีกด้วย

บทความเกี่ยวกับ Kernel อื่นๆ

Kernel ทำงานอย่างไร ?

ก่อนจะว่า Kernel ทำงานอย่างไร ? เราต้องเข้าใจก่อนว่าระบบปฏิบัติการต่าง ๆ เกือบทุกชนิดมีการทำงานอยู่ 2 ส่วน คือโหมดผู้ใช้งาน (User Mode) และโหมดเคอร์เนล (Kernel Mode) บางคนก็จะเรียกว่าพื้นที่ผู้ใช้งานและพื้นที่เคอร์เนล (User / Kernel Space) เพราะว่าทั้งสองส่วนนี้มีข้อแตกต่างคือมันจัดเก็บรหัสคำสั่งไว้ในหน่วยความจำ หรือ แรมคนละภาคส่วน ไม่ปะปนกัน

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

ในขณะที่การดึงทรัพยากรพื้นฐานในเครื่องมาระหว่างนั้น ก็เป็นหน้าที่ของโหมดเคอร์เนลที่ติดต่อสื่อสารกับฮาร์ดแวร์ให้เรา ซึ่งเจ้า โหมดผู้ใช้ (User Mode) และ โหมดเคอร์เนล (Kernel Mode) นี้ก็จะมีการติดต่อกันด้วย API ที่เรียกว่า System Call ตามที่เราเห็นในภาพ


การสื่อสารระหว่าง User Space และ Kernel Space และ ฮาร์ดแวร์
(ภาพจาก https://www.lakesidesoftware.com/blog/a-kernel-of-truth-security-starts-with-better-software)

Kernel มีหน้าที่อะไรบ้าง ?

สำหรับหน้าที่หลัก ๆ ของ เคอร์เนล (Kernel) ที่พบได้ทั่วไป แม้เราจะเกริ่นมาบ้างแล้วแต่ก็จะมาสรุปให้ดังต่อไปนี้

1. เป็นสะพานเชื่อมต่อระหว่างผู้ใช้งาน กับฮาร์ดแวร์

หน้าที่หลักของเคอร์เนลคือสะพานเชื่อมต่อให้ผู้ใช้งานสามารถเข้าถึงประสิทธิภาพของอุปกรณ์คอมพิวเตอร์ หรือฮาร์ดแวร์ เช่น หน่วยประมวลผลกลาง (CPU), หน่วยความจำหลัก RAM หรือ การเชื่อมต่ออุปกรณ์ Input / Output และอุปกรณ์ต่อพ่วงต่าง ๆ เช่น เมาส์, แป้นพิมพ์, จอมอนิเตอร์, เครื่องพิมพ์, และอุปกรณ์อื่น ๆ ที่เชื่อมต่อผ่านพอร์ต USB

2. จัดการทรัพยากรภายในเครื่อง 

พูดง่าย ๆ ก็คือควบคุมกระบวนการสื่อสารระหว่างโปรแกรม และ CPU รับผิดชอบในการกำหนดทิศทางเชื่อมต่อระหว่าง โปรเซส (Process) หรือ เธรด (Threads) ที่กำลังรันโค้ดทำงานอยู่ภายในคอมพิวเตอร์ หรือเรียกว่า Inter-Process Communication (IPC)

3. จัดการพื้นที่หน่วยความจำ (RAM)

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

Kernel มีกี่ประเภท ? และมีอะไรบ้าง ?

เมื่อพูดถึงระบบปฏิบัติการแล้ว ถือว่ามีหลายตัวที่เรารู้จัก เช่น Windows, MacOS, Android, Linux, iOS หรืออื่น ๆ ดังนั้น เคอร์เนล (Kernel) เอง ก็มีหลายประเภทเช่นกัน และต่อไปเรามาพูดถึงประเภทของ Kernel ที่พบในปัจจุบัน ซึ่งมีอยู่ 5 ประเภท ดังนี้

1. Monolithic Kernels

ระบบ System แบ่งออกได้กี่ประเภท อะไรบ้าง

ภาพจาก https://upload.wikimedia.org/wikipedia/commons/d/d0/OS-structure2.svg

Monolithic Kernels เป็นรูปแบบที่เรียกว่า การรันระบบทั้งหมดยกหน้าที่ให้กับ Kernel Mode (จะไม่มีการแบ่งแยกระหว่าง User Space และ Kernel Space ในประเภทนี้) ผลคือทำให้ประมวลผลรวดเร็ว ไม่มีช่องว่างในการทำงาน รวมถึงการสื่อสารกับฮาร์ดแวร์ก็ทำได้รวดเร็ว พบได้ใน ระบบปฏิบัติการ Linux หรือ Linux Kernel รวมถึง Android OS 

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

2. Microkernel

สำหรับ Microkernel เป็นรูปแบบของเคอร์เนลที่แตกต่างกับ Monolithic Kernels เพราะจะมีการแบ่งพื้นที่ใช้งานและเก็บข้อมูลในหน่วยความจำไว้เป็น User Space กับ Kernel Space ทำให้ช่วยลดขนาดของพื้นที่ Kernel ในหน่วยความจำ และหากมี ระบบบางส่วนเสียหายภายในพื้นที่ของ User Space ก็ไม่มีผลกระทบกับระบบเคอร์เนล สามารถติดตั้งบริการใหม่ของ ๆ ระบบปฏิบัติการได้ง่าย รวมถึงไดร์เวอร์ต่าง ๆ พบได้ใน Mach Kernel ในระบบปฏิบัติการ Mac OS X เป็นต้น

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

ระบบ System แบ่งออกได้กี่ประเภท อะไรบ้าง

ภาพจาก https://upload.wikimedia.org/wikipedia/commons/d/d0/OS-structure2.svg

3. Hybrid Kernel

Hybrid Kernel เป็นการผสมผสานระหว่างข้อดีด้านความเร็วของ Monolithic Kernel และรูปแบบโครงสร้างของ Microkernel ที่ทำให้มีเสถียรภาพกว่ามาใช้ออกแบบ เช่น 

  • Windows NT kernel ในระบบปฏิบัติการ Windows NT, Windows 10, Windows 8 หรือ Windows Server
  • XNU kernel ที่ใช้ใน Mac OS X เป็นต้น

โดย Hybrid Kernel จะมีการรันโค้ดที่ไม่จำเป็นบางส่วนในพื้นที่เคอร์เนล เพื่อให้โค้ดนั้นทำงานเร็วกว่าที่อยู่ในพื้นที่ของผู้ใช้ เช่นพวก Network Stack, File System, Application IPC และ Device Driver ในขณะที่เซิร์ฟเวอร์ต่าง ๆ ก็ยังคงทำงานอยู่ภายในพื้นที่ของผู้ใช้

ระบบ System แบ่งออกได้กี่ประเภท อะไรบ้าง

https://upload.wikimedia.org/wikipedia/commons/d/d0/OS-structure2.svg

4. Nanokernel

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

5. Exokernel

Exokernel เป็นรูปแบบที่พัฒนาโดย MIT Parallel และกลุ่มของ Distributed Operating Systems เบื้องต้นยังพัฒนาไม่เสร็จ เพราะค่อนข้างมีความซับซ้อน แต่ประโยชน์ของมันคือเน้นออกแบบให้ช่วยเพิ่มประสิทธิภาพในการควบคุมแอปพลิเคชัน และสามารถดึงทรัพยากรจากฮาร์ดแวร์มาใช้ได้มีประสิทธิภาพยิ่งขึ้น ซึ่งจะช่วยเสริมความสามารถของระบบปฏิบัติการได้นั่นเอง 

ระบบคืออะไรประกอบด้วยอะไรบ้าง

ระบบ (System) เป็นกลุ่มขององค์ประกอบต่าง ๆ ที่ทำงานร่วมกัน เพื่อจุดประสงค์ในสิ่งเดียวกัน ระบบอาจประกอบด้วยบุคลากร เครื่องมือ วัสดุ วิธีการ การจัดการ ซึ่งทั้งหมดนี้จะต้องมีระบบในการจัดการเพื่อให้บรรลุจุดประสงค์เดียวกัน

ระบบคืออะไร ม.4

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

ระบบมีลักษณะเป็นอย่างไร

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

ระบบมีความสําคัญอย่างไร

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