คุณคงเคยได้ยินคำว่า “คอมพิวเตอร์” มานานพอสมควรแล้ว แต่ทราบหรือไม่ว่าคอมพิวเตอร์คืออะไร ตอนนี้มาลองดความหมายของคอมพิวเตอร์ก่อน คอมพิวเตอร์ คือ “อุปกรณ์ที่ประกอบด้วยชิ้นส่วนทางอิเล็กทรอนิกส์ที่สามารถรับข้อมูลและชุดคำสั่ง (Program) ในรูปแบบที่เครื่องรับได้แล้วนำมาประมวลผล (Process) ข้อมูลตามชุดคำสั่งเพื่อแก้ปัญหาหรือทำการคำนวณที่สลับซับซ้อนจนได้ผลลัพธ์ตามต้องการ และยังสามารถบันทึก หรือแสดงผลลัพธ์เหล่านั้นได้” คอมพิวเตอร์ได้ถูกพัฒนาอย่างต่อเนื่องจากอดีตจนถึงปัจจุบัน ตั้งคอมพิวเตอร์ยุคแรกที่สร้างจากหลอดสุญญากาศ มีขนาดใหญ่เท่ากับห้องใหญ่ๆ ทั้งห้อง การทำงานไม่ได้รวดเร็วอะไรมากนัก ขั้นตอนการปฏิบัติยุ่งยากและซับซ้อน และต้องอาศัยความรู้ความสามารถของผู้ใช้เป็นอย่างมากรวมทั้งต้องปรนนิบัติกับเครื่องคอมพิวเตอร์เป็นอย่างดี เช่น อาจจะต้องใช้น้ำหล่อซีพียูเพื่อป้องกันความร้อน เป็นต้น ปัจจุบันคอมพิวเตอร์มีประสิทธิภาพสูงขึ้น เร็วมากขึ้น ความสามารถมากขึ้น แต่ราคาถูกลง และมีขนาดเล็กลงจนคุณสามารถพกพาติดตัวไปยังสถานที่ต่างๆ ได้อย่างสะดวกโดยใช้พลังงานเพียงเล็กน้อย ความเร็วสูงเกินกว่า 1 กิกะเฮิร์ต (GB) หน่วยความจำหลายร้อยเมกะเฮิร์ต (MHz) จนถึงกิกะเฮิร์ต ความจุข้อมูลหลายสิบกิกะไบต์ (GB) ถึงแม้ผู้เขียนจะกล่าวถึงเทคโนโลยีที่ช่วยเสริมประสิทธิภาพของคอมพิเตอร์ไปมากมายเพียงใดก็ตาม แต่ลักษณะโครงสร้างพื้นฐานของระบบคอมพิวเตอร์ยังคงเหมือนเดิมไม่เปลี่ยนแปลง
1.1 ประเภทของคอมพิวตอร์
คอมพิวเตอร์ดู้กนำมาใช้งานด้านต่างๆอย่างกง้างขวาง เพื่อให้การใช้งานเกิดความเหมาะสมและมีประสิทธิภาพทำให้มีการผลิตมากมาย บางผประเภทก็ไม่มีให้เห็นแล้ว บางประเภทก็เพิ่งปรากฏตัวไม่นานมานี้ ประเภทของคอมพิวเตอร์อาจจะแบ่งเป็น 7 ประเภท ดังนี้
Ø คอมพิวเตอร์ระดับยิ่งใหญ่ หรือซุปเปอร์คอมพิวเตอร์ ( Super Computer ) เป็นคอมพิวเตอร์ที่มีกำลังมากที่สุด ราคาแพงที่สุด สามารถประมวลผลคำสั่งได้นับพันล้านคำสั่งในหนึ่งวินาที ส่วนใหญ่ในการเก้บข้อมูลที่ต้องการความเร็วสูง เช่น การขุดเจาะน้ำมัน,พยากรณ์อากาศ,การวิจัยอาวุธ เป็นต้น
Ø คอมพิวเตอร์ระดับใหญ่ หรือเมนเฟรมคอมพิวเตอร์ ( Mainframe Computer ) เป็นคอมพิวเตอร์ที่มีขนาดเล็กกว่าซุปเปอร์คอมพิวเตอร์ สามารถประมวลผลคำสั่งได้นับร้อยล้านคำสั่งในหนึ่งวินาที ส่วนใหญ่ใช้กับงานธนาคาร บริษัทประกัน และโรงแรม ปัจจุบันเซิร์ฟเวอร์สำหรับการใช้บริการอินเตอร์เน็ตก็เป็นเครื่องเมนเฟรมคอมพิวเตอร์
Ø คอมพิวเตอร์ระดับเล็ก หรือมินิคอมพิวเตอร์ ( Mini computer ) เป็นคอมพิวเตอร์ใช้ในธุรกิจขนาดเล็ก เพื่อความรวดเร็วในการประมวลผล และราคาไม่สูงเกินไป
Ø คอมพิวเตอร์ส่วนบุคคล หรือพีซี ( PC : Personal computer ) เป็นคอมพิวเตอร์แบบตั้งโต๊ะที่นิยมใช้กันมากที่สุด หาซื้อง่าย ราคาไม่แพง ประยุกต์ใช้ได้กับงานหลายประเภท ตั้งแต่พิมพ์เอกสารธรรมดา,การคำนวณ,ทำบัญชี,พรีเซ็นเตชัน,การออกแบบกราฟิก,การตกแต่งภาพ,ตัดต่อวีดีโอ รวมถึงการทำสิ่งพิมพ์อีกด้วย
Ø คอมพิวเตอร์ขนาดสมุดบันทึก หรือโน้ตบุค ( Notebook Computer ) เป็นคอมพิวเตอร์ส่วนบุคคลที่สามารถพกพาติดตัวไปไหนได้ ความสามารถเทียบเท่าคอมพิวเตอร์ส่วนบุคคล ๆถึงแม้ราคาจะสูงกว่คอมพิวเตอร์ส่วนบุคคล แต่ก็มีจุดเด่นที่สามารถพกพาได้นั่นเอง
Ø คอมพิวเตอร์ที่ทำหน้าที่เลขาส่วนตัว หรือพีดีเอ ( PDA: Personal Digital Assistant ) เป็นคอมพิวเตอร์ที่สามารถพกพาได้เหมือนกับโน้ตบุค แต่มีขนาดเล็กกว่า คือสามารถใส่กระเป๋าได้ คอมพิวเตอร์ชนิดนี้ ช่วยงานในด้านเก็บข้อมูล เช่น นัดหมาย เบอร์โทรศัพท์.ติดต่อ หรือเก็บข้อมูลส่วนตัวบางครั้งจะเรียกคอมพิวเตอร์แบบนี้ว่า “คอมพิวเตอร์ปากกา” เนื่องจากมีลักษณะเป็นปากกาที่สามารถรับข้อมูลโดยการเขียนด้วยลายมือโดยตรงบนจอรับภาพแบบสัมผัสได้นั่นเอง
Ø คอมพิวเตอร์เครือข่าย หรือเน็ต ( Net ) เป็นการประยุกต์ใช้คอมพิวเตอร์ส่วนบุคคลให้เชื่อมต่อเพื่อติดต่อสื่อสารกันได้ ไม่ว่าจะเป็นการใช้สายที่เชื่อมต่อกันโดยตรงภายในอาคารที่เรียกว่า “LAN” ( Local Area Network ) หรือแม้แต่การเชื่อมต่อในระยะไกลๆ ข้ามประเทศ โดยใช้สายโทรศัพท์ที่เรียกว่า “ อินเตอร์เน็ต ” ( Internet )
1.2 องค์ประกอบคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์นั้นจะประกอบไปด้วยเทคโนโลยีหลัก 2 ด้านคือ ฮาร์ดแวร์ ( Hardware ) และซอฟต์แวร์ ( Software ) แต่การที่มีเครื่องคอมพิวเตอร์เพียงอย่างเดียว จะยังไม่สามารถทำงานได้ด้วยตัวเอง ซึ่งหากจะให้คอมพิวเตอร์ทำงานได้อย่างเป็นระบบและมีประสิทธิภาพแล้ว ระบบคอมพิวเตอร์ควรจะประกอบไปด้วยองค์ประกอบ 5 ด้าน ที่ต้องทำงานประสานกัน คือ
Ø ฮาร์ดแวร์ ( Hardware )
Ø ซอฟต์แวร์ ( Software )
Ø บุคลากร ( Pepleware )
Ø ข้อมูล ( Data )
Ø กระบวณการทำงาน ( Procedure )
1.2.1 ฮาร์ดแวร์ ( Hardware )
ฮาร์ดแวร์เป็นองค์ประกอบของตัวเครื่องที่สามารถจับต้องได้ ได้แก่ วงจรไฟฟ้า ตัวเครื่อง จอภาพ เครื่องพิมพ์ คีร์บอร์ด เป็นต้นซึ่งสามารถแบ่งส่วนพื้นฐานของฮาร์ดแวร์เป็น 4 หน่วยสำคัญ (ดังรูป 1.2) ซึ่งมีรายละเอียดดังนี้
1. หน่วยรับข้อมูลหรืออินพุต ( Input Unit) ทำหน้าที่รับข้อมูลและโปรแกรมเข้า เครื่อง มีโครงสร้างดังรูป 1.3 ได้แก่ คีย์บอรืดหรือแป้นพิมพ์ เมาส์ เครื่องสแกน เครื่องรูดบัตร Digitizer เป้นต้น
2. ระบบประมวลผลกลางหรือซีพียู (CPU : Central Processing Unit) ทำหน้าที่ในการทำงานตามคำสั่งที่ปรากฏอยู่ในโปรแกรม หน่วยนี้จะประกอบด้วยหน่วยย่อยหลัก 2 หน่วย คือ หน่วยคำนวณเลขคณิตและตรรกวิทยา ( ALU : Arithmetic and Logical Unit ), หน่วยควบคุม (Control Unit) และรีจิสเตอร์ (Register) ปัจจุบันซีพียูของเครื่องพีซี รู้จักในนามไมโครโปรเซสเซอร์ (Micro Processor) หรือ Chip เช่นบริษัท Intel คือ Pentium หรือ Celelon ส่วนของบริษัท AMD คือ K6,K7(Athlon) เป็นต้น
3. หน่วยเก็บข้อมูล (Storage) ซึ่งสามารถแยกตามหน้าที่ได้เป็น 2 ลักษณะ คือ
Ø หน่วยเก็บข้อมูลหรือความจำหลัก ( Primary Storage หรือ Main Memory ) ทำหน้าที่เก็บโปรแกรมหรือข้อมูลที่รับมาจากหน่วยรับข้อมูลเพื่อเตรียมส่งให้หน่วยประมวลผลกลางทำการประมวลผล และรับผลลัพธ์ที่ได้จากการประมวลผลเพื่อส่งออกหน่วยแสดงข้อมูลต่อไปซึ่งอาจแยกได้เป็น 2 ประเภท คือ RAM ( Random Access Memory ) ที่สามารถอ่านและเขียนข้อมูลได้ในขณะที่เปิดเครื่องอยู่ แต่เมื่อปิดเครื่องข้อมูลใน RAM จะหายไป และ ROM ( Read Only Memory ) จะอ่านได้อย่างเดียว เช่น PROM ( Programmable ROM ) โปรแกรมฝังไว้ใช้ตอนสตาร์ตเครื่อง
Ø หน่วยเก็บข้อมูลสำรอง ( Secondary Storage ) เป็นหน่วยที่ทำหน้าที่เก็บข้อมูล หรือโปรแกรมที่จะป้อนเข้าสู่หน่วยความจำหลักภายในเครื่องก่อนทำการประมวลผลโดยซีพียู รวมทั้งเป็นที่เก็บผลลัพธ์จากการประมวลผลด้วย ปัจจุบันรู้จักในนาม ฮาร์ดดิสก์ ( Hard disk ) หรือแผ่นฟร็อปปีดิสก์ ( Floppy Disk ) ซึ่งเมื่อปิดเครื่องข้อมูลจะยังคงเก็บอยู่
4. หน่วยแสดงข้อมูลหรือเอาต์พุต ( Output Unit ) ทำหน้าที่ในการแสดงผลลัพธ์ที่ได้จากการประมวลผล ได้แก่ จอภาพ และเครื่องพิมพ์ เป็นต้น ทั้ง 4 ส่วนจะเชื่อมต่อกกันด้วยบัส ( Bus )
1.2.2 ซอฟต์แวร์ ( Software )
ซอฟต์แวร์ หมายถึงโปรแกรม หรือชุดคำสั่งที่ถูกเขียนขึ้นเพื่อให้คอมพิวเตอร์ทำงาน ซอฟแวร์นี้จะเป็นตัวเชื่อมระหว่างผู้ใช้เครื่องคอมพิวเตอร์กับเครื่องคอมพิวเตอร์ ถ้าไม่มีซอฟต์แวร์ เครื่องคอมพิวเตอร์จะไม่สามารถทำงานได้เลย สำหรับประเภทของซอฟต์แวร์สามารถแบ่งได้เป็น 3 กลุ่มใหญ่คือ
1. ซอฟต์แวร์ระบบ ( System Software ) หมายถึงชุดคำสั่งที่เขียนไว้เป็นคำสั่งสำเร็จรูปซึ่งจะทำใกล้ชิดกับเครื่องคอมพิวเตอร์มากที่สุด เพื่อควบคุมการทำงานของฮาร์ดแวร์ทุกอย่าง และคอยอำนวยความสะดวกให้กกับผู้ใช้ ในการใช้งานซอฟต์แวร์ระบบนี้สามารถแบ่งเป็นส่วนย่อยได้ดังนี้
Ø โปรแกรมระบบปฏิบัติการ ( OS : Operating System ) เป็นโปรแกรมควบคุมการทำงานของคอมพิวเตอร์ทั้งระบบ เพื่อให้คอมพิวเตอร์สามารถดำเนินงานไปได้อย่างต่อเนื่อง โดยจะดูแลทั้งตัวเครื่อง การจัดการ้อมูล คือมีหน้าที่ควบคุมการประมวลผลภายใน จัดสรรทรัพยากรต่างๆ ในระบบ และติดต่ออุปกรณ์ภายนอก วึ่งเปรียบเสมือนผู้จัดการระบบที่อยู่ระหว่างผู้ใช้กับเครื่อง ต้องมี ปัจจุบันระบบปฏิบัติการที่ใช้ในเครื่องพีซี คือ ดอส ( DOS :Disk Operating System ) ระบบ Windows รุ่น 3.11,95,98,ME หรือในเครื่องคอมพิวเตอร์ที่เป็นเน็ตเวิร์ค เช่น Windows NT , Windows 2000 , Windows XP และ UNIX เป็นต้น
Ø โปรแกรมแปลภาษาคอมพิวเตอร์ ( Translator Program ) เป็นโปรแกรมแปลภาษาที่เขียนในภาษาระดับสูงแบบโครงสร้าง (Structure และ Procedural language ) เช่น ภาษา Pasca,Visual Basic,Visual C เป็นต้น หรือ แบบเชิงวัตถุ ( Visual หรือ Object Oriented Programming ) เช่น Visual Basic,Visual C หรือ Delphi เป็นต้น ซึ่งโปรแกรมจะแปลให้เป็นภาษาเครื่องซึ่งจัดได้ว่าเป็นภาษาระดับต่ำที่เครื่องคอมพิวเตอร์รู้จัก ลักษณะเช่นนี้เป็นตัวแปลภาษาที่แปลโปรแกรมทีละโปรแกรม ซึ่งเรียกว่า คอมไพเลอร์ (Compliler) แต่ลักษณะดั้งเดิมที่แปลโปรแกรมทีละบรรทัด เช่น ภาษา Basic จะเรียกว่า “อินเตอร์พริเตอร์” (Interpreter)
Ø ยูทิลิตี้หรือดปรแกรมอรรถประโยชน์ (Utilit Program) เป็นโปรแกรมที่ทำหน้าที่อำนวยความสะดวกให้แก่ผู้ใช้ในการติดต่อับคอมพิวเตอร์โดยจะช่วยลดขั้นตอนในการเขียนโปรแกรมที่ยุ่งยาก เช่น การตรวจค้นหาแฟ้มข้อมูลที่ลบไปแล้ว ตัวอย่างในเครื่องพีซี เช่น Software Tools และ Norton’s Utilities
2.ซอฟต์แวร์สำเร็จรูป (package) เป็นซอฟต์แวร์หรือโปรแกรมประยุกต์ที่มีผู้จัดทำใว้ เพื่อใช้ในการทำงานประเภทต่างๆ โดยที่ผู้ใช้คนอื่นๆ สามารถนำโปรแกรมนี้ไปใช้กับข้อมูลของตนได้ แต่จะไม่สามารถทำการดัดแปลงหรือแก้ไขโปรแกรมภายในได้ ผู้ใช้ไม่จำเป็นต้องเขียนโปรแกรมเองทั้งหมด ซึ่งประหยัดเวลาและแรงงานเพียงแต่เรียนรู้วิธีใช้เท่านั้น
3.ซอฟต์แวร์ประยุกต์( Application Software ) คือซอฟแวต์หรือโปรแกรม ซึ่งเขียนขึ้นเพื่อใช้ในการทำงานเฉพาะอย่างที่เราต้องการ บางครั้งเรียกว่า User Program หรือ Customized Software
1.2.3 บุคลากร ( Peopleware )
บุคลากรจะเป็นสิ่งสำคัญที่จะเป็นตัวกำหนดถึงประสิทธิภาพถึงความสำเร็จและความคุ้มค่าในการใช้งานคอมพิวเตอร์ ซึ่งสามารถแบ่งบุคลากรตามหน้าที่เกี่ยวข้องตามลักษณะงานได้ 6 ด้าน
ดังนี้
Ø ผู้ออกแบบและวิเคราะห์ระบบ ( System Analysis Design ) โดยจะรวบรวมจ้อเท็จจริงเกี่ยวกับภาพงานและความต้องการของผู้ใช้ เพื่อนำมาทำการวิเคราะห์และออกแบบภาพใหม่ หรือปรับปรุงคุณภาพงานเดิมมีความรู้เกี่ยวกับระบบคอมพิวเตอร์ และพื้นฐานการเขียนโปรแกรม และควรจะเป็นผู้มีความคิดริเริ่มสร้างสรรค์มีมนุษย์สัมพันธ์ที่ดี
Ø โปรแกรมเมอร์ ( Programming ) ได้แก่บุคคลที่ทำหน้าที่เขียนโปรแกรมประยุกต์ (Application Program )
Ø ผู้บริหารฐานข้อมูล ( Database Administrator :DBA ) สำหรับระบบหรือองค์การขนาดใหญ่ ซึ่งมีการจัดการข้อมูลที่สลับซับซ้อนจะต้องมี DBA เป็นผู้บริหารควบคุม
Ø ผู้ปฏิบัติการ (Operator ) สำหรับระบบขนาดใหญ่ เช่น เมนเฟรม จะต้องมีเจ้าหน้าที่คอมพิวเตอร์ที่คอยปิดและเปิดเครื่อง และเฝ้าดูจอภาพเมื่อมีปัญหาซึ่งอาจเกิดขัดข้อง จะต้องแจ้ง System Programming ซึ่งเป็นผู้ดูแลตรวจสอบแก้ไขดปรแกรมควบคุมเครื่องอีกทีหนึ่ง
Ø ผู้ใช้ (User ) เป็นผู้ใช้ระบบคอมพิวเตอร์ ซึ่งจะเป็นผู้ปฏิบัติหรือกำหนดความต้องการในการใช้ระบบคอมพิวเตอร์ทำงานอะไรได้บ้าง
Ø ผู้บริหาร ( Manager ) เป็นผู้ที่มีความหมายต่อความสำเร็จหรือล้มเหลวของการนำระบบคอมพิวเตอร์เข้ามาใช้งานเป็นอย่างมาก
1.2.4 ข้อมูล ( Data )
ข้อมูลเป็นองค์ประกอบสำคัญอย่างหนึ่งในระบบคอมพิวเตอร์เพราะเป็นสิ่งที่ต้องบันทึกลงไปในคอมพิวเตอร์พร้อมกับโปรแกรมที่นักคอมพิวเตอร์ได้เขียนไปเพื่อผลิตผลลัพธ์ที่ต้องการออกมา ดังข้อมูลต้องมีความถูกต้องข้อมูลที่จะนำเข้ามาจะมีหน่วยที่เล็กที่สุดได้แก่ ตัวอักขระ ( Character ) ซึ่งจะประกอบไปด้วยตัวอักษร ตัวเลข และสัญลักษณ์ต่างๆ เมื่อนำตัวอักขระเหล่า
นี้มาประกอบกัน จะทำให้ได้หน่วยข้อมูลที่ใหญ่ขึ้น คือ ฟิลด์ ( Field ) และการนำฟิลด์หลายๆ ฟิลด์มาประกอบกันจะเป็น เรกคอร์ด ( Record ) และถ้านำหลายๆ เรกคอร์ดมาประกอบกันจะเป็นไฟล์ ( File ) และหากนำไฟล์หลายๆ ไฟล์มารวมกันในลักษณะที่มีความสัมพันธ์กันในแต่ละไฟล์ด้วยจะกลายเป็นฐานข้อมูล ( Database )
1.2.5 กระบวนการทำงาน ( Procedure )
องค์ประกอบด้านนี้หมายถึงกระบวนการทำงานเพื่อให้ได้ผลลัพธ์ตามต้องการ ในการทำงานกับคอมพิวเตอร์ผู้ใช้จำเป็นต้องทราบขั้นตอนการทำงานเพื่อให้ได้งานที่ถูกต้องและมีประสิทธิภาพ ซึ่งอาจจะมีขั้นตอนสลับซับซ้อนหลายขั้นตอน ดังนั้นจึงมีความจำเป็นต้องมีคู่มือปฏิบัติงาน เช่น คู่มือผู้ใช้ ( user manual ) หรือคู่มือผู้ดูแลระบบ ( operation manual ) เป็นต้น
1.3 ระบบปฏิบัติการ
จากองค์ประกอบของระบบคอมพิวเตอร์จะเห็นว่าในส่วนของซอฟต์แวร์จะมีส่วนย่อยที่เรียกว่าระบบปฏิบัติการซึ่มีความจำเป็นสำหรับเครื่องคอมพิวเตอร์ เนื่องจากระบบปฏิบัติการนี้จะช่วยควบคุมอุปกรณ์ตลอดจนจัดสรรทรัพยากรเพื่อให้ระบบทำงานอย่างต่อเนื่องและมีประสิทธิภาพ สำหรับคอมพิวเตอร์ในยุคแรกๆ การใช้งานค่อนข้างจะยุ่งยาก เนื่องจากผู้ใช้งานจำเป็นต้องเรียนรู้ภาษาเครื่อง ( Machine language ) เพื่อสั่งให้เครื่องทำงาน เช่น
111001 แทนการบวก
100100 แทนการเก็บค่าลงในหน่วยความจำ
ซึ่งลักษณะคำสั่งจะแทนด้วยเลขฐาน 2 จำนวน 1 ชุด ทำให้จดจำได้ยาก ถึงแม้หลังจากนั้นจะมีผู้คิดค้นรูปแบบภาษาเพื่อให้ใช้งานสะดวกยิ่งขึ้นที่เรียกว่า “ ภาษาแอสเซ็มบลี ” ( Assembly language ) โดยมีตัวแปลคำสั่งจากแอสเซ็มบลีให้เป็นภาษาเครื่องที่เรียกว่า “ แอสเซ็มเบลอร์ ” ( assembler ) ตัวอย่างของภาษา เช่น
ภาษาแอสเซ็มบลี ภาษาเครื่อง ความหมาย
ADD 111001 การบวก
MOVE 010110 ย้ายค่า
ถึงแม้จะสื่อความหมายได้ดีกว่าภาษาเครื่อง แต่ก็ยังถือว่ายากในการทำความเข้าใจ และยังมีความจำเป็นของการทราบโครงสร้างการทำงานของเครื่องอีกด้วยเราจึงเรียกภาษาแอสเซ็มบลีว่าเป็นภาษาระดับต่ำ ( Low level language ) ต่อมาได้มีการพัฒนารูปแบบของภาษาขึ้นมาใหม่อีกมากมายโดยที่ ผู้เขียนโปรแกรมไม่จำเป็นต้องทราบโครงสร้างและการทำงานของเครื่อง รูปแบบของภาษาใหม่นี้เรียกว่า “ ภาษาระดับสูง ” ( High level language ) เช่น ภาษาโคบอล ( COBOL ) , เบสิก ( BASIC ) หรือปาสคาล ( PASCAL ) เป็นต้น โดยโปรแกรมภาษาระดับสูงเหล่านี้จะยังมีตัวแปลภาษาที่เรียกว่า “ อินเทอร์พรีเตอร์ ” ( Interpreter ) หรือ “ คอมไพเลอร์ ” ( Compliler ) เพื่อเปลี่ยนภาษารูปแบบต่างๆ ให้เป็นภาษาของเครื่องนั้นเอง
จากที่กล่าวมาจะเห็นได้ว่าโปรแกรมเมอร์ในสมัยก่อนจำเป็นต้องทราบโครงสร้าง และการทำงานของเครื่องเป้นอย่างดี จึงจะสามารถเขียนโปรแกรมเพื่อควบคุมการทำงานของเครื่องได้ ในความเป็นจริงได้มีการพัฒนาโปรแกรมอีกประเภทหนึ่งควบคู่กันมา โดยโปรแกรมแบบนี้จะควบคุมการทำงานของคอมพิวเตอร์ในเบื่องต้นทัทีที่บูตเครื่องขึ้นมา เช่น บริหารจัดสรรทรัพยากรที่มีในระบบตลอดจนคอยควบคุมอุปกรณ์เพื่อลดข้อผิดพลาดที่อาจจะเกิดได้ในขณะทำงาน โปรแกรมที่กล่าวมานี้เรียกว่า “ ระบบปฏิบัติการ ” ( Operating System )
ถึงแม้จะในทางศาสตร์ด้านคอมพิวเตอร์จะไม่มีใครให้นิยามของระบบปฏิบัติการที่ชัดเจน แต่ทั่วไปแล้ว ระบบปฏิบัติการ หมายถึง ระบบที่อาจจะเป็นฮาร์ดแวร์ หรือซอฟต์แวร์ที่ช่วยในการจัดระเบียบในการอินเทอร์เฟซระหว่างผู้ใช้กับเครื่อง ตลอดจนควบคุมการทำงานของอุปกรณ์ และการจัดสรรทรัพยากรในระบบให้ใช้งานร่วมกันอย่างมีประสิทธิภาพ
4. หน้าที่ของระบบปฏิบัติการ
จากนิยามของระบบปฏิบัติการ ทำให้ทราบว่าระบบปฏิบัติการเป็นส่วนที่ช่วยเหลือผู้ใช้งานในการควบคุม โดยที่คุณไม่จำเป็นต้องทราบโครงสร้าง หรือกลไกการทำงานของเครื่องเลย เราสามารถแบ่งหน้าที่หลักของระบบปฏิบัติการได้ 3 หน้าที่หลัก ดังนี้
1.4.1 การติดต่อกับผู้ใช้ หรือยูเซอร์อินเทอร์เฟซ ( User Interface )
คุณสามารถติดต่อหรือสั่งการให้คอมพิวเตอร์ทำงานตามที่คุณต้องการได้ โดยการสั่งผ่านคีย์บอร์ดทางการพิมพ์ ( เช่น ใช้คำสั่ง copy ที่ดอสพรอมพ์ในกรณีที่ใช้ดอส ) หรือใช้เมาส์ลากแล้ปล่อยคำสั่ง หรือไอคอนต่างๆ ( กรณีที่ใช้ Windows ) ระบบปฏิบัติการจึงเป็นตัวกลางในการรับคำสั่งจากคุณ หลังจากนั้นระบบปฏิบัติการจะเรียกคำสั่งผ่าน System Call เพื่อปฏิบัติสิ่งที่คุณต้องการ
1.4.2 ควบคุมดูแลอุปกรณ์ ( Control Devices )
ผู้ใช้งานคอมพิวเตอร์ อาจจะไม่มีความจำเป็นต้องทราบกลไกการทำงานของเครื่องคอมพิวเตอร์เนื่องจากระบบปฏิบัติการจะทำหน้าที่ควบคุมการทำงานของอุปกรณ์ต่างๆ เพื่อให้ทำงานเป็นระบบ และสอดคล้องโดยไม่เกิดข้อผิดพลาด ระบบปฏิบัติการจะประกอบด้วยรูทีน หรือโปรแกรมย่อยมากมายที่ควบคุมอุปกรณ์แต่ละชนิดที่แตกต่างกันไปเช่น รูทีนควบคุมดิสก์ , รูทีนควบคุมจอภาพ เป็นต้น รูทีนเหล่านี้คุณสามารถเรียกใช้ได้ทันทีผ่านทาง System Call โดยไม่จำเป็นต้องเขียนโปรแกรมเพื่อควบคุมเอง ทำให้ประหยัดเวลาและการควบคุมเป็นไปตามมาตรฐานเดียวกัน
1.4.3 จัดสรรทรัพยากร หรือรีซอร์สระบบ ( Resource Management )
ทรัพยากรหรือรีซอร์ส ( Resource ) คือสิ่งที่ถูกใช้ไปเพื่อให้โปรแกรมดำเนินไปอย่างต่อเนื่อง ตัวอย่างของทรัพยากรคือ เช่น ซีพียู , หน่วยความจำ ,ดิสก์ หรือข้อมูล เป็นต้น สาเหตุที่ต้องมีการจัดสรรทรัพยากร ก็อาจเนื่องมาจาก
Ø ทรัพยากรของระบบมีจำกัด โปรแกรมจะใช้ทรัพยากรมากบ้างน้อยบ้าง แต่เนื่องจากทรัพยากรบางอย่างมีจำกัด ทำให้เมื่อมีการเรียกใช้อาจจะทำให้ทรัพยากรนั้นหมดได้ เช่น หน่วยความจำ ในปัจจุบันเมื่อมีการใช้โปรแกรมทีละหลายๆ โปรแกรม ทำให้หน่วยความจำถูกนำมาใช้จนหมด
Ø ทรัพยากรมีหลายประเภท เนื่องจากในแต่ละโปรเซสหรือโปรแกรมอาจจะมีความต้องการเพียงประเภทเดียบ้าง หลายประเภทบ้าง ระบบปฏิบัติการจะทำหน้าที่จัดสรรทรัพยากรเหล่านี้ตามความความเหมาะสม และความต้องการของโปรเซส
ดังนั้นจึงเป็นหน้าที่ของระบบประฏิบัติการที่ต้องจัดสรรทรัพยากรที่มีอยู่อย่างจำกัด และหลายประเภทให้เกิดประโยชน์สูงสุด เพื่อให้ระบบทำงานได้อย่างมีประสิทธิภาพ รวดเร็ว และได้งานเพิ่มมากขึ้น
5. วิวัฒนาการของคอมพิวเตอร์และระบบปฏิบัติการ
มนุษย์มีความจำเป็นต้องคิดและประมวลผลมาตั้งแต่อดีต เริ่มตั้งแต่นับนิ้วมือต่อมาก็ใช้เศษไม้ จากนั้นก็มีวิวัฒนาการเป็นลูกคิด (Abacus) ซึ้งถือเป็นเครื่องมือนับชิ้นแรกของโลกหลังจากนั้นก็มีการสร้างเครื่องเพิ่มเติมมากมาย เช่นในปี 1617 john Napier สร้างเครื่องคิดเลขที่เรียกว่า ‘’Nepier’s Bones”ส่วน Henrygs คิดค้นแบบคำนวณตารางลอการิทึมและ Edmund Gunter ได้นำค่าลอกกาลิทึม ของ Briggs มาแกะลงบนไม้วัด ในปี 1700 William Aughtred ได้นำความคิดของ Gunter มาสร้าง Slide Ruleซึ้งถือว่าเป็นคอมพิวเตอร์ลอกเครื่องแรกของโลก เป็นต้น ส่วนคอมพิวเตอร์แบบดิจิตอลเครื่องแรกออกแบบโดย นักคณิตศาสตร์ชาวอังกฤษที่ชื่อ Charles Babbage
( ค.ศ 1792 – 1871 ) โดยเขาต้องการสร้างเครื่องมือที่ชื่อ“ อนาไลติคัล เอ็นจิน“
ซึ่งมีส่วนประกอบเหมือนกับคอมพิวเตอร์ในปัจจุบัน คือมีหน่วยรับส่งข้อมูล หน่วยควบคุม หน่วยความจำ โดยจะใช้บัตรเจาะรูเป็นส่วนในการรับและแสดงผล แต่เครื่องมือดังกล่าวไม่เคยทำงานได้ถูกต้องแม่นยำเลย เขาคิดว่าเครื่องมือนี้ เขาคิดว่าเครื่องมือนี้จำเป็นต้องใช้ซอฟต์แวร์ เขาจึงได้ว่าจ้าง Ada Lovelace เป็นโปรแกรมเมอร์คนแรกของโลก ซึ่งชื่อนี้เองซึ่งเป็นภาษาสำหรับการเขียนโปรแกรมที่ชื่อ Ada ในเวลาต่อมา หลังจากนั้นก็ได้มีการพัฒนาคอมพิวเตอร์และระบบปฏิบัติการเรื่อยมาแต่ไม่ประสบความสำเร็จอีกเลย หลังงสงครามโลกครั้งที่ 2 จึงเริ่มเห็นรูปร่างของคอมพิวเตอร์มากขึ้น
1.5.1 ยุคของคอมพิวเตอร์
คอมพิวเตอร์ที่เห็นในปัจจุบันมีวิวัฒนาการที่น่าสนใจโดยแบ่งเป็นยุคต่าง ๆ ไว้ 4 ยุค ดังนี้
= ยุคแรก ( ค.ศ 1945 –1995 ) เป็นยุคคอมพิวเตอร์พื้นฐาน ที่เป็นสูญญากาศที่ใช้ยูทิลิตี้แบบธรรมดามีการเรียงข้อมูลธรรมดา โดยใช้ Card I / O ใน
การรับ – ส่งข้อมูล ยังไม่มีระบบปฏิบัติการ เช่น เครื่อง ENIAC ( Electronic Numerical Integrator and Calculator)
=ยุคสอง(ค.ศ.1964-1964) เป็นทรานซิสเตอร์ที่ช่วยให้คอมพิวเตอร์น่าเชื่อถือมากขึ้นจนได้มีการผลิตมาขายให้กับลูกค้า เครื่องที่ว่านี้ก็คือเมนเฟรมคอมพิวเตอร์นั่นเอง
=ยุคที่สาม (ค.ศ.1965-1980) เริ่มมีการผลิต ic ทำให้คอมพิวเตอร์มีขนาดเล็กลงและมีการพัฒนาภาษาขึ้นสูง
=ยุคที่สี่ (ค.ศ.1980-ปัจจุบัน) มีความซับซ้อนมากขึ้นใช้ระบบปฏิบัติการแบบ multi-mode .ใช้คุณลักษณะเวอร์ชวลแมชชีน มีการสื่อสารข้อมูล มีการสนับสนุนระบบการจัดการฐานข้อมูล
1.6ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ตั้งแต่อดีตจนถึงปัจจุบันสามารถแบ่งตามคุณสมบัติได้ดังนี้
1.6.1 ระบบที่ไม่มีระบบปฏิบัติการ
ระบบคอมพิวเตอร์ในยุคแรกๆ มีเครื่องเปล่าๆ ไม่มีระบบปฏิบัติการผู้ใช้จะต้องเขียนโปรแกรมทั้งหมด ตั้งแต่ควบคุมเครื่อง เตรียมข้อมูล ทำงานตามโปรแกรม และทำการตรวจสอบข้อผิดพลาด
1.6.2 ระบบงานเเบ็ตช์
ต่อมาเริ่มมีการพัฒนาการนำดีไวซ์สำหรับการนำข้อมูลเข้าระบบแล้วนำข้อมูลออกจากระบบมาใชังาน การ์ด เทป ส่วนดีไวซ์ที่นำข้อมูลจากระบบเช่นเครื่องพิมพ์ เทป และการ์ดเจาะรูการทำงานลักษณะนี้ไม่ได้ติดต่อโดยตรงกับระบบ
การทำงานในระบบแบ็ตช์มีจุดด้อยตรงที่ความเร็วของซีพียู ของอุปกรณ์รับส่งข้อมูล หรืออินพุต
1.6.3 การทำงานแบบบัฟเฟอร์
เป็นการขยายขีดความสามารถการทำงานของระบบ กล่าวคือระบบนี้จะเป็นหน่วยรับ-แสดงผลไปทำงานไปพร้อมๆ กับการประมวลผลของซีพียู โดยในขณะที่มีการประมวลผลคำสั่งที่โหลดเข้าของซีพียูนั้น จะมีการโหลดข้อมูลต่อไปเข้ามาเก็บไว้ในหน่วยความคำก่อนเมื่อถึงเวลาประมวลผลซีพียูจะทำงานทันที
ตั้งแต่แรกที่มีการใช้คอมพิวเตอร์ล่วงมาจนถึงปัจจุบัน ความเลื่อมล้ำของเวลาจะเป็นในด้านของการใช้ซีพียูต่ำ
1.6.4 ระบบสพูลลิ่ง
เมื่อมีการคิดค้นเทคโนโลยีเทปแม่เหล็กมาใช้งานร่วมกับเครื่องอ่านบัตรทำให้มีการประสิทธิภาพของซีพียูมากขึ้น แต่ก็เพียงเล็กน้อยเท่านั้นโดยจะจำลองข้อมูลบัตรลงบนเทปเมื่อโปรแกรมต้องการอ่านบัตรระบบปฏิบัติการจะเปลี่ยนไปอ่านที่เทปแทน จนเมื่อมีการคิดค้นดิสก์ หรือจานแม่เหล็กขึ้นมาใช้งานทำให้มีการหันมาใช้ดิกส์กันมากขึ้น
1.7.1.1 การจัดการโปรเซอร์
ซีพียูทำหน้าที่เอ็กซิคิวต์คำสั่งที่อยู่ในโปรแกรม โปรแกรมที่เอ็กซิคิวต์เป็นโปรเซสแต่เป็นเพียงการกำหนดเบื้องต้นที่สามารถขยานเพิ่มเติมในอนาคต
โปรเซสเป็นหน่วยหนึ่งของระบบ โดยปกติระบบจะประกอบด้วยโปรเซสเป็นจำนวนมากบ้างก็เป็นเซสของระบบปฏิบัติการ(ที่เอ็กซิคิวต์ของระบบ) ที่เหลือก็เป็นโปรเซสของผู้ใช้ระบบปฏิบัติการมีหน้าที่ในกิจกรรมที่เกี่ยวกับการจัดการโปรเซสดังนี้
<การสร้างและลบทั้งโปรเซสของระบบและของผู้ใช้
<การหยุดและทำโปรเซสต่อไป
<การจัดเตรียมกลไกรสำหรับการซิลโครไนซ์โปรเซส
<การเตรียมกลไกรสำหรับการติ่ดต่อสื่อสารโปรเซส
<การจัดเตรีมกลไกรการแก้ไข deadiock
1.7.1.2 การจัดการหน่วยความจำ
หน่วยความจำเป็นส่วนสำคัญและเป็นศูนย์กลางของการกระทำของระบบปฏิบัติการยุคใหม่ หน่วยความจำเป็นอาร์เรย์ของคำหรือไบต์ โดยที่แต่ละคำหรือไบต์จะมีแอ็ดเดรสที่แน่นนอนเป็นของตัวเองหน่วยความจำเป็นที่เก็บข้อมูลร่วมกันของซีพียูและดีไวซ์สำหรับอินพุตและเอาต์พุต เพื่อให้การดึงขัอมูลใช้อย่างรวดเร็ว
สำหรับโปรแกรมที่จะเอ็กซิคิวต์จะต้องแมพไปยังแอ็ดเดรสและโหลดลงในหน่วยความจำ ในขณะที่แรมกำลังเอ็กซิคิวต์อยู่นั้นซีพียูจะทำการดึงคำสั่งในโปรแกรมและข้อมูลจากหน่วยความจำโดยการสร้างแอ็ดเดรสเหล่านี้ จนกระทั่งเมื่อการเอ็กซิคิวต์สิ้นสุดลงเนื้อที่ของหน่วยความจำตรงส่วนนั้นจะว่ารอการโหลดคำสวั่งต่อไป ในการใช้ประโยชน์ของยูพีซีและการตอบสนองของระบบคอมพิวเตอร์กับผู้ใช้ เราต้องเก็บโปรแกรมไว้ในหน่วยความจำ การจัดการหน่วยความจำมีหลายรูปแบบที่แตกต่างกันซึ่งมีผลโดยตรงกับการจัดการหน่วยความจำและผลของอัลกอริทึมที่ต่างกันขึ้นอยู่กับสภาวะเฉพาะแบบ การเลือกรูปแบบการจัดการหน่วยความจำสสำหรับระบบที่เฉพาะเจาะจงมีหลายปัจจัย โดยเฉพาะการออกแบบฮาร์ดแวร์ของระบบ แต่ละอัลกอริทึมต้องการการสนับสนุนฮาร์ดแวร์ที่ต่างกันออกไป ระบบปฏิบัติการมีหน้าที่รับผิดชอบในกิจกรรมที่เกี่ยวกับการจัดการหน่วยความจำดังนี้
u ติดตามการใช้งานหน่วยความจำส่วนต่าง ๆ ว่าทำอะไร และของใคร
u ตัดสินใจว่าโปรเซสใดจะโหลดเข้าสู่หน่วยความจำเมื่อมีหน่วยความจำว่าง
u จัดสรรคการใช้หน่วยความจำเมื่อจำเป็นต้องใช้หน่วยความจำ
1.7.1.3การจัดการไฟล์ (File Managerent)
การจัดการไฟล์เป็นหนึ่งในคอมโพเนนต์ของระบบปฏิบัติการที่เห็นได้ชัดเจน
คอมพิวเตอร์สามารถจัดเก็บในสื่อที่แตกต่างกัน ไม่ว่าจะเป็นเทปแม่เหล็ก , ดิสก์ , ออพดิคัลดิสก์ สื่อแต่ละชนิดที่มีคุณสมบัติการจัดการทางกายภาพเฉพาะแบบ สื่อแต่ละชนิดจะถูกควบคุมด้วยดีไวซ์ เช่น ดิวก์ไดรฟ์ , หรือเทปไดร์ ที่มีคุณสมบัติเฉพาะแบบเช่นกัน คุณสมบัติเหล่านี้รวมถึง ความเร็ว ความจุ อัตราการโอนถ่ายข้อมูล และวิธีการแอ็กเซสข้อมูล
เพื่อความสะดวกในาการใช้งานระบบคอมพิวเตอร์นั้น ระบบปฏิบัติการได้กำหนดชื่อทางลอจิกว่า ไฟล์ เพื่อเป็นชื่อแทนกลุ่มข้อมูลที่จัดเก็บในสื่อทางการยภาพ โดยที่ระบบปฏบัติการจะแมพไฟล์ไปยังสื่อทางกายภาพและเอ็กเซสไฟล์ผ่านทางดีไวซ์ที่จัดเก็บข้อมูลนั้น ทำให้คุณใช้ชื่อไฟล์เพื่อกำหนดสิ่งที่คุณต้องการดูข้อมูลได้ทันทีเป็นชุดของข้อมูลที่สำพันธ์กันซึ่งถูกกำหนดชื่อโดยผู้สร้างไฟล์นั้น โดยปกติแล้ว ไฟล์จะแสดงโปรแกรมและข้อมูล ไฟล์ข้อมูลอาจเป็นตัวเลข ตัวอักษร หรือทั้งตัวเลขและตัวอักษร ไฟล์ประกอบไปด้วยขุดของบิต ไบต์ หรือเรคอร์ตามที่ผู้สร้างกำหนด
แนวความคิดในการจัดการไฟล์ของระบบปฏิบัติการเป็นการจัดการสื่อที่ใช้ในการาจัดเก็บ เช่น เทป ดิสก์ และดีไวซ์ที่ควบคุมอุปกรณ์เหล่านี้ นอกจากนี้ไฟล์ยังจัดเก็บในไดเรกทอรี(ปัจจุบันเรียกว่าโฟลเดอร์) เพื่อใช้ได้ง่ายขึ้น สิ่งสุดท้ายเมื่อมีการใช้ไฟล์ได้หลาย ๆ คน อาจจะต้องมีการควบคุมผู้ที่สามารถใช้ไฟล์อีกด้วย ระบบปฏิบัติการมีหน้าที่รับผิดชอบในกิจกรรมที่เกี่ยวกับการจัดการไฟล์ดังนี้
u สร้างและการลบไฟล์
u สร้างและการลบไดเรกทอรี
u สนับสนุนการจัดการไฟล์ในรูปแบบเดิม ๆ ที่ผ่านมา
u แมพไฟล์ไปยังสิ่งที่ใช้จัดเก็บข้อมูล
u แบ็คอัพหรือสร้างไฟล์สำรอง
1.7.1.4การจัดการอินพุต/เอาท์พุต(I/O System Management)
การออกแบบระบบปฏิบัติการมีจุดมุ่งหมายข้อหนึ่งเพื่อควบคุมดีไวซ์ที่เชื่อมต่ออยู่กับระบบ
คอมพิวเตอร์ทั้งนี้เนื่องจากดีไวซ์เหล่านั้นมีความหลากหลายในเรื่องฟังก์ชันและความเร็ว (ลองพิจารณาที่เมาส์ ฮาร์ดิสก์ หรือซีดีรอม) การควบคุมจำเป็นต้องใช้วิธีการที่หลากหลายเช่นกัน วิธีควบคุมเหล่านี้เรียกว่า ระบบย่อยอินพุต/เอาท์พุต ซึ่งเป็นส่วนหนึ่งของ kernel ที่แยกจากการจัดการหน่วยความจำที่ซับซ้อนในระบบ
เทคโนโลยทางด้านดีไวซ์ที่แสดงให้เห็นข้อที่แย้งกัน 2 ด้าน ด้านแรกเทคโนโลยีทางด้านดีไวซ์ทำให้เราเห็นมาตรฐานที่มีการพัฒนาอินเทอร์เฟซของซอฟแวร์และฮาร์ดแวร์ที่เพิ่มมากขึ้น การพัฒนาทางด้านนี้ทำให้เรามีส่วนร่วมในการปรับปรุงเพื่อพัฒนาดีไวซ์เพื่อนำมาใช้งานได้มากขึ้น ส่วนทางด้านอื่นเราได้เห็นดีไวซ์ที่มความหลากหลายในการเลือกใบช้ดีไวซ์ใหม่บางชิ้นก็ไม่เหมือนกับดีไวซ์เดิมที่มีอยู่ เป็นสิ่งท้าทายที่ทำให้เราสามารถเลือกดีไวซ์ที่ต่างประเภทกันเพื่อใช้ระบบคอมพิวเตอร์และระบบปฏิบัติการเดีบวกัน ไม่ว่าจะเป็นอินพุต/เอาท์พุตพื้นฐานเช่นพอร์ต บัส และดีไวซ์คอนโทรเลอร์ หรืออินพุต/เอาพุตที่สร้างใหม่ เช่น พอร์ต USB ซีดีรอม หรือดีวีดีรอม เป็นต้น ไม่ว่าจะมีดีไวซ์ที่หลากหลายเพียงใด ระบบปฏิบัติการมี kernel ที่จัดการกับดีไวซ์เหล่านี้ได้เป็นอย่างดี kernel ของระบบปฏิบัติการก็คือโครงสร้างที่ใช้โมดูล ดีไวซ์ไดร์เสอร์ ได้แสดงถึงรูปแบบเฉพาะในการอินเทอร์เฟซระหว่างดีไวซ์กับระบบย่อยอินพุต/เอาท์พุต ในขณะที่ระบบจะมีการอินเทอร์เฟซมาตรฐานระหว่างแอปพลิเคชันกับระบบปฏิบัติการอยู่นั่นอง
u การจัดการหน่วยความจำที่รวมทั้งบัพเพอร์ แคช และสพูล
u อินเทอร์เฟซพื้นฐานของดีไวซ์ไดร์เวอร์
u ไดร์เวอร์สำหรับดีไวซ์ที่มีรูปแบบเฉพาะ
1.7.1.5การจัดการสื่อจัดเก็บข้อมูล (Storage Management)
เนื่องจากวัตถุประสงค์หลักของระบบคอมพิวเตอร์คือการเอ็กซิคิวต์โปรแกรม ในระหว่างการเอ็กซิคิวต์โปรแกรมรวมทั้งข้อมูลเหล่านี้จะใช้ต้องอยู่บนหน่วยความจำหลัก(ที่เรียกว่า primary storage) แต่เนื่องจากหน่วยความจำหลักเหล่านี้มีขนาดเล็ก(ปัจจุบันอาจจะใช้ 128 หรือ 256 MB) และเนื่องจากระบบคอมพิวเตอร์จำเป็นต้องมีไฟฟ้าหล่อเลี้ยง ถ้ไม่มีไฟข้อมูลบนหย่วยความจำหลักก็จะสูญหายไปด้วย สิ่งนี้เองที่ระบบคอมพิวเตอร์จำเป็นต้องมีการจัดสื่อข้อมูล เพื่อถ่ายทอดข้อมูลจากหน่วยความจำหลักมาจัดเก็บไว้ก่อนเพื่อสะดวกในการใช้งานภายหลัง ปัจจุบันระบบคอมพิวเตอร์ทั่วไปจะใช้ดิสก์เป็นสื่อในการจัดเก็บข้อมูลทั้งโปรแกรมและข้อมูล โปรแกรมส่วนใหญ่ทั้งที่เป็นคอมไพล์ ตัวเอดิเตอร์ ตัวแปรภาษา และอื่นๆ จะถูกโหลดขึ้นสู่หน่วยความจำหลักเสียก่อน เพื่อทำงานกับหน่วยความจำโดยตรง และมีการจัดเก็บข้อมูลเป็นระยะเมื่อคุณสั่งให้จัดเก็บ ข้อมูลบนดิสก์เป็นหน่วยความจำเสมือน(Virtual Memory) ตลอดเวลาที่มีการใช้งาน และจะคืนสภาพทั้งหมดให้กับระบบก่อนการชัดดาน์ระบบ ดังนั้นการจัดการสื่อจัดเก็บข้อมูล โดยเฉพาะดิสก์จึงมีความสำคัญและจำเป็นสำหรับระบบคอมพิวเตอร์ในปัจจุบัน สำหรับการจัดการสื่อจัดเก็บข้อมูลที่เป็นความรับผิดชอบของระบบปฏิบัติการดังนี้
u การจัดเนื้อที่ว่างบนดิสก์
u จัดการตำแหน่งจัดเก็บข้อมูล ที่อาจจะกระจัดกระจาย แต่เมื่อมีการใชช้งานได้เร็ว โดย จะมีพอยเตอร์ชี้ไปยังกลุ่มข้อมูลเดียวกัน
u การจัดแบ่งเวลาการใช้ดิวก์
1.7.1.6เน็ตเวิร์ค (Networking)
ปัจจุบันเน็ตเวิร์คหรือเครือข่ายเข้ามามรบทบาทการใช้งานคอมพิวเตอร์ในชีวิตประจำวั
มากขึ้น เนื่องจากการเชื่อมต่อระบบทำงานได้ง่ายและใช้งานได้สะดวก รวมถึงประสิทธิภาพของอุปกรณ์มากขึ้น ทำให้ระบบปฏิบัติการมีหน้าที่เพิ่มเติมในการจัดการทางด้านเน็ตเวิร์คโดยปริยาย โดยเฉพาะระบบแบบกระจาย(distributed system) ในการทำงานของโปรเซสที่ไม่มีการแชร์หน่วยความจำ ดีไวซ์ต่าง ๆ หรือแม้แต่สัณญาณนาฬิกา(ที่ใช้ดึงข้อมูล หรือเฟซคำสั่งในโปรแกรม) โดยที่แต่ละโปรเซสเซอร์จะมีหน่วยควาามจำ และสัณญาณนาฬิกาเป็นของตัวเองมีการติดต่อระหว่างโปรเซส ซอร์ผ่านทางสายสื่อสาร โดยใช้ระบบบัสที่มีความเร็วสูง หรืออาจจะใช้คู่สายโทรศัพท์ UTP ก็ได้ โปรเซสเซอร์ในระบบแบบกระจายนี้จะมีขนาด ความเร็ว และฟังก์ชันที่ต่างกันออกไป อาจจะเป็นโปรเซสเซอร์ขนาดเล็ด ให้เป็นเวิร์คสเตชัน มินิคอมพิวเตอร์ หรือเป็นระบบใหญ่ ๆ ก็ได้
โปรเซสเซอร์ในระบบจะเชื่อมต่อผ่านเน็ตเวิร์คซึ่งสามารถปรับแต่ได้หลายแบบ การออกปบบเน็ตต้องคำนึงถึงเส้นทางการเดินของข้อมูล จุดเด่นจุดด้อยในการเชื่อมต่อแบบนั้น ข้อผิดพลาดที่อาจจะเกิดขึ้น รวมไปถึงระบบเพื่อการป้องกันและรักษาความปลอดภัยจากผู้รุกรานภายนอก เป็นต้น ในระบบแบบกระจายในทางกายภาพจะเป็นการแยกส่วนย่อย ๆ แต่การเชื่อมต่อผ่านทางเวิร์คสเตชันต่าง ๆ สามารถใช้รีซอร์สที่แชร์ได้อย่างมีประสิทธิภาพทั้งในด้านความเร็ว ความถูกต้อง ความเชื่อถือ รวมถึงการประหยัดในการาจักหารีศอร์สเพิ่มเติมอีกด้วย
1.7.1.7ระบบการป้องกัน (Protection System)
ในระบบที่มีผู้ใช้งานหลายคนและระบบที่ยอมให้มีการเอ็กซิคิวต์ได้พร้อม ๆ กันหลาย ๆ
โปรเซส ระบบปฏิบัติการจำเป็นต้องมีการป้องกันในกิจกรรมหรือโปรเซสที่อาจจะเกิดข้อผิดพลาดได้ เช่น ระบบที่มีการเบิกถอนในสาขาต่าง ๆ พร้อมกัน เป็นต้น จุดประสงค์หลักของการนี้ต้องมีกลไกที่ทำให้ผู้ใช้มั่นใจได้ว่า ทั้งไฟล์ หน่วยความจำ ซีพียู และรีซอร์สอื่น ๆ จะมีโปรเซสเกิดขึ้นได้เฉพาะคนที่ได้รับอนุญาตจากระบบเท่านั้น ยกตัวอย่าง เช่น กำหนดแอ็ดเดรสให้กับหน่วยความจำเป็นต้องมั่นใจได้ว่าโปรเซสจะต้องเอ็กซิคิวต์ภายใต้ตำแหน่งแอ็ดเดรสที่กำหนดให้เท่านั้น หรือแม้แต่การโปรเซสจำเป็นต้องได้รับการควบคุมจากซีพียูจะไม่มีปล่อยเป็นอิสระเด็ดขาดเรื่องของการกำหนดสิทธิ์ในการใช้ดีไวซ์ต่า ๆ ถ้าผู้ใช้ไม่ได้รับการกำหนดสิทธิ์ระบบก็จะมีการป้องกันดีไวซ์
คำว่าป้องกัน หมายถึงกลไกที่ใช้ในการควบคุมการเอ็กเซสโปรแกรม การโปรเซสและควบคุมผู้ใช้จากดีไวซ์ที่กำหนดโดยระบบคอมพิวเตอร์ กลไกนี้จะต้องกำหนดคุณสมบัติของการควบคุมและการบังคับอีกด้วย การป้องกันนี้สามารถเพิ่มความน่าเชื่อถือได้โดยการตรวจจับข้อผิดพลาดนั้นด้วยระบบย่อย ๆ อื่นที่ดีกว่า รีซอร์สที่ไม่ได้มีการป้องกันจะไม่สามารถป้องกันการใช้งานจากผู้ใช้ที่ไม่ได้รับสิทธิ์ได้ ดังนั้นระบบป้องกันคือระบบที่ควบคุมการใช้งานจากผู้มีสิทธิ์ และไม่มีสิทธิ์
1.7.1.8 ระบบตัวแปลคำสั่ง (Command-Interpreter System)
เนื่องจากการเอ็กซิคิวต์โปรแกรมสำหรับโปรเซสเซอร์ต่าง ๆ เป็นการทำตามคำสั่งมราอยู่ในโปรแกรม การเอ็กซิคิวต์คำสั่งนั้นจะต้องมีตัวแปรคำสั่ง ซึ่งเป็นการอินเตอร์เฟซระหว่างผู้ใช้กับระบบปฏิบัติการ บางระบบปฏิบัติการจะมีตัวแปรคำสั่งอยู่ใน kernel เลย แต่ในบางระบบ เช่น DOS และUNIX จะมีโปรแกรมพิเศษที่รันเมื่องานเริ่มต้น หรือเมื่อผู้ใช้ริ่มล็อกเข้าระบบครั้งแรก โดยในคำสั่งส่วนใหญ่จะมีคอนโทรลสเตทเมนต์ ที่คอยส่งไปให้ระบบปฏิบัติการ เมื่อเริ่มงานใหม่ในแบบงานแบ็ตซ์ หรือเมื่อผู้ใช้ล็อกเข้าระบบ
ระบบปฏิบัติการมีพื้นที่ของ shell ที่ต่างกัน ผู้ใช้ส่วนมากจะชอบตัวแปรคำสั่งที่เข้าใจและปฏิบัติได้ง่าย เช่น รูปแบบของเมนู และการใช้เมาท์บน macintosh หรือ Microsoft Windows ที่ให้คุณย้ายพอยเตอร์ของเมาส์ไปมาบนจอภาพได้ และจะมีไอคอน(Icon) ซึ่งเป็นรูปภาพเล็ก ๆ ที่แทนโปรแกรม ไฟล์และฟังก์ชันของระบบ คุณอาจจะใช้เมาท์เลือกคำสั่งบนเมนู เลือกไฟล์ หรือไดเรกทอรี เอ็กซิคิวต์โปรแกรมก็ได้ ขึ้นอยู่ว่าเมาส์พอยเตอร์คลิกตำแหน่งใด การคลิกแบบใดนั่นเอง
1.7.2 เซอร์วิสของระบบปฏิบัติการ (Operating System Servicer)
ระบบปฏิบัติการได้เตรียมสภาพแวดล้อม และเซอร์วิสเพื่อการเอ็กซิคิวต์โปรแกรมไว้ให้กับผู้ใช้อยู่แล้วเซอร์วิสในแต่ละระบบปฏิบัติการย่อมมีความแตกต่างกันไป แต่ก็มีเซอร์วิสพื้นฐานที่น่าสนใจของระบบปฏิบัติการมีดังนี้
u การเอ็กซิคิวต์โปรแกรม เซอร์วิสนี้เป็นเซอร์วิสพื้นฐานที่ระบบจะต้องโหลดโปรแกรม และข้อมูลลงสู่หน่วยความจำก่อนการใช้งาน และจะสิ้นสุดการเอ็กซิคิวต์ได้ตามปกติ หรือถ้ามีข้อผิดพลาดเกิดขึ้นก็จะแสดงแมสเสจแจ้งเตือน
u การปฏิบัติกับอินพุต/เอาต์พุต ส่วนนี้เป็นการตอบสนองการเอ็กซิคิวต์โปรแกรมแล้ว ระบบอาจจะความต้องการติดติดต่อหรือต้องการใช้งานอินพุต/เอาต์พุต หรือถ้าต้องการใช้ดีไวซ์พิเศษก็จำเป็นต้องใช้ฟังก์ชันพิเศษ รวมไปถึงการป้องกันระบบ ทั้งนี้เนื่องจากผู้ใช้ไม่สามารถควบคุมดีไวซ์อยู่แล้ว ระบบปฏิบัติการจึงต้องมีฟังก์ชันเพื่อการควบคุมอินพุต/เอาต์พุตด้วย
u การจัดการกับระบบไฟล์ เซอค์วิสนี้สำคัญเป็นอย่างยิ่ง เนื่องจากการทำงานร่วมกับคอมพิวเตอร์และระบบปฏิบัติการคือได้ทำงานร่วมกันกับไฟล์นั่นเอง ดังนั้นระบบปฏิบัติการพื้นฐานจะต้องมีฟังชันที่จัดการกับระบบไฟล์ได้อย่างมีประสิทธิภาพทั้งการอ่านและการเขียนไฟล์รวมไปทั้งการสร้างไฟล์และการลบไฟล์อีกด้วย
u การติดต่อสื่อสาร เซอร์วิสนี้ช่วยในการติดต่อสื่อสารระหว่างโปรเซส ทั้งนี้เนื่องจากการสื่อสารระหว่างโปรเซส 2 โปรเซศเกิดได้ 2 หนทาง คือสื่อสารของโปรเซสบนระบบคอมพิวเตอร์เดียวกัน และการสื่อสารของโปรเซสบนระบบคอมพิวเตอร์ต่างกัน เช่น ในเน็ตเวิร์ค เป็นต้น การสื่อสารอาจจะใช้หน่วยความจำที่แชร์อยู่นั้น หรืออาจใช้เทคนิคที่เรียกว่า แมสเสจพาสซิง ซึ่งเป็นการย้ายแพ็กเกจของข้อมูลนั้นระหว่างโปรเซสในระบบปฏิบัติการนั่นเอง
u การตรวจจับข้อผิดพลาด เซอร์วิสนี้จำเป็นต้องมีเช่นกันเพื่อช่วยในการป้องกันข้อผิดพลาดที่อาจจะเกิดขึ้นได้ ข้อผิดพลากอาจเกิดขึ้นในฮาร์แวร์ เช่น เกิดกับยูพีซี หรือหน่วยความจำ อาจเกิดในส่วนของอินพุต/เอาต์พุตดีไวซ์ เช่น การเชื่อมต่อระบบข้อผิดพลาด หรือไม่มีกระดาษในเครื่องพิมพ์ หรือแม้แต่ข้อผิดพลาดที่เกิดจากโปรแกรม ข้อผิดพลาดที่อาจจะเกิดขึ้นได้เหล่านี้ ระบบปฏิบัติการต้องแสดงแอ็กชันที่เหมาะสมเพื่อแก้ไขให้ต่อไป
u การแชร์รีซอร์ส ในกรณีที่มีผู้ใช้หลายคน หรือมีงานเข้ามาหลายงานในเวลาเดียวกัน เป็นหน้าที่ของระบบปฏิบัติการต้องมีการแชร์รีซอร์สให้เหมาะสม ในบางรีซอรศจะต้องใช้โค้ดพิเศษในการควบคุม แต่ในบางรีซอร์ส(เช่น อินพุต/เอาต์พุตดีไวซ์) อาจจะใช้โค้ดในการเรียกใช้ และปลดปล่อยเมื่อใช้งานเสร็จอีกด้วย ระบบปฏิบัติการจะมีฟังชันสำหรับจัดเวลาของซีพียู เพื่อให้การทำงานเหมาะสมด้วยเช่นกัน
u การป้องกัน เซอร์วิสนี้ช่วยป้องกันในกรณีมีผู้ใช้หลายคนในระบบคอมพิวเตอร์ โดยการป้องกันจะมีตั้งแต่ภายในระบบเองซึ่งเป็นการป้องกันข้อผิดพลาดที่อาจจะเกิดจากการเอ็กซิคิวส์โปรเซสในเวลาเดียวกัน ระบบปฏิบัติการจะต้องให้ความมั่นใจในการป้องกันด้านนี้ ส่วนการป้องกันจากภายนอกก็มีความสำคัญไม่ได้ยิ่งหย่อนกว่ากัน ในการป้องกันแบบนี้ระบบปฏิบัติการจะให้อำนาจในการใช้รีซอร์สในลักษณะการใช้รหัสผ่าน รีซอร์สเหล่านี้รวมถึงดีไวซ์ต่าง ๆ ทั้งโมเด็ม และเน็ตเวิร์คอะแด็ปเตอร์ด้วย
1.7.2 System Calls
ฟีเจอร์นี้เป็นฟีเจอร์สำคัญที่ระบบปฏิบัติการที่สร้างขึ้นมาเพื่อเอ็กซิคิวต์โปรแกรม และให้การดำเนินการของ ผู้ใช้โดย System Calls จะกำหนดอินเตอร์เฟตรระหว่างโปรเซสกับระบบปฏิบัติการสร้างด้วยคำสั่งภาษาแอสเซ็มบลีและแสดงอยู่ในคู่มือเพื่อให้ผู้ใช้ทราบและสามารถนำมาใช้ได้ ในบางระบบจำพวกนี้อาจจะสร้างด้วยภาษาระดับสูงก็ได้ System Calls นี้อาจจัดเป็น 5 กลุ่มหลักคือการควบคุมโปรเซสการจัดการกับไฟล์ การจัดการดีไวซ์การบำรุงรักษาข้อมูล และการติดต่อสื่อสาร
u การควบคุมโปรเซส กลุ่มนี้เป็นการควบคุมโปรเซสทั้งหมด ซึ่งขณะที่ กำลังเอ็กซิคิวต์โปรแกรมอยู่นั้นคุรอาจจะต้องการหยุดโปรเซสในลักษณะการหยุดปกติ(end) การหยุดแบบไม่ปกติ(abort) โหลดข้อมูลเพิ่มเติม เอ็กซิคิวต์โปรเซสอีกครั้ง จบโปรเซส สร้างโปรเซสขึ้นมาใหม่ แสดงแอ็ตริบิวต์ของโปรเซส การปรับแต่งโปรเซส สั่งให้หยุดรอเวลา หรือแม้แต่การรออีเวนต์อื่น ๆ ก็ได้
u การจัดการกับไฟล์ กลุ่มนี้เป็นการลบไฟล์ทั้งหมด ทั้งการสร้างไฟล์ การลบไฟล์ การปิดและเปิดไฟล์ รวมทั้งการอ่าน/เขียนและการปรับตำแหน่งไฟล์
u การจัดการดีไวซ์ กลุ่มนี้เป็นการจัดการดีไวซ์ระบบเมื่อมีโปรเซส ระบบอาจจะเรียกใช้ดีไวซ์เพิ่มเติม เช่น ร้องขอใชเทป หลังจากใชเสร็จแล้ว จะมีการปล่อยให้ดีไวซ์นั้นคืนสู่สภาพเดิม เป็นต้น งานในกลุ่มนี้อาจจะเป็น การร้องขอดีไวซ์ การปล่อยดีไวซ์สู่สภาพเดิม การอ่าน/เขียนและการเปลี่ยนตำแหน่งของดีไวซ์ การรับค่าและการปรับแต่งแอตริบิวต์ของระบบ การผูกติดและปลดปล่อยดีไวซ์กับระบบปฏิบัติการ
u การบำรุงรักษาข้อมูล กลุ่มนี้จะตอบสนองงานหลักของระบบปฏิบัติการ ในระบบส่วนใหญ่จะมีการถ่ายโอนข้อมูลระหว่างผู้ใช้กับระบบปฏิบัติการ นอกจากนี้บางระบบยังอาจจะต้องการแสดงวัน-เวลาปัจจุบัน แสดงข้อมูลของระบบ เช่น จำนวนผู้ใช้งานปัจจุบัน เวอร์ชันของระบบปฏิบัติการ เนื้อที่ว่างของหน่วยความจำ และดิสก์เป็นต้น
u การติดต่อสื่อสาร เป็นที่ทราบอยู่แล้วว่าการติดต่อสื่อสารระหว่างโปรเซสมี 2 รูปแบบ คือระหว่างโปรเซสในระบบคอมพิวเตอร์เดียวกัน และการติดต่อสื่อสารระหว่างระบบคอมพิวเตอร์ข้างเน็ตเวิร์คนั่นเอง โดยงานในกลุ่มนี้อาจเป็น การเชื่อมต่อและยกเลิกการเชื่อต่อ รับ-ส่งแมสเสจ ข้อมูลสถานะการถ่ายโอนรวมถึงการผูกและการปล่อยดีไวซ์ เป็นต้น
สรุป
คอมพิวเตอร์คือ อุปกรณ์ที่ประกอบด้วยชิ้นส่วนทางอิเล็กทรอนิกส์ที่สามารถรับข้อมูลและชุดคำสั่ง(Program) ในรูปแบบที่เครื่องรับได้ แล้วนำมาประมวลผล(Process) ข้อมูลตามชุดคำสั่งเพื่อแก้ปัญหา หรือทำการคำนวนที่สลับซับซ้อนจนได้ผลลัพธ์ตามที่ต้องการ และยังสามารถบันทึก หรือแสดงผลลัพธ์เหล่านั้นได้ เนื่องจากคอมพิวเตอร์ถูกนำมาใช้งานในด้านต่าง ๆ มากมายทำให้มีการผลิตคอมพิวเตอร์ในรูปแบบต่างๆ ตั้งแต่อดีตจนถึงปัจุบัน ตั้งแต่ซุปเปอร์คอมพิวเตอร์ เมนเฟรมคอมพิวเตอร์ มินิคอมพิวเตอร์ พีซี โน็ตบุค พีดีเอ และการนำคอมพิวเตอร์มาต่อเป็นเครือข่าย
องค์ประกอบคอมพิวเตอร์มี 5 ส่วนต้องทำงานประสานกันคือฮารด์แวร์ ซอฟแวร์ บุคลากร ข้อมูล และกระบวนการทำงานซึ่งแต่ละส่วนยังมีองค์ประกอบย่อยหลายส่วน เช่น ในส่วนของฮาร์แวร์ยังแยกออกเป็นหน่วยรับรับมูล หน่วยแสดงผลข้อมูล ซีพียู หรือหน่วยประมวลกลาง หน่วยเก็บข้อมูล เป็นต้น และส่วนที่เกี่ยวข้องกับหนังสือเล่มนี้คือระบบปฏิบัติการซึ่งเป็นองค์ประกอบย่อยส่วนหนึ่งของซอฟแวร์ซึ่งคำว่าระบบปฏิบัติการยังไม่มีใครให้นิยามที่แน่นอน แต่ทั่วไปจะหมายถึงระบบที่อาจจะเป็นฮาร์ดแวร์หรือซอฟแวร์ที่ช่วยในการจักระเบียบในการอินเทอร์เฟซระหว่างผู้ใช้กับเครื่อง ตลอดจนควบคุมการทำงานของอุปกรณ์ และการจัดสรรทรัพยากรในระบบให้ใช้งานร่วมกันได้อย่างมีประสิทธิภาพ
หน้าที่ของระบบปฏิบัติการมี 3 หน้าที่หลัก ๆ คือการติดต่อกับผู้ใช้หรือยูเซอร์อินเทอร์เฟซ การควบคุมดูแลอุปกรณ์ และการจัดสรรทรัพยากรระบบให้ทำงานได้ต่อเนื่องจากทั้งอุปกรณ์และทรัพยากรระบบมีอย่างจำกัดและมีหลายประเภทนั่นเอง สำหรับยุคของคอมพิวเตอร์อาจแบ่งเป็น 4 ยุค เริ่มตั้งแต่ยุคที่เป็นหลอดสูญญากาศ(ประมาณปี 1945) ถึงยุคทรานซิสเตอร์, ยุคไอที (integrated Circuit) มาจนถึงคอมพิวเตอร์ปัจจุบันที่สามารถเพิ่มมากขึ้นทำให้มีการใช้เป็นระบบแบบกระจาย มัลติโปรเซสเซอร์ มัลติโปรแกรมมิ่ง ระบบการจัดการฐานข้อมูล ระบบไคล์เอ็นเซิร์ฟเวอร์ การเชื่อมต่อเป็นเน็ตเวิร์คที่เรียนว่า อินเตอร์เน็ต หรือแม้แต่สิ่งที่เรียกว่า ระบบผู้เชี่ยวชาญ ปัญญาประดิษฐ์
ในส่วนระบบปฏิบัติการในการออกแบบจะต้องกำหนดเป้าหมายว่า ระบบปฏิบัติการควรมีอะไรบ้าง สำหรับการปฏิบัติการที่ดีควรจะมีคอมโพเนนต์ระบบ เซอร์วิสต่าง ๆ และ System Call ที่เพียบพร้อม สำหรับคอมโพเนนต์ระบบควรจะมีในด้านการจัดการโปรเซส การจัดการหน่วยความจำ การจัดการไฟล์ การจัดการอุปกรณ์อินพุต/เอาต์พุต การจัดการสื่อจัดเก็บข้อมูล เน็ตเวิร์ค ระบบป้องกัน และระบบตัวแปลคำสั่ง สำหรับเซอร์วิสที่ควรจะมีก็เช่น การเอ็กซิคิวต์โปรแกรม การปฏิบัติกับอุปกรณ์อินพุต/เอาต์พุต การจัดการกับระบบไฟล์ การติดต่อสื่อสาร การตรวจจับข้อผิดพลาด การแชร์รีซอร์ส และการป้องกันการคุกคามจากภายนอก สิ่งเหล่านี้อาจจะมีอยู่ใน System Call ที่ผู้ใช้ได้นำมาใช้งานอย่างสะดวกและรวดเร็วอีกด้วย
วันศุกร์ที่ 20 มีนาคม พ.ศ. 2552
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น