1 / 29

บทที่ 1

บทที่ 1. ความรู้พื้นฐาน. วัตถุประสงค์. 1. ความรู้เบื้องต้นเกี่ยวกับโปรแกรมระบบ 11 รู้โครงสร้างเบื้องต้นของโปรแกรมระบบ 111 บอกความหมาย ของตัวคอมไพเลอร์ ตัวแอสเซมเบลอร์ 112 บอกความหมาย ของตัวโหลดเดอร์ 113 บอกความหมาย ของระบบปฏิบัติการ 12 รู้โครงสร้างเบื้องต้นของเครื่อง

shania
Télécharger la présentation

บทที่ 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 1 ความรู้พื้นฐาน บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  2. วัตถุประสงค์ 1. ความรู้เบื้องต้นเกี่ยวกับโปรแกรมระบบ 11 รู้โครงสร้างเบื้องต้นของโปรแกรมระบบ 111 บอกความหมาย ของตัวคอมไพเลอร์ ตัวแอสเซมเบลอร์ 112 บอกความหมาย ของตัวโหลดเดอร์ 113 บอกความหมาย ของระบบปฏิบัติการ 12 รู้โครงสร้างเบื้องต้นของเครื่อง 121 อธิบายหน่วยความจำ 122 อธิบายหน่วยประมวลผลกลาง 123 อธิบายคำสั่ง 124 อธิบายข้อมูล 125 อธิบายแอดเดรส บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  3. วัตถุประสงค์ 13 รู้วิวัฒนาการในแต่ละองค์ประกอบ ของโปรแกรมระบบ 131 บอกวิวัฒนาการของ ตัวแอสเซมเบลอร์ 132 บอกวิวัฒนาการของ ตัวโหลดเดอร์ 133 บอกวิวัฒนาการของ ตัวแมคโคร 134 บอกวิวัฒนาการของ ตัวคอมไพเลอร์ 135 บอกวิวัฒนาการของ ระบบที่มีรูปแบบ 14 รู้วิวัฒนาการของระบบปฏิบัติการ 141 บอกวิวัฒนาการของ ระบบปฏิบัติการ 142 อธิบายระบบปฏิบัติการแบบต่างๆ บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  4. คอมพิวเตอร์ • เครื่อง ที่ทำงานตามคำสั่งที่เราโปรแกรมไว้ บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  5. โปรแกรมระบบ คืออะไร • โปรแกรมที่ถูกพัฒนาขึ้น เพื่อช่วยให้ผู้ใช้คอมพิวเตอร์ (Users) สามารถใช้คอมพิวเตอร์ ได้ตรงตามความต้องการของผู้ใช้ ง่าย และสะดวก • โปรแกรมที่ใช้ ช่วยในการสร้างโปรแกรมประยุกต์ บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  6. ตัวอย่างของโปรแกรมระบบตัวอย่างของโปรแกรมระบบ • Assembler • Compiler • Loader • Macro Processor • Operating System บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  7. องค์ประกอบของการเขียนโปรแกรมระบบ บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  8. โครงสร้าง เครื่องคอมพิวเตอร์ Memory ·· I/O Processor I/O Processor ·· CPU CPU Card Read/Punch Disk Or Drum Printer บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  9. โครงสร้าง เครื่องคอมพิวเตอร์ (ต่อ) • Memory เป็นอุปกรณ์ที่ใช้เก็บข้อมูล และคำสั่ง • Processor อุปกรณ์ที่ใช้ในการประมวลผลข้อมูล ตามคำสั่งที่เก็บไว้ในหน่วยความจำ • ข้อมูล และคำสั่ง เก็บอยู่ในรูปของ ‘0’ และ ‘1’ • ‘0’ และ ‘1’ เรียก Binary Digits (Bit) • เมื่อหลาย Bits มารวมกัน กลายเป็น Words, Characters หรือ Bytes เป็นต้น บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  10. โครงสร้าง เครื่องคอมพิวเตอร์ (ต่อ) • Memory Location ถูกกำหนดโดย Address ที่ชี้ไปยังข้อมูล หรือคำสั่ง ในหน่วยความจำ • Memory หรือหน่วยความจำ คล้ายกับ ตู้จดหมาย ที่ใช้บรรจุกลุ่มข้อมูล ‘0’ และ ‘1’ โดยมี Address กำกับ บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  11. โครงสร้าง เครื่องคอมพิวเตอร์ (ต่อ) • A Code หรือ รหัส คือกลุ่มของ Bits ที่เกิดจากกฎเกณฑ์ ที่เราตั้งขึ้น เช่น • BCD ใช้แทนตัวเลข • EBCDIC และ ASCII ใช้แทนตัวอักขระ • Instruction ขึ้นอยู่กับตัว Processor • CPU (Central Processing Unit) หน่วยประมวลผลกลาง บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  12. โครงสร้าง เครื่องคอมพิวเตอร์ (ต่อ) • I/O Processor ทำหน้าที่ย้ายข้อมูลระหว่างหน่วยความจำ กับอุปกรณ์ประกอบภายนอก เช่น เครื่องพิมพ์ ดิสก์ เครื่องพิมพ์ เป็นต้น • ทำงานตามคำสั่งที่เก็บไว้ในหน่วยความจำ • สั่งให้ทำงานโดย CPU • I/O Instructions คือกลุ่มคำสั่ง ที่ทำงานโดยตัว I/O Processors • ชุดตำสั่ง อาจแตกต่างจากชุดคำสั่งของ CPU • สามารถทำงานแบบ Asynchronously (Simultaneously) กับตัว CPU บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  13. โครงสร้าง เครื่องคอมพิวเตอร์ (ต่อ) • การทำงานแบบ Asynchronous ระหว่าง I/O และ CPU เป็นต้นแบบของ Multiprocessing • Multiprocessing หมายถึง ระบบคอมพิวเตอร์ ที่มีตัว Processor มากกว่า 1 ตัว ทำงานพร้อมกัน โดยใช้หน่วยความจำ (Memory) ที่เดียวกัน บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  14. โครงสร้าง เครื่องคอมพิวเตอร์ (ต่อ) • Procedure หรือโปรแกรมย่อย ที่แก้ไขตัวมันเอง (Modify) เรียกว่า Impure Procedure • Impure Procedure • อ่านเข้าใจยาก • ไม่สามารถทำงานร่วมกัน (Shared) แบบ Multiprocessor ได้ • สั่งให้ทำงานแต่ละครั้ง (Execute) จะเจอคำสั่งต่างๆ กัน • เพราะฉะนั้น เอาโปรแกรม มาใช้หนหรือ 2 หนไม่ได้ • ถ้าจะให้โปรแกรม Reusable เหมือนกันทุกครั้งที่ทำการ Execute ต้องเขียนโปรแกรมเป็น Pure Procedure หรือ Re-Entrant Code บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  15. Assembly Language Program Object Program Assembler 1.2 องค์ประกอบของโปรแกรมระบบ 1.2.1 Assembler ใช้แปลงโปรแกรมภาษาแอสเซมบลี้ ให้เป็นภาษาเครื่อง Source Destination Program Program บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  16. 1.2.2 ไม่มี Loaders Assembly Language Program • เปลืองหน่วยความจำ • ต้องทำการแปลงทุกครั้ง เมื่อต้องการ Execute บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  17. Object Program Object Program Loader Loader 1.2.2 มี Loaders Assembly Language Program • Loader เล็กกว่า ตัว Assembler ดังนั้นกินหน่วยความจำน้อยกว่า สามารถใช้ Object Program ได้ใหญ่ขึ้น • สามารถใช้โปรแกรมย่อยได้ บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  18. ปัญหาของโปรแกรมย่อย • โปรแกรม 1 (ขนาดเล็ก) มี Hole • โปรแกรม 2 (ขนาดใหญ่) ทับโปรแกรมย่อย SQRT บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  19. หน้าที่ของ Loader • จัดสรรพื้นที่ในหน่วยความจำให้กับโปรแกรม (Allocation) • เชื่อมโยง Address ของ Symbolic ต่างๆระหว่าง Object (Linking) • ปรับ Address ให้สอดคล้องกับหน่วยความจำ ในกรณีการอ้าง Address เป็นแบบ Relocate Address (Relocation) • เรียกโปรแกรมจากดิสก์ มาไว้ยังหน่วยความจำ (Loading) บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  20. Time • Execution Time ระยะเวลาในการ Execute โปรแกรมของผู้ใช้ • Assembly Time ระยะเวลาในการแปลงโปรแกรมภาษาแอสเซมบลี้ ให้เป็น Object Program • Compile Time ระยะเวลาในการแปลงโปรแกรมภาษาชั้นสูง เช่น Pascal ให้เป็น Object Program • Load Time ระยะเวลาในการโหลดโปรแกรมจากดิสก์ลงหน่วยความจำ และปรับแอดเดรส พร้อมให้โปรแกรมทำงาน บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  21. 1.2.3 Macro ลดงานโปรแกรมเมอร์ ในการ Code โปรแกรม • แทนที่ ขยาย • ทำโดย Macro Processor บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  22. High Level Language Program Object Program Compiler 1.2.4 Compiler • Interpreter • เป็นโปรแกรมที่ทำการ Execute ตัว Source โปรแกรมภาษาชั้นสูงโดยตรง ราวกับว่า ตัว Source โปรแกรมเป็นภาษาเครื่อง บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  23. 1.2.5 Formal Systems • Basic Symbol: ตัวอักขระ, กลุ่มของคำ (Axiom) • Operation: กลุ่มความสัมพันธ์แบบ Finite Set ตัวอย่าง เช่น Set Theory, Boolean Algebra, Post System, Backus Norm Form เป็นต้น ประโยชน์ • เป็นวิชาพื้นฐาน ศึกษาในวิชา Automata Theory และ Theory of Computing เพื่อศึกษาต่อในวิชา Programming Language, Compiler • ใช้ออกแบบ Syntax และ Semantic ของภาษา บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  24. 1.3 Operating System • ขั้นตอนในการ Execute โปรแกรมระบบเก่า เช่น ภาษา Fortran ยุคเริ่มแรก • ใส่โปรแกรมระบบ Compiler ของภาษา Fortran (กดปุ่ม) • ใส่ Source Program (กดปุ่ม) • หา Loader จาก Library ใส่ (กดปุ่ม) • หยิบ Object Cards มาใส่ (กดปุ่ม) • หา Subroutine Card มาใส่ (กดปุ่ม) • ยุ่งยาก ใช้ลำบาก • เสียเวลามากในการทำงาน 1 Job/Program บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  25. Batch Operating System • โปรแกรมจำนวนมาก ถูก Loaded ลงหน่วยความจำ • เป็นระบบ Multiprogramming (มีหลายโปรแกรมบรรจุภายในหน่วยความจำ CPU สามารถสวิทช์ไปทำโปรแกรมอื่นได้ ถ้าโปรแกรมที่กำลังทำงานอยู่ รอการใช้อุปกรณ์ I/O) • Multiprogramming with Fixed Tasks (MFT) (หน่วยความแต่ละโปรแกรมจำคงที่) • Multiprogramming with Variable Tasks (MFT) (หน่วยความแต่ละโปรแกรมจำแปรไปตามขนาดของโปรแกรม) บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  26. Fragmentation Holes บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  27. การแก้ปัญหา Fragmentation • Relocatable Partition • Paging • Segment บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  28. Paging • Simple Paging • Demand Paging • Pure Demand Paging บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

  29. Time Sharing แบ่งเวลาของ CPU ออกเป็นส่วน ให้กับ User แต่ละคน จนดูเหมือนว่า User แต่ละคนเป็นเจ้าของ CPU บทที่ 1 ความรู้พื้นฐาน (การเขียนโปรแกรมระบบ)

More Related