VARIS VONGUEA-AREE

🔥🇹🇭 Bangkok Thailand

High level experience in web design and development knowledge, producing quality work.

Operating System (OS)🔗

Processes🔗

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

Instruction Trace คือ เป็นการอธิบายข้อมูลการประมวลผลระหว่างโปแกรมกับ Kernel และการใช้งาน buffer ตลอดการทำงาน

State Transition Diagram ของ process

Preempt Process คือ ยึดการทำงานของโปรเซส เพื่อเข้าใช้งานก่อน

Process Control Block มี Category

Multiprocessing คืออะไร🔗

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

Memory🔗

Paging

วิธีนี้ Memory จะถูกแบ่งย่อยๆออกเป็นส่วนเล็กๆเรียกว่า Frame และ Process จะถูกแบ่งย่อยๆออกเป็นส่วนเล็กๆ เรียกว่า Page ซึ่งจะสามารถนำไปใส่ใน Frame ที่มีขนาดเท่ากัน ดังนั้น Memory ส่วนที่เสียไปไม่สามารถนำมาใช้ได้ ก็จะเป็นเพียงแค่เนื้อที่บางส่วนใน Page สุดท้าย OS จะทำการเก็บ Frame ที่ไม่ได้ใช้งาน เรียกว่า Free Frame List

Allocation of Free Frames

ตัวอย่าง : สมมติ Process A มีพื้นที่ในหน่วยความจำ 4 Page OS ก็จะทำการหา Frame ที่ว่างมา 4 Frame โดยที่ไม่จำเป็นจะต้องอยู่ติดกันจาก Free Frame List จะมี Page Table สำหรับเก็บไว้ว่า Page ไหนถูกเก็บไว้ Frame ไหนของหน่วยความจำ

Logical and Physical Addresses — Paging

Virtual Memory🔗

– Demand Paging

คือ Paging ที่นำเฉพาะ Page ที่ต้องการเข้ามาใน Memory โดยไม่จำเป็นจะต้องนำเข้ามาทั้งหมดทั้ง Process อาจจะเป็นเพียงแค่ฟังก์ชั่นใดฟังก์ชั่นหนึ่งของ Process

– Page Fault

คือการที่ CPU อ่าน Page ที่ไม่ได้อยู่ใน Memory เข้ามาเพิ่มเติม

– Trashing

หมายถึงการที่มี Process จำนวนมาก และ Memory น้อย ทำให้ CPU ใช้เวลาส่วนมากในการ Swap In , Swap Out Page เข้าออกจากหน่วยความจำ แทนที่จะทำการประมวลผล วิธีการแก้ไขคือ จะต้องมี Replacement Algorithm ที่ดี

ข้อดี – ไม่ต้องนำ Process ทั้งหมดเข้ามาใน Memory ก็สามารถรันโปรแกรมได้ – สามารถ Swap In เฉพาะ Page ที่ต้องการ – สามารถรัน Process ที่มีขนาดใหญ่กว่า Memory ได้

หากไม่มี Demand Paging แล้ว การเขียนโปรแกรมก็จะต้องคำนึงถึงขนาดของ Memory และไม่สามารถเขียนโปรแกรมให้มีขนาดใหญ่กว่า Memory ได้ Programmer จะต้องทำการแบ่งโปรแกรมออกเป็นโปรแกรมย่อยๆเอง แต่ Demand Paging จะทำการแบ่งให้เป็นโปรแกรมย่อยๆอัตโนมัติ และนำ Page ที่ไม่ได้ใช้เก็บไว้ใน Harddisk คอมพิวเตอร์จะต้องแยกออกระหว่าง Real Memory (Ram) กับ Vertual Memory (Harddisk) แต่สำหรับ Programmer ไม่จำเป็นที่จะต้องแยกระหว่าง Real กับ Vertual

ทุกครั้งที่มีการอ้างอิง Vertual Memory จะต้องมีการอ้างอิง 2 ครั้ง คือ – Page Table – ข้อมูลที่จะนำไปใช้งานจริง

ทำให้ต้องใช้เวลาในการอ้างอิงเป็นสองเท่า จึงต้องมี Cache เพื่อเก็บข้อมูล Page ที่กำลังใชงาน เรียกว่า Translation Lookaside Buffer (TLB) OS จะทำการติดต่อกับ TLB เพื่อค้นหา Page ที่ต้องการก่อน ถ้ามีก็จะคำนวณหา Physical Address โดยการนำหมายเลข Frame มารวมกับ Offset ถ้าไม่มีจึงไปค้นหา Address จาก Page Table

Scheduling🔗

เป็นการจัดการกระบวนการ (Process) ที่เหมาะสมเข้าหรือออกจากตารางแถวลำดับ (Scheduling Queues) ซึ่งเป็นหน้าที่ของระบบปฏิบัติการ ในระบบงานแบบกลุ่มการจัดการกระบวนการมักจะนาไปพักไว้ชั่วคราว (Spooled) ณ อุปกรณ์หน่วยความจาสารองที่มีความจุขนาดใหญ่ (Mass-Storage Device) เช่น จานบันทึก (disk) เป็นต้น เพื่อที่จะนาไปประมวลผลในเวลาต่อมาซึ่งมีวิธีการจัดตารางการทำงานหลายวิธี

Long-Term Scheduling🔗

Medium-Term Scheduling🔗

Short-Term Scheduling🔗

Input Output and Files🔗

การติดต่อระหว่างอุปกรณ์คอมพิวเตอร์ ในการรับข้อมูลหรือส่งผลลัพธ์ที่ได้จากการประมวลผลออกจำเป็นจะต้องมีระบบปฏิบัติการเพื่อใช้ควบคุมการดำเนินการต่างๆ เป็นไปอย่างอิสระและมีประสิทธิภาพ เรียกระบบจัดการส่วนนี้ว่า “ระบบรับและแสดงผลข้อมูล (I/O System)” ซึ่งเป็นระบบที่ใช้ควบคุมการทำงานของอุปกรณ์ต่างๆ ที่ใช้รับและแสดงผลข้อมูล การเชื่อมต่อตลอดจนการลดช่องว่างระหว่างอุปกรณ์ส่วนต่อประสาน (Hardware Interface) กับคอมพิวเตอร์ ซึ่งมีลักษณะการทำงานและวิธีการดำเนินการส่วนต่อประสาน (Application Interface) ที่แตกต่างกันให้สามารถทำงานร่วมกันได้ ในบทนี้จะกล่าวถึงระบบรับและแสดงผลข้อมูล (I/O System) ซึ่งเป็นส่วนหนึ่งของการติดต่อระหว่างคอมพิวเตอร์กับผู้ใช้ การรับข้อมูลเข้าหรือส่งผลลัพธ์ที่ได้จากประมวลผลแล้วออกไปให้อยู่ในรูปแบบที่เหมาะสม อธิบายได้ตามหัวข้อต่างๆ