เมื่อใช้งานคอมพิวเตอร์ สมาร์ทโฟน หรืออุปกรณ์ไอทีอื่น ๆ เชื่อว่าคงคุ้นกับคำว่า ซอฟต์แวร์ (Software) กันมาบ้าง เพราะเป็นชื่อใช้เรียกโปรแกรมคอมพิวเตอร์ ที่ทำงานบนอุปกรณ์นั้น ๆ
ซอฟต์แวร์หมายถึงชุดคำสั่งหรือโปรแกรมที่บอกให้คอมพิวเตอร์ทราบว่าต้องทำอะไร แบ่งได้เป็น 2 ประเภทหลักคือ ซอฟต์แวร์ประยุกต์ กับซอฟต์แวร์ระบบ หรือ System software ที่บทความจะพามารู้จักกันครับ ว่าซอฟต์แวร์ระบบคืออะไร และมีกี่ประเภทอะไรบ้าง
ซอฟต์แวร์ระบบ คืออะไร
ซอฟต์แวร์ระบบ หรือ System Software คือซอฟต์แวร์ที่ทำหน้าที่ควบคุมการทำงานของฮาร์ดแวร์ และประสานงานระหว่างซอฟต์แวร์ ฮาร์ดแวร์ และผู้ใช้งาน ด้วยการจัดสรรทรัพยากรคอมพิวเตอร์ ตั้งแต่หน่วยประมวลผล (CPU) หน่วยความจำ อุปกรณ์เชื่อมต่อ และอุปกรณ์เก็บข้อมูล เพื่อให้ซอฟต์แวร์ประยุกต์สามารถทำงานได้บนคอมพิวเตอร์ หรืออุปกรณ์ไอทีอื่น ๆ
ซอฟต์แวร์ระบบจะไม่เหมือนกับซอฟต์แวร์ประยุกต์ ที่ผู้ใช้สามารถเห็นหรือใช้ได้โดยตรง อย่างโปรแกรมทำงานเอกสาร โปรแกรมเล่นเกม หรือโปรแกรมแก้ไขรูปภาพ เพราะซอฟต์แวร์ระบบ หรือ System software นั้นจะทำงานอยู่ในระดับลึกของคอมพิวเตอร์ และมีหน้าที่คอยสนับสนุนให้ซอฟต์แวร์ประยุกต์อื่น ๆ รองรับและใช้งานได้
4 ประเภทซอฟต์แวร์ระบบ
ซอฟต์แวร์ระบบนั้นมีหลายประเภท ขึ้นอยู่กับลักษณะการจำแนก แต่โดยทั่วไปจะแบ่งออกมาได้เป็น 4 ประเภทหลัก ตามต่อไปนี้
1. ระบบปฏิบัติการ (Operating System)
ระบบปฏิบัติการ (Operating System) หรือโอเอส (OS) คือซอฟต์แวร์ระบบที่ทำหน้าที่จัดสรรและควบคุมการทำงานของฮาร์ดแวร์ ตั้งแต่การเริ่มต้นระบบ การจัดการหน่วยความจำ การจัดการไฟล์ และไปจนถึงการประมวลผลของโปรแกรมประยุกต์
เปรียบเสมือนตัวกลางระหว่างผู้ใช้กับฮาร์ดแวร์ ผ่านการแสดงส่วนติดต่อกับผู้ใช้ หรือ User interface เพื่ออำนวยความสะดวกให้แก่ผู้ใช้ในการสั่งงานคอมพิวเตอร์ รวมถึงช่วยให้ฮาร์ดแวร์ต่าง ๆ ทำงานร่วมกันได้อย่างมีประสิทธิภาพ
ตัวอย่าง 9 ระบบปฏิบัติการที่ได้รับความนิยม
- Windows ระบบปฏิบัติการที่ได้รับความนิยมมากที่สุด สำหรับคอมพิวเตอร์ส่วนบุคคล ถูกพัฒนาและเผยแพร่โดยบริษัท Microsoft มีส่วนติดต่อกับผู้ใช้แบบกราฟิก (Graphical User Interface: GUI) ที่ใช้งานง่าย มีโปรแกรมประยุกต์หลากหลายให้เลือกใช้ และสามารถทำงานร่วมกับอุปกรณ์ต่อพ่วงต่าง ๆ ได้อย่างมีประสิทธิภาพ
- Linux ระบบปฏิบัติการโอเพนซอร์ส ที่พัฒนาโดยกลุ่มกะนู (GNU’s Not UNIX: GNU) เป็นซอฟต์แวร์ระบบที่มีพื้นฐานมาจากระบบปฏิบัติการ UNIX ได้รับความนิยมมากสำหรับคอมทุกประเภท เพราะมีความปลอดภัยสูง ประสิทธิภาพดี และปรับแต่งได้ตามต้องการ
- macOS ระบบปฏิบัติการแบบ UNIX จากบริษัท Apple ที่ได้รับการยกย่องจากนักวิจารณ์ ว่าเป็นซอฟต์แวร์ระบบที่สวยงามและใช้งานง่าย สามารถเข้าถึงฟีเจอร์ต่าง ๆ ได้สะดวกสำหรับคอมพิวเตอร์ Mac
- Android ระบบปฏิบัติการแบบเปิด (Open-source operating system) สำหรับอุปกรณ์พกพา ทั้งสมาร์ทโฟน แท็บเล็ต สมาร์ทวอทช์ หรือทีวี
- iOS ระบบปฏิบัติการแบบปิด (Closed-source operating system) ถูกออกแบบมาสำหรับอุปกรณ์พกพาแอปเปิลโดยเฉพาะ ทั้ง iPhone, iPad, iPod touch และ Apple TV
- Chrome OS ออกแบบและผลิตโดย Google เพื่อใช้สำหรับคอมพิวเตอร์ที่ใช้งานเวิลด์ไวด์เว็บ (WWW.) เป็นหลัก ต่างจากระบบปฏิบัติการอื่นตรงที่เน้นการใช้งานบนอินเทอร์เน็ตเป็นหลัก ช่วยให้ผู้ใช้เข้าถึงแอปพลิเคชัน บริการ หรือข้อมูลที่มากมหาศาล
- Ubuntu ระบบปฏิบัติการ PC แบบเปิด ที่ใช้พื้นฐานจาก Linux kernel ถูกพัฒนาโดย Canonical Ltd. มีจุดเด่นด้านความเสถียร ความปลอดภัย และใช้งานง่าย
- FreeBSD ระบบปฏิบัติการแบบเปิด ที่พัฒนาต่อยอดมาจาก Berkeley Software Distribution (BSD) สามารถทำงานบนซีพียูได้หลากหลาย ได้รับยกย่องว่าเป็นซอฟต์แวร์ระบบที่เสถียรและอึดมาก จึงมักใช้เป็นเครื่องสำหรับรันเซิร์ฟเวอร์โดยเฉพาะ
- Solaris ถูกพัฒนาโดยบริษัทซัน ไมโครซิสเต็มส์ เป็นระบบปฏิบัติการที่เสถียรและมีความปลอดภัยสูง รองรับการทำงานแบบเครือข่ายได้อย่างสมบูรณ์แบบ
2. โปรแกรมแปลภาษาคอมพิวเตอร์ (Compiler, Interpreter, Assembler)
การที่จะสื่อสารกับคอมพิวเตอร์เพื่อให้ทำงานได้ตามต้องการ จำเป็นต้องมีตัวกลางในการสื่อสาร เปรียบเสมือนกับภาษาที่มนุษย์ใช้สื่อสารให้เกิดความเข้าใจตรงกัน ซึ่งตัวกลางที่ใช้ติดต่อสื่อสาร เรียกว่า ภาษาคอมพิวเตอร์ ส่วนภาษาที่คอมพิวเตอร์รู้จักและปฏิบัติงานได้ทันที เรียกว่า ภาษาเครื่อง ซึ่งเป็นภาษาในรูปเลขฐานสอง
โปรแกรมแปลภาษาคอมพิวเตอร์ คือซอฟต์แวร์ระบบที่ใช้ในการแปลภาษา ที่ผู้เขียนโปรแกรมเขียนขึ้นให้เป็นภาษาเครื่อง เพื่อให้คอมพิวเตอร์เข้าใจและทำตามคำสั่งได้ แบ่งได้เป็น 3 ประเภท ต่อไปนี้
- คอมไพเลอร์ (Compiler) โปรแกรมแปลภาษาระดับสูง ด้วยการแปลรหัสต้นฉบับ (Source code) ให้เป็นภาษาระดับต่ำหรือภาษาเครื่อง เช่นภาษา C, C++, Java หรือ Python
- อินเทอร์พรีเตอร์ (Interpreter) โปรแกรมแปลภาษาระดับสูงที่แปลทีละคำสั่ง แล้วให้คอมทำงานตามทีละคำสั่ง เมื่อเสร็จจึงทำการแปลคำสั่งในลำดับต่อไปเรื่อย ๆ จนจบ เช่นภาษา Python Interpreter, JavaScript Interpreter หรือ PHP Interpreter
- แอสเซมเบลอร์ (Assembler) โปรแกรมแปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง เป็นชุดคำสั่งที่สามารถเข้าใจและประมวลผลด้วย CPU ได้โดยตรง อย่างเช่น NASM, MASM หรือ GAS
3. โปรแกรมอรรถประโยชน์ (Utility Program)
ซอฟต์แวร์ระบบประเภท โปรแกรมอรรถประโยชน์ หรือ Utility Program เป็นซอฟต์แวร์ที่ให้ความช่วยเหลือแก่ระบบคอมพิวเตอร์ หรือซอฟต์แวร์ประยุกต์ โดยทำหน้าที่สนับสนุนการทำงานด้านต่าง ๆ ของระบบ ส่วนมากใช้เพื่อบำรุงรักษาและเพิ่มประสิทธิภาพการทำงานของคอมพิวเตอร์ สามารถแบ่งออกได้เป็นหลายประเภท ตามหน้าที่การทำงาน ต่อไปนี้
- โปรแกรมจัดการไฟล์ (File manager) สำหรับใช้จัดการไฟล์และโฟลเดอร์ต่าง ๆ ตามที่ผู้ใช้ต้องการ เช่น ค้นหา คัดลอก เคลื่อนย้าย ลบ หรือเปลี่ยนชื่อ
- โปรแกรมบีบอัดไฟล์ (File compression) ใช้สำหรับลดขนาดของไฟล์ให้เล็กลง เพื่อประหยัดพื้นที่จัดเก็บ และเพิ่มความสะดวกในการโอนย้าย
- โปรแกรมสำรองไฟล์ (Backup) เป็นซอฟต์แวร์ที่ใช้เพื่อการสำรองข้อมูลสำคัญต่าง ๆ ในกรณีที่ฮาร์ดแวร์หรือข้อมูลเกิดความเสียหาย ผู้ใช้ก็จะสามารถกู้คืน จากหน่วยเก็บข้อมูลที่เป็นสำเนาได้
- โปรแกรมจัดเรียงพื้นที่ดิสก์ (Disk defragmenter) สำหรับช่วยจัดเรียงข้อมูลต่าง ๆ ที่เก็บในฮาร์ดดิสก์ ให้มีความต่อเนื่องหรือเรียงเป็นระบบต่อกันไป เพื่อเพิ่มประสิทธิภาพการเข้าถึงไฟล์
- โปรแกรมลบไฟล์ที่ไม่จำเป็น (Disk cleanup) ใช้ในการทำความสะอาดฮาร์ดดิสก์ ด้วยการลบไฟล์ที่ไม่จำเป็นออก เช่นไฟล์ Temp, Bak รวมถึงไฟล์อินเทอร์เน็ตต่าง ๆ ที่เก็บไว้ใน Cache ของบราวเซอร์
4. โปรแกรมขับอุปกรณ์ (Device Driver)
ประเภทนึงของซอฟต์แวร์ระบบ โปรแกรมขับอุปกรณ์ หรือ Device Driver ที่ทำหน้าที่ติดต่อกับคอมพิวเตอร์ทั้งในส่วนการรับเข้า และการส่งออกของแต่ละอุปกรณ์
หากคอมพิวเตอร์ไม่มี device driver ก็จะทำให้อุปกรณ์ฮาร์ดแวร์นั้น ๆ ไม่สามารถทำงานร่วมกับระบบปฏิบัติการได้ เช่นถ้าไม่มี driver สำหรับเครื่องพิมพ์ เครื่องพิมพ์ก็จะไม่สามารถพิมพ์เอกสารได้ หรือเมื่อเราซื้อกล้องถ่ายรูปมาใหม่ และต้องการนำภาพที่ถ่ายไปตัดต่อบนคอม ก็จะต้อง install ไดรฟ์เวอร์ หรือโปรแกรมสำหรับรุ่นกล้องก่อน เพื่อให้คอมพิวเตอร์รู้จักถึงจะใช้งานได้ แบ่งเป็น 2 ประเภทหลัก ต่อไปนี้
- Standard Driver โปรแกรมขับอุปกรณ์ที่พัฒนาโดยบริษัทผู้ผลิต OS อย่างเช่น Microsoft Windows หรือ Apple macOS
- Vendor-specific Driver เป็นไดรฟ์เวอร์หรือโปรแกรม ที่บริษัทผู้ผลิตอุปกรณ์พัฒนาขึ้นมาเฉพาะ เพื่อใช้สำหรับอุปกรณ์ฮาร์ดแวร์รุ่นใดรุ่นนึง
ตัวอย่าง อุปกรณ์ที่ต้องการ Device Driver
- อุปกรณ์ต่อพ่วง (Peripheral devices) เช่น เมาส์ แป้นพิมพ์ เครื่องพิมพ์ ฯลฯ
- อุปกรณ์ภายในเครื่อง (Internal devices) เช่น CPU, RAM, การ์ดจอ, หน่วยเก็บข้อมูล หรืออุปกรณ์เชื่อมต่อเครือข่ายอื่น ๆ
บทสรุป
สรุปแล้ว ซอฟต์แวร์ระบบ หรือ System Software นั้นคือซอฟต์แวร์ที่ทำงานใกล้ชิดกับฮาร์ดแวร์คอมพิวเตอร์มากที่สุด เพราะมีหน้าที่ควบคุมการทำงานของฮาร์ดแวร์ทั้งหมด และคอยอำนวยความสะดวกให้กับผู้ใช้ สามารถแบ่งได้เป็น 4 ประเภทหลัก ต่อไปนี้
- ระบบปฏิบัติการ (Operating system)
- โปรแกรมแปลภาษา (Translator)
- โปรแกรมอรรถประโยชน์ (Utility program)
- โปรแกรมขับอุปกรณ์ (Device driver)
ซอฟต์แวร์ระบบนั้นเปรียบเสมือนฐานรากของสิ่งปลูกสร้าง ที่ต้องคอยยึดโครงสร้างทั้งหมดเอาไว้ หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์ก็จะไม่สามารถทำงานได้ หรือเรียกได้ว่ากลายเป็นเครื่องเปล่าที่ทำอะไรไม่ได้เลยนั่นเอง