วันอาทิตย์ที่ 2 กรกฎาคม พ.ศ. 2560

ซอฟต์แวร์

ความหมายของซอฟต์แวร์คอมพิวเตอร์
เครื่องคอมพิวเตอร์เป็นอุปกรณ์ที่ช่วยให้การทำงานของคนทำงานได้ด้วยความรวดเร็วและมีประสิทธิภาพ  ซึ่งถ้าหากเครื่องคอมพิวเตอร์นั้นมีเพียงเฉพาะตัวอุปกรณ์หรือฮาร์ดแวร์อยู่เพียงอย่างเดียวก็ไม่สามารถทำงานได้เป็นได้เพียงวัตถุชิ้นหนึ่งเท่านั้น การที่จะทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้นั้น จำเป็นต้องอาศัยซอฟต์แวร์ในการสั่งให้อุปกรณ์ฮาร์ดแวร์ทำงานได้ตามความต้องการของผู้ใช้งาน สำหรับในที่นี่จะกล่าวถึงการแบ่งประเภทของซอฟต์แวร์ ลักษณะย่อยของซอฟต์แวร์แต่ละประเภท การจำแนกประเภทของซอฟต์แวร์ตามลักษณะการใช้งาน และการพิจารณาซอฟต์แวร์ตามหลักของลิขสิทธิ์
ประเภทของซอฟต์แวร์คอมพิวเตอร์
ซอฟต์แวร์คอมพิวเตอร์เป็นชุดคำสั่งที่บุคคลพัฒนาขึ้นเพื่อสั่งการให้อุปกรณ์คอมพิวเตอร์ทำงาน สำหรับการจำแนกตามลักษณะเป้าหมายในการใช้งานหลักๆ แล้ว สามารถจำแนกออกได้เป็น 2 ลักษณะที่สำคัญ ได้แก่
1. ซอฟต์แวร์ระบบ (System Software) หมายถึง ซอฟต์แวร์ที่ทำหน้าที่ติดต่อประสานงานในการควบคุมการทำงานของเครื่องคอมพิวเตอร์ และสนับสนุนให้เครื่องคอมพิวเตอร์สามารถทำงานได้อย่างมีประสิทธิภาพ
2. ซอฟต์แวร์ประยุกต์ (Application Software) หมายถึง ซอฟต์แวร์ที่ทำหน้าที่ทำงาน ตามที่บุคคลต้องการจริง เช่น การพิมพ์งาน การตัดแต่งภาพ เป็นต้น
โดยถ้าพิจารณาความสัมพันธ์ในการทำงานแล้ว อาจมองเทียบได้กับภาพ
ภาพที่ 1  ลักษณะการทำงานระหว่างมนุษย์กับคอมพิวเตอร์
            ซึ่งจะเห็นได้ว่าในการทำงานของมนุษย์นั้นจะเน้นที่การทำงานกับซอฟต์แวร์ประยุกต์ มากกว่า แต่ก็จะมีซอฟต์แวร์ระบบทำหน้าที่สั่งการหรือติดต่อกับอุปกรณ์ฮาร์ดแวร์ให้ทำงานอีกทีหนึ่ง ตัวอย่างคือ นิสิตต้องการพิมพ์รายงาน นิสิตจะต้องพิมพ์ลงบนแป้นพิมพ์ ซึ่งเป็นอุปกรณ์ฮาร์ดแวร์ประเภทหนึ่ง จากนั้นจะมีการแปลความหมายตีความผ่านซอฟต์แวร์ระบบ และนำสิ่งที่ได้มาแสดงผลต่อซอฟต์แวร์ประยุกต์ คือซอฟต์แวร์ประมวลผลคำ   ดังนั้นในมุมมองของผู้ใช้งานนั้น มักจะมองถึงการทำงานกับซอฟต์แวร์ประยุกต์มากกว่า
การจำแนกประเภทของซอฟต์แวร์ระบบ
เมื่อกล่าวถึงซอฟต์แวร์ระบบ คนส่วนใหญ่  มองเพียงระบบปฏิบัติการที่ใช้อยู่ในเครื่องคอมพิวเตอร์ต่างๆ เท่านั้น แต่ความจริงแล้ว ซอฟต์แวร์ระบบสามารถจำแนกเป็น 3 ลักษณะด้วยกัน
1. ระบบปฏิบัติการ (Operating System) เป็นหัวใจสำคัญที่ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้ โดยจะทำการควบคุมการทำงานอุปกรณ์ฮาร์ดแวร์เช่น การเปิด-ปิดเครื่อง เป็นต้น รวมถึงการติดต่อกับซอฟต์แวร์ประยุกต์ให้ทำงานต่างๆ ตามที่ผู้ใช้งานสั่งการ
2. ซอฟต์แวร์แปลภาษา (Translator) โดยปกติซอฟต์แวร์ประยุกต์ ที่ใช้งานกันสามารถที่จะพัฒนาด้วยภาษาคอมพิวเตอร์ที่หลากหลาย ซึ่งจะมีลักษณะใกล้เคียงกับภาษามนุษย์ แต่สำหรับเครื่องคอมพิวเตอร์นั้น จะเข้าใจเฉพาะใน
ลักษณะคำสั่งเลขฐานสอง แทนชุดคำสั่งแต่ละตัวหรืออาจเรียกว่าภาษาเครื่อง   ดังนั้นเพื่อทำให้คอมพิวเตอร์เข้าใจในภาษาต่างๆ ที่มนุษย์พัฒนาขึ้น จึงจำเป็นต้องมีซอฟต์แวร์แปลภาษา จึงจะเกิดการติดต่อสื่อสารกันได้ระหว่างคำสั่งที่เป็นภาษามนุษย์กับเครื่องคอมพิวเตอร์
3. ซอฟต์แวร์อรรถประโยชน์ (Utility Software) เป็นซอฟต์แวร์ระบบลักษณะหนึ่ง ที่ทำหน้าที่เสริมให้เครื่องคอมพิวเตอร์สามารถทำงานได้ โดยมีประสิทธิภาพนอกเหนือจากการใช้งานปกติ เช่น การจัดการพื้นที่ในการเก็บข้อมูล ตามปกติแล้วฮาร์ดดิสก์จะเก็บข้อมูลเรียงต่อกันไปเรื่อยๆ ถึงแม้จะมีการลบข้อมูลบางอย่างไป ก็ยังทำการบันทึกเพิ่มเรียงต่อไปในจุดที่ว่างไม่ได้ ทำให้พื้นที่ในการเก็บข้อมูลลดลง ดังนั้นจึงต้องมีการใช้โปรแกรมในการจัดการพื้นที่ โดยนำข้อมูลมาจัดเรียงใหม่ ทำให้ได้พื้นที่เพิ่มเติมกลับมา หรือการป้องกันไวรัสเข้ามาในเครื่อง ซึ่งการกำจัดไวรัสในเครื่องมิใช่งานที่บุคคลจะต้องสนใจเป็นหลัก แต่การใช้งานปกติบางครั้งจะเกิดปัญหาไวรัสคอมพิวเตอร์เข้ามารบกวน ดังนั้นจึงต้องมีโปรแกรมต่อต้านไวรัสคอมพิวเตอร์ เพื่อตรวจกรอง ป้องกัน และกำจัดไวรัสคอมพิวเตอร์ที่เข้ามารบกวนการทำงาน เป็นต้น   สำหรับในที่นี้ จะเน้นการศึกษาในส่วนของระบบปฏิบัติการเป็นหลัก
ภาพที่ 2  โปรแกรม Disk Defragmenter
ระบบปฏิบัติการ
การทำงานของระบบปฏิบัติการนั้น มีหน้าที่สำคัญในการดูแลการทำงานของผู้ใช้งาน ทำให้สามารถติดต่อกับฮาร์ดแวร์ได้อย่างมีประสิทธิภาพ และควบคุมการทำงานส่วนประกอบต่างๆ ของระบบคอมพิวเตอร์ได้ ไม่ว่าจะเป็นหน่วยประมวลผล หน่วยรับข้อมูล หน่วยแสดงผลข้อมูล สำหรับกรณีการดูแลการติดต่ออุปกรณ์ฮาร์ดแวร์นั้น จะเห็นได้ว่าอุปกรณ์ฮาร์ดแวร์มีหลากหลายชนิด และแต่ละชนิดก็มีหลากหลายผู้ผลิต   การที่จะทำให้ผู้ใช้งานสามารถใช้อุปกรณ์ต่างๆ ที่ผลิตจากคนละบริษัทนั้น จะมีความยุ่งยาก เช่น ถ้าหากผู้ใช้ต้องการให้เครื่องอ่านซีดี เปิดออก และอ่านแผ่นซีดี ถ้าหากไม่มีระบบปฏิบัติการแล้ว ผู้ใช้ก็จำเป็นที่จะต้องศึกษาคำสั่งที่จะติดต่อกับเครื่องอ่านซีดีนั้น ให้เปิดถาดอ่านซีดีออก และคำสั่งที่ทำให้เกิดการอ่านข้อมูลจากแผ่น เป็นต้น หรือในกรณีการใช้งานทรัพยากร เช่น หากผู้ใช้ต้องการให้หน่วยประมวลผล ดำเนินการประมวลผลข้อมูล ก็จำเป็นที่จะต้องรู้วิธีการเรียกใช้งานในการทำงานอีก เป็นต้น ดังนั้นถ้ามีระบบปฏิบัติการก็สามารถที่จะลดภาระเหล่านี้ของผู้ใช้งานได้
ประเภทของระบบปฏิบัติการ
ระบบปฏิบัติการโดยทั่วไปนั้น ถ้าหากใช้หลักการความสามารถของการทำงานในหนึ่งช่วงเวลามาจำแนก ก็สามารถแบ่งได้เป็น
  • แบบงานเดียว (Single Task) หมายถึง ในหนึ่งช่วงเวลาสามารถทำงานได้เพียงงานเดียว
  • แบบหลายงาน (Multi Task) หมายถึง ในหนึ่งช่วงเวลาสามารถทำงานได้หลายงาน
นอกจากนั้นแล้ว ยังจำแนกได้จาก จำนวนผู้ใช้งานในหนึ่งช่วงเวลา ได้แก่
  • แบบผู้ใช้คนเดียว (Single User) หมายถึง ในหนึ่งช่วงเวลา ระบบปฏิบัติการสามารถรองรับการทำงานของผู้ใช้ได้เพียงคนเดียว
  • แบบผู้ใช้หลายคน (Multi User) หมายถึง ในหนึ่งช่วงเวลา ระบบปฏิบัติการสามารถรองรับการทำงานของผู้ใช้ได้หลายคน
และด้วยลักษณะทั้ง 2 ประการนั้น ได้นำมาพิจารณารวมกัน จัดเป็นรูปแบบของประเภทระบบปฏิบัติการ ดังรายละเอียด คือ
แบบงานเดียว ผู้ใช้คนเดียว (Single Task – Single User)
ระบบปฏิบัติการประเภทนี้เป็นลักษณะแรกๆ ที่มีระบบปฏิบัติการเกิดขึ้น เช่น ระบบปฏิบัติการดอส (Disk Operating System: DOS) ซึ่งลักษณะการทำงาน คือ ถ้าหากมีคนหนึ่งทำงานอย่างหนึ่งอยู่แล้ว ยังไม่เสร็จสิ้นก็จะไม่สามารถทำงานอย่างอื่นได้ ต้องรอให้งานแรกเสร็จก่อนจึงจะสามารถทำงานอื่นต่อได้ และนอกจากนั้นระบบปฏิบัติการในรูปแบบนี้ไม่มีการจำแนกงานของแต่ละบุคคลออกจากกัน ถ้าหากผู้ใช้คนแรกทำงานอย่างใดอย่างหนึ่งไว้ และผู้ใช้คนถัดไปจะสามารถแก้ไขดัดแปลง ซึ่งจะส่งผลกระทบต่องานนั้นได้   ระบบปฏิบัติการในรูปแบบนี้ ได้มีการพัฒนาต่อในยุคถัดมา เกิดเป็นลักษณะอื่นต่อไป
ภาพที่ 3  ระบบปฏิบัติการไมโครซอฟต์ ดอส (Microsoft DOS )
แบบหลายงาน ผู้ใช้คนเดียว (Multi Task – Single User)













ระบบปฏิบัติการในประเภทนี้ได้ขยายความสามารถของแบบแรก คือ การรองรับการทำงานในหลายๆ งานได้ ในช่วงเวลาเดียวกัน ตัวอย่าง ระบบปฏิบัติการที่เห็นได้ชัด เช่น ไมโครซอฟต์ วินโดวส์ (Microsoft Windows) รุ่นต่างๆ โดยลักษณะการทำงาน คือ เปิดโอกาสให้ผู้ใช้งานสามารถเรียกใช้โปรแกรมได้หลายโปรแกรมในช่วงเวลาเดียวกัน เช่น ในขณะที่เปิดโปรแกรมฟังเพลง ก็สามารถเปิดโปรแกรมประมวลผลคำ เพื่อพิมพ์เอกสารต่างๆ ได้ จะเห็นได้ว่าในช่วงเวลาเดียวกันนั้น สามารถทำงานได้หลายอย่าง ซึ่งระบบปฏิบัติการในลักษณะนี้เหมาะสมกับเครื่องคอมพิวเตอร์ระดับบุคคลเป็นอย่างมาก
ภาพที่ 4  ระบบปฏิบัติการไมโครซอฟต์ วินโดวส์ เอ็กพี (Microsoft Windows XP)
แบบหลายงาน ผู้ใช้หลายคน (Multi task – Multi user)
ระบบปฏิบัติประเภทนี้จะสามารถรองรับการทำงานหลายๆ งานได้ในช่วงเวลาเดียว และในขณะเดียวกันนั้น ยังสามารถรองรับการทำงานของคนหลายๆ คนได้ สำหรับตัวอย่างระบบปฏิบัติการในลักษณะนี้  เช่น  ไมโครซอฟต์ เซิร์ฟเวอร์ (Microsoft Server),  ไมโครซอฟต์ เอ็นที (Microsoft NT) หรือ ลีนุกซ์ (Linux) ซึ่งระบบปฏิบัติการในระดับนี้ เหมาะสมกับการทำเป็นเครื่องแม่ข่าย (Server) เพราะสามารถรองรับผู้ใช้ได้หลายคน เช่น เครื่องแม่ข่ายของเว็บไซต์ เป็นต้น
ภาพที่ 5 ระบบปฏิบัติการไมโครซอฟต์ วินโดวส์ 2000 เซิร์ฟเวอร์

คุณลักษณะของระบบปฏิบัติการ
ระบบปฏิบัติการเป็นซอฟต์แวร์ระบบที่ทำหน้าที่ในการติดต่อควบคุมฮาร์ดแวร์คอมพิวเตอร์ และติดต่อกับผู้ใช้งาน   ระบบปฏิบัติการจะแบ่งการทำงานได้เป็น 3 ระดับ คือ
1. เคอร์แนล (Kernel) เป็นส่วนในสุดของระบบปฏิบัติการ มีหน้าที่สำคัญ คือ การสั่งการให้อุปกรณ์ฮาร์ดแวร์คอมพิวเตอร์ทำงานตามคำสั่ง เช่น การเลื่อนเปิดถาดแผ่นซีดี การบันทึกข้อมูลลงฮาร์ดดิสก์ เป็นต้น ซึ่งผู้ใช้งานจะมิได้ติดต่อกับส่วนนี้โดยตรง แต่จะติดต่อกับส่วนที่ถัดมา ได้แก่ เชล
2. เชล(Shell) เป็นส่วนที่รับการสั่งงานจากผู้ใช้และเชื่อมต่อยังเคอร์แนล เพื่อให้เกิดการทำงานไปยังอุปกรณ์ฮาร์ดแวร์อีกทีหนึ่ง โดยเชลจะสามารถมองได้เป็น 2 ลักษณะคือ
2.1 เทคเชล (Text Shell) หมายถึง ส่วนการติดต่อกับผู้ใช้ ในลักษณะของการรับคำสั่งในรูปตัวอักขระ ซึ่งในรูปแบบนี้จะสามารถติดต่อกับเคอร์แนล ได้อย่างรวดเร็ว และยังสามารถเปลี่ยนแปลงทิศทางของการนำเข้าข้อมูล และการแสดงผลข้อมูลในลักษณะของการนำผลลัพธ์ที่ได้จากการทำงานหนึ่งไปเป็นข้อมูลที่นำเข้าไปประมวลผลต่อได้ เรียกว่า pipelining นอกจากนั้น ยังสามารถเขียนคำสั่งให้เครื่องคอมพิวเตอร์ทำงานรวมกันไว้เป็นชุดได้  ซึ่งเรียกว่า เชล สคริป (Shell Script)   สำหรับตัวอย่างที่เห็นได้ชัด เช่นในระบบปฏิบัติการยูนิค จะมีเชล ในลักษณะเทคเชล อยู่หลายแบบ เช่น ซีเชล(C-Shell) ,คอนเชล (Korn-Shell)   สำหรับระบบปฏิบัติการวินโดวส์ จะมีเทคเชล ในรูปแบบของไมโครซอฟต์ ดอส ที่ทำงานผ่านทางคำสั่งต่างๆ   การใช้งานผ่านทางเทคเชลนั้นมีข้อดีคือสามารถทำงานต่างได้รวดเร็ว  แต่ผู้ใช้ทั่วไปนั้นจะต้องเรียนรู้คำสั่งต่างๆที่ใช้ในการสั่งงานซึ่งเป็นเรื่องยุ่งยาก  เช่น ถ้าต้องการคัดลอกไฟล์ในระบบปฏิบัติการแบบ ก็ต้องใช้คำสั่ง cp ตามด้วยชื่อไฟล์ที่ต้องการคัดลอก  และชื่อใหม่ที่ต้องการตั้ง  เป็นต้น
ภาพที่ 6  การใช้คำสั่ง cp ในการคัดลอกไฟล์
2.2 กราฟิก เชล (Graphic Shell) เป็นการติดต่อกับผู้ใช้งานในลักษณะของการใช้ภาพและสัญลักษณ์ต่างๆ ที่จะสามารถสื่อความหมายต่อผู้ใช้งานได้ง่าย ตัวอย่างของระบบปฏิบัติการได้แก่ ไมโครซอฟต์ วินโดวส์ ในรุ่นต่างๆ   แต่สำหรับระบบปฏิบัติการยูนิคเองนั้นก็มีกราฟิก เชล  เช่นกัน เช่น KDE เป็นต้น    แต่ทั้งนี้กราฟิก เชล ก็ยังมีข้อจำกัดที่เทียบกับเทคเชล ไม่ได้ เช่น การทำชุดคำสั่ง หรือการเปลี่ยนทิศทางของผลลัพธ์ให้กลายเป็นข้อมูลนำเข้าไปประมวลผล เป็นต้น
ภาพที่ 7  ระบบปฏิบัติการไมโครซอฟต์ วินโดวส์ ที่เป็นลักษณะกราฟิก เชล
3. ยูทิลิตี (Utility) เป็นโปรแกรมที่จัดการทำงานให้กับระบบปฏิบัติการ เช่น การจัดการพื้นที่ การคัดลอกไฟล์ การลบไฟล์เป็นต้น ซึ่งทั้งนี้โปรแกรมยูทิลิตี จะมีความแตกต่างกันไปตามแต่ละประเภทของระบบปฏิบัติการ และลักษณะของเชล

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

การจัดหาซอฟต์แวร์เพื่อมาใช้งาน

การจัดหาซอฟต์แวร์เพื่อมาใช้งาน สามารถทำได้หลายวิธี ดังนี้ 1. แบบสำเร็จรูป  (Packaged or ready-made software)  เป็นวิธีที่ผู้ใช้งานซื้อได้...