Transcript lesson1
Operating System บทที่ 1 พืน้ ฐานระบบคอมพิวเตอร์ Operating System ส่ วนประกอบของคอมพิวเตอร์ (Computer System components) Processor คือ อุปกรณ์ทำหน้ำที่ควบคุมกำรทำงำนของคอมพิวเตอร์และ กำรกระทำข้อมูล ส่ วนใหญ่จะกล่ำวถึง CPU ในกรณี ที่มี 1 processor Memory ใช้เก็บข้อมูลและโปรแกรมซึ่งเป็ นชุดคำสัง่ ที่ให้ Process ทำงำน I/O Controller หรือ Device Controller ทำหน้ำที่รับส่ งข้อมูลระหว่ำง คอมพิวเตอร์และอุปกรณ์ภำยนอก เช่น printer , CD-ROM เป็ นต้น System Bus ทำหน้ำที่เชื่อมต่อเพื่อส่ งข้อมูลระหว่ำง Process , Memory และ I/O Controller Operating System Operating System Processor Operating System Processor - หน่วยคำนวณผลทำงคณิ ตศำสตร์และตรรกะ (ALU) - หน่วยเก็บข้อมูลชัว่ ครำว (register)ซึ่ง มีควำมเร็ วและขนำดเล็กกว่ำ หน่วยควำมจำหลัก Register แบ่งออกเป็ นมี 2 กลุ่ม - register ที่ใช้งำนทัว่ ไป คือเก็บข้อมูล และผลลัพธ์ชวั่ ครำว - special register ซึ่งใช้ในกำรควบคุมและแจ้งสถำนะ Operating System Processor (2) Processor Register ALU PC MBR IOBR IR MAR IOAR Special Register Operating System • Program counter (PC) ใช้เก็บตำแหน่งของหน่วยควำมจำที่เก็บคำสัง่ ถัดไป • Instruction Register (IR) เก็บคำสัง่ ที่พ่ งึ อ่ำนเข้ำมำ • Memory Buffer Register(MBR) เก็บข้อมูลที่จะเขียนลงหน่วยควำมจำ • Memory Address Register (MAR) เก็บตำแหน่งของหน่วยควำมจำที่จะ ใช้ในกำรอ่ำนหรื อเขียน • Input/Output Address Register (IOAR) คล้ำย MAR แต่จะใช้กำหนด ตำแหน่งสำหรับอุปกรณ์เข้ำออก Operating System • Input/Output Buffer Register (IOBR) แลกเปลี่ยนข้อมูลระหว่ำงหน่วย ประมวลผลกับอุปกรณ์เข้ำออก • Program Status Word (PSW) ใช้เก็บสถำนะต่ำงๆ ของหน่วย ประมวลผล เช่น สถำนะเงื่อนไขในกำรเปรี ยบเทียบ Program Execute - กำรประมวลผลประกอบด้วย 2 ขั้นตอน * กำรดึงคำสั่ง (Instruction fetch) * กำรประมวลผล - กำรประมวลผลหนึ่งคำสัง่ เรี ยกว่ำ วงรอบคาสั่ ง (Instruction cycle) Operating System Program Execute (2) • Fetch cycle คือ วงรอบกำรดึงคำสัง่ • Execute cycle คือ วงรอบกำรประมวลผล • กำรประมวลผลจะหยุดก็ต่อเมื่อ * เครื่ องคอมพิวเตอร์ถูกปิ ด * เกิดข้อผิดพลำดรุ นแรงที่เกิดขึ้นภำยในโปรแกรม * พบคำสัง่ ในโปรแกรมที่สงั่ ให้เครื่ องหยุดทำงำน Operating System Program Execute (3) Operating System Instruction Execution Operating System Instruction Execution(2) • • • • Operating System Step1 - PC เก็บตำแหน่ง 300 และดึง mem 1940 มำไว้ที่ IR step 2 - ACจะดึงค่ำ 0003 จำก ตำแหน่ง 940 step 3 - PC เก็บค่ำ 301 , IR จะดึงข้อมูลจำก 301 คือ 5941 มำไว้ที่ IR step 4 - ก่อน execute ค่ำ PC จะเพิ่มเป็ น 302 - 5 คือ add data , 941 คือ 0002 - AC จะเก็บค่ำเลข 3 - คำสัง่ จะบอกให้นำ 2 ที่ 941 ไปบวกกับ 3 จะได้ 5 - จะนำ 5 เก็บเข้ำที่ AC Operating System • step 5 - PC อยูท่ ี่ 302 ก็จะไปดึง 2941 มำไว้ที่ IR ,2 คือ store PC to mem • step 6 - 941 คือ กำรนำ ข้อมูล 0005 ไว้ใน 941 0001 = Load AC from Memory 0010 = Store AC to Memory 0101 = Add to AC from Memory I/O Module Structure หรือ Controller Operating System - OS จะติดต่อกับอุปกรณ์ จะติดต่อกับ Controller - OS จะเขียนคำสัง่ ลงไปใน command register ของ Controller - status register จะคอย check ว่ำ อุปกรณ์ทำงำนเสร็ จหรื อยัง - status register จะแบ่งเป็ น bit ย่อยๆ หลำยๆ bit เช่น ถ้ำใน HD มีคำ่ 0 0 หมำยถึง HD ว่ำง ถ้ำ 0 1 คืออ่ำนเสร็ จแล้ว - ถ้ำอุปกรณ์ทำงำนเสร็ จแล้วไม่ตอ้ ง check status จะเรี ยก Interruption Interrupt • Interrupt เกิดเนื่องจำก อุปกรณ์แวดล้อมต่ำง ๆ ทำงำนช้ำ กว่ำ CPU • กำรขัดจังหวะกำรทำงำนของ CPU • เพิม่ ประสิ ทธิภำพกำรทำงำนของ CPU • ประเภทของกำรขัดจังหวะ - จำกนำฬิกำ - จำกอุปกรณ์เข้ำออก - จำกควำมผิดพลำดของ Hardware Operating System Interrupt (2) Operating System กระบวนการทางาน Interrupt 1. อุปกรณ์ส่งสัญญำณขัดจังหวะ 2. CPU ทำงำนเสร็ จ จะตอบสนองต่อสัญญำณ ทำให้อุปกรณ์ดงั กล่ำว หยุดกำรส่ งสัญญำณ 3. CPU จะทำกำรบันทึกข้อมูลที่จำเป็ น เพื่อให้สำมำรถกลับมำทำงำน ณ จุดเดิมได้ ไว้ใน PSW 4. CPU หำตำแหน่งของชุดคำสัง่ ที่จะไปทำงำนสำหรับ Interruption 5. กำหนดค่ำให้กบั PC แล้วอ่ำนคำสัง่ ตำมปกติ และกระโดดไปทำงำน ชุดคำสัง่ ที่ Interruption 6. เมื่อ CPU ทำงำนเสร็ จก็จะคืนค่ำ Register ต่ำงๆ ที่เก็บไว้ Interrupt (3) Operating System - มี register เพิม่ เข้ำมำเรี ยก Interrupt Controller - ทำหน้ำที่รับรับแจ้งว่ำอุปกรณ์ทำงำนเสร็ จแล้ว - ถ้ำมีอุปกรณ์แจ้งเข้ำมำหลำยตัวพร้อมกัน ก็จะเลือกเพียงแค่ 1 ตัว โดยเลือกดู จำกตัวไหนมี priority สูงสุ ด - เวลำอุปกรณ์แต่ละตัวส่ งสัญญำณ Interrupt จะส่ งพร้อมกับหมำยเลขเพื่อ บอกว่ำเป็ นอุปกรณ์ตวั ไหน โครงสร้ างของ I/O Device กำรทำงำนของ I/O Device มี 3 แนวทำง • Program I/O • Interrupt Driven I/O • Direct Memory Access (DMA) Operating System โครงสร้ างของ I/O Device (2) Operating System • Program I/O - ควบคุม I/O Device ด้วยโปรแกรม - ลักษณะกำรทำงำน จะมีกำร check status ของ Controller ว่ำ ทำงำนเสร็ จหรื อไม่ - จะรอจนกว่ำจะได้รับแจ้งสถำนะว่ำกำรทำงำนเสร็ จหรื อล้มเหลว • Interrupt Driven I/O - เมื่ออุปกรณ์ทำงำน สำมำรถทำงำนในส่ วน user program ต่อไปได้โดย ไม่ตอ้ ง รอให้ทำงำนเสร็ จ - ไม่ตอ้ ง check status ว่ำทำงำนเสร็ จหรื อไม่ - เมื่ออุปกรณ์ทำงำนเสร็ จก็จะ Interrupt กลับมำ ข้ อเสี ย - ทั้ง Program I/O และInterrupt Driven I/O จะใช้ CPU ในกำรส่ งผ่ำนข้อมูล Operating System • Direct Memory Access (DMA) - จะแก้ขอ้ เสี ยในกำรเคลื่อนย้ำยข้อมูล - DMA จะทำหน้ำที่แทน CPU - เมื่อทำงำนเสร็ จจะ Interrupt ไปที่ CPU - DMA เกี่ยวข้องกับ CPU ตอนแรกและตอนสุ ดท้ำย * ตอนแรก CPU จะ check DMA ว่ำก่อนว่ำจะให้อ่ำนข้อมูลจำก HD ไปที่ ตำแหน่งไหน * ตอนสุ ดท้ำยคือตอนที่ Interrupt กลับเข้ำมำ Memory Hierarchy Operating System • ชั้นบนสุ ดกำรทำงำนจะเร็ วที่สุด รำคำแพงที่สุด แต่เก็บข้อมูลได้นอ้ ย • ชั้นต่ำลงมำปริ มำณจะถูกลง ควำมเร็ วก็จะช้ำลง และเก็บข้อมูลได้มำก Memory Hierarchy (2) Operating System • ทำเป็ นลำดับชั้นเพรำะ CPU มีควำมเร็ วมำก • กำรนำข้อมูลมำพักไว้ใน memory ในส่ วนที่เร็ วกว่ำ เพื่อให้ CPU access ได้เร็ วขึ้น • CPU จะ access ข้อมูล ถ้ำเจอในระดับที่เร็ วกว่ำก็จะ Hit ถ้ำไม่เจอ ก็จะ Miss ก็จะไปหำจำกชั้นถัดไปและ copy มำไว้ Cache Memory Operating System •จะอยูร่ ะหว่ำง CPU กับ Main Memory •มีควำมเร็ วกว่ำ Main Memory •ข้อมูลจำก Main Memory จะถูก Copy มำไว้บน Cache คาถาม กำร access ข้อมูล 1 ครั้ง ขนำด 1024 byte กับ access ข้อมูล 2 ครั้ง ครั้งละ 512 byte แบบไหนจะดีกว่ำกัน