วันจันทร์ที่ 28 พฤษภาคม พ.ศ. 2555

งานบทที่1


  1. 1.ระบบปฏิบัติการคอมพิวเตอร์คืออะไร
    ตอบ ระบบคอมพิวเตอร์แทบทุกระบบถือว่าระบบปฏิบัติการเป็นส่วนสำคัญของระบบ โดยทั่วไประบบคอมพิวเตอร์แบ่งเป็น 4 ส่วน คือ ฮาร์ดแวร์ ระบบปฏิบัติการ โปรแกรมประยุกต์ และผู้ใช้
      1. ฮาร์ดแวร์ ประกอบด้วยทรัพยากรต่างๆ ที่มีในระบบ ได้แก่ อุปกรณ์นำข้อมูลเข้า/ออก หน่วยประมวลผลกลาง และหน่วยความจำ นอกจากนี้ยังหมายความรวมถึง โปรแกรมภาษาเครื่อง และไมโครโปรแกรม ซึ่งเป็นส่วนที่บริษัทผู้ผลิตสร้างขึ้นเพื่อใช้เป็นซอฟร์แวร์ในระดับพื้นฐาน (primitive level) โดยสามารถทำงานได้โดยตรงกับทรัพยากรระบบด้วยคำสั่งง่ายๆ เช่น ADD MOVE หรือ JUMP คำสั่งเหล่านี้จะถูกกำหนดเป็นขั้นตอน การทำงานของวงจรภายในเครื่องคอมพิวเตอร์ ชุดคำสั่งที่ไมโครโปรแกรมต้องแปลหรือตีความหมายจะอยู่ใน รูปแบบภาษาเครื่องและมักเป็นคำสั่งในการคำนวณ เปรียบเทียบ และการควบคุมอุปกรณ์นำข้อมูลเข้า/ออก
      2. ระบบปฏิบัติการ เป็นโปรแกรมที่ทำงานเป็นตัวกลางระหว่างผู้ใช้เครื่องและฮาร์ดแวร์ โดยมีวัตถุประสงค์เพื่อจัดสภาพแวดล้อมให้ผู้ใช้ระบบสามารถปฏิบัติงานบนเครื่องคอมพิวเตอร์ได้ โดยจะเอื้ออำนวยการพัฒนาและการใช้โปรแกรมต่างๆ รวมถึงการจัดสรรทรัพยากรต่างๆ ให้ได้อย่างมีประสิทธิภาพ
      3. โปรแกรมประยุกต์ คือซอฟต์แวร์หรือโปรแกรมที่ถูกเขียนขึ้นเพื่อการทำงานเฉพาะอย่างที่เราต้องการ เช่น งานส่วนตัว งานทางด้านธุรกิจ งานทางด้านวิทยาศาสตร์ โปรแกรมทางธุรกิจ เกมส์ต่างๆ ระบบฐานข้อมูล ตลอดจนตัวแปลภาษา เราอาจเรียกโปรแกรมประเภทนี้ว่า User's Program โปรแกรมประเภทนี้โดยส่วนใหญ่มักใช้ภาษาระดับสูงในการพัฒนา เช่นภาษา C, C++, COBOL, PASCAL, BASIC ฯลฯ ตัวอย่างของโปรแกรมที่พัฒนาขึ้นใช้ในทางธุรกิจ เช่น โปรแกรมระบบบัญชีจ่ายเงินเดือน (Payroll Program) โปรแกรมระบบเช่าซื้อ (Hire Purchase) โปรแกรมระบบสินค้าคงหลัง (Stock Program) ฯลฯ ซึ่งแต่ละโปรแกรมก็จะมีเงื่อนไขหรือแบบฟอร์มที่แตกต่างกัน ตามความต้องการหรือกฏเกณฑ์ของแต่ละหน่วยงานที่ใช้ ซึ่งโปรแกรมประเภทนี้เราสามารถดัดแปลงแก้ไขเพิ่มเติม (Modifications) ในบางส่วนของโปรแกรมเองได้ เพื่อให้ตรงกับความต้องการของผู้ใช้งานโปรแกรม 
        โปรแกรมเหล่านี้เป็นตัวกำหนดแนวทางในการใช้ทรัพยากรระบบ เพื่อทำงานต่างๆ ให้แก่ผู้ใช้หลากหลายประเภท ซึ่งอาจเป็นได้ทั้งบุคคล โปรแกรม หรือเครื่องคอมพิวเตอร์ เช่นตัวแปรภาษาต้องใช้ทรัพยากรระบบในการแปลโปรแกรมภาษาระดับสูงให้เป็นภาษาเครื่องแก่โปรแกรมเมอร์ ดังนั้น ระบบปฏิบัติการต้องควบคุมและประสานงานในการใช้ทรัพยากรระบบของผู้ใช้ให้เป็นไปอย่างถูกต้อง
      4. ผู้ใช้ ถึงแม้ระบบคอมพิวเตอร์จะประกอบด้วยองค์ประกอบทั้งทางด้านฮาร์ดแวร์และซอฟต์แวร์ แต่ระบบคอมพิวเตอร์จะไม่สามารถทำงานได้ถ้าขาดอีกองค์ประกอบหนึ่ง ซึ่งได้แก่ องค์ประกอบทางด้านบุคลากรที่จะเป็นผู้จัดการและควบคุมระบบคอมพิวเตอร์ให้สามารถปฏิบัติงานได้อย่างราบรื่น คอยแก้ไขปัญหาต่าง ๆ ที่เกิดขึ้นกับระบบคอมพิวเตอร์ พัฒนาโปรแกรมประยุกต์ต่าง ๆ รวมไปถึงการใช้งานโปรแกรมประยุกต์ที่ถูกพัฒนาขึ้น
    2.ให้บอกคุณสมบัติเด่นของระบบปฏิบัติการแบบหลายโปรแกรม
    ตอบ
    คุณสมบัติของระบบปฏิบัติการลีนุกซ์ - Linux
         มัลติทาสกิ้ง (Multi-tasking) คือ ทำงานหลายๆ อย่างพร้อมกันได้ในเวลาเดียวกัน ทำให้ไม่ต้องเสียเวลาในการรอ โดยแบ่งการทำงานออกเป็น Foreground และ Background
         มัลติยูสเซอร์ (Multi-user) Unix สามารถรองรับผู้ใช้ได้มากกว่า 1 คนในเวลาเดียวกันหรือพูดง่ายๆ ก็คือ ใช้งานได้หลายคนพร้อมกันนั่นเอง
         ป็นระบบปฏิบัติการแบบหลายงาน และหลายผู้ใช้ (Multitasking & Multiuser) ที่สมบูรณ์แบบ ทำให้สามารถมีผู้ใช้งานพร้อมๆ กัน ได้หลายๆ คน และแต่ละคนก็
    สามารถรันโปรแกรมได้หลายๆ โปรแกรมพร้อมๆ กัน
        มีความเข้ากันได้ (Compatible) กับระบบ UNIX ส่วนมากในระดับ Source Code
    ความสามารถในการสลับหน้าจอระหว่าง Login sessions ต่างๆ บนหน้าจอคอนโซล
    ในเท็กซ์โหมดได้ (Pseudo Terminal, Virtual Console)
        สนับสนุนระบบไฟล์หลายชนิด เช่น Minix-1, Xenix, ISO-9660, NCPFS,
    SMBFS, FAT16, FAT32, NTFS, UFS เป็นต้น
        สนับสนุนเครือข่าย TCP/IP ตลอดจนมีโปรแกรมไคลเอ็นต์ และเซิร์ฟเวอร์
    สำหรับบริการต่างๆ ในอินเทอร์เน็ตทุกประเภท ไม่ว่าจะเป็น FTP, Telnet, NNTP,
    SMTP, Gopher, WWW
        Kernal ของ Linux มีความสามารถในการจำลองการทำงานของ
    Math Processor 80387 ทำให้สามารถรันโปรแกรม ที่ต้องการใช้งานคำสั่ง
    เกี่ยวกับ floating-point ได้
        Kernal ของ Linux สนับสนุน Demand-Paged loaded executable คือ
    ระบบจะเรียกใช้โปรแกรม เท่าที่จะใช้งานเท่านั้น จากดิสก์สู่หน่วยความจำ
    เป็นการใช้หน่วยความจำอย่างมีประสิทธิภาพ และมีการใช้หน่วยความจำ
    ส่วนเดียว กับขบวนการหลายๆ ขบวนการพร้อมๆ กัน (Shared copy-on-write pages
        สนับสนุน swap space มากถึง 2 GB ทำให้มีหน่วยความจำใช้งานมากขึ้น
    จึงรัน Application ขนาดใหญ่ได้ และมีผู้ใช้งานได้พร้อมกันมากขึ้น
        Kernal มีระบบ Unified Memory Pool สำหรับโปรแกรมและ Cache
    ทำให้ Cache ปรับเพิ่ม-ลดขนาดได้โดยอัตโนมัติ ขณะที่มีการเรียกใช้
    หรือไม่ใช้โปรแกรมใดๆ
        โปรแกรมที่รันมีการใช้งาน Library ร่าวมกัน (Dynamically
    Linked Shared Libraries) ทำให้โปรแกรมมีขนาดเล็ก และทำงานเร็ว
         สนับสนุนการดีบัก (Debug) โปรแกรม และหาสาเหตุที่ทำให้โปรแกรม
    ทำงานผิดพลาดได้
        จากจุดเด่นนี้ทำให้พบว่าในปัจจุบันเรานิยมใช้ Unix เป็นระบบปฏิบัติการของเครื่อง Internet Server กันมาก

    3.คุณสมบัติของระบบปฏิบัติการแบบโปรแกรมเดียวกับแบบหลายโปรแกรมมีคุณสมบัติเหมือนหรือแตกต่างกันอย่างไร
    ตอบ
     ซอฟต์แวร์เป็นคำทั่วไปที่ใช้กล่าวถึงโปรแกรมหลายชนิดที่ใช้ในการสั่งงานคอมพิวเตอร์และ อาจเกี่ยวข้องกับอุปกรณ์(คำว่าฮาร์ดแวร์ใช้อธิบายถึงคอมพิวเตอร์ในด้านกายภาพและอุปกรณ์ที่เกี่ยวข้อง)
    เราอาจจะนึกถึงซอฟต์แวร์ในแง่ของคอมพิวเตอร์ในส่วนที่สามารถเปลี่ยนแปลงได้(updatable) และฮาร์ดแวร์ในแง่ของคอมพิวเตอร์ในส่วนที่เปลี่ยนแปลงไม่ได้ ซอฟต์แวร์, บ่อยครั้งมีการแบ่งเป็น แอปพลิเคชั่นซอฟต์แวร์(โปรแกรมซึ่งปฏิสัมพันธ์กับผู้ใช้โดยตรง) และ ซอฟต์แวร์ระบบ(ประกอบไปด้วย ระบบปฏิบัติการและโปรแกรมอะไรก็ตามแต่ที่สนับสนุนการทำงานของแอปพลิเคชั่นซอฟต์แวร์) สำหรับคำว่า middleware บางครั้งใช้ในการอธิบายถึงโปรแกรมที่ทำหน้าที่เชื่อมต่อระหว่างแอปพลิเคชั่นและซอฟต์แวร์ระบบ หรือ ระหว่างแอปพลิเคชั่นต่างชนิดกัน (ยกตัวอย่าง การร้องขอการทำงานระยะไกลจากแอปพลิเคชั่นซึ่งอยู่บนระบบปฏิการชนิดหนึ่งไปสู่แอปพลิเคชั่นซึ่งรันอยู่บนระบบปฏิบัติการอีกชนิดหนึ่ง)
    สำหรับกลุ่มของซอฟต์แวร์ไม่สามารถจะจัดเข้ากลุ่มใดๆได้นั้นเรียกว่า ซอฟต์แวร์อรรถประโยชน์(utility) ซึ่งเป็นโปรแกรมขนาดเล็กที่มีประโยชน์ ยูทิลิตี้บางตัวมาพร้อมกับระบบปฏิบัติการ เช่นเดียวกับแอปพลิเคชั่น ยูทิลิตี้สามารถจะติดตั้งได้อย่างอิสระและไม่ได้เป็นส่วนหนึ่งของระบบปฏิบัติการ
    ซอฟต์แวร์ยังแบ่งได้อีกหลายชนิดเช่น shareware (ส่วนมากจะต้องซื้อเมื่อครบกำหนดระยะเวลาทดลองใช้), liteware(แชร์แวร์ซึ่งมีการตัดความสามารถบางอย่างออกไป), freeware(ซอฟต์แวร์ฟรีแต่มีการจำกัดสิทธิ), public domain software(ฟรีและไม่มีข้อบังคับ) และ open source(ซอฟต์แวร์ที่มีการแจกจ่ายซอร์สโค้ดและใช้งานได้อย่างไม่จำกัดรวมทั้งสามารถปรับปรุงได้)
    4. ความหมายและวิวัฒนาการของระบบปฏิบัติการ
    ตอบความหมายของระบบปฏิบัติการ (Operating System : OS)
    Operating System หรือระบบปฏิบัติการ จัดเป็น system software พื้นฐานที่สำคัญของระบบคอมพิวเตอร์มีหน้าที่ควบคุม / จัดการ ให้ทุกอุปกรณ์ของคอมพิวเตอร์หรือทรัพยากรที่ประกอบเป็นระบบคอมพิวเตอร์ทำงาน ได้อย่างถูกต้องมีประสิทธิภาพ และยังทำให้มีการเขียน application program ต่างทำได้สะดวกง่ายขึ้นโดยไม่ต้องใช้คำสั่งกับ hardware โดยตรง

    หน้าที่ของระบบปฏิบัติการ



    1. การติดต่อกับผู้ใช้ หรือยูเซอร์อินเทอร์เฟซ (User interface)

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

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

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



    3. จัดสรรทรัพยากร หรือรีซอร์สระบบ (Resources management)

    2. ควบุคมดูแลอุปกรณ์ (Control devices)

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

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

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

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