Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore ระบบปฏิบัติการ

ระบบปฏิบัติการ

Published by noogob, 2020-06-11 02:25:59

Description: ระบบปฏิบัติการ

Search

Read the Text Version

ระบบปฏิบตั กิ าร

ระบบปฏิบัติการคืออะไร ระบบคอมพวิ เตอร์แบ่งออกเป็ น 4 ส่วน ◼ ฮาร์ดแวร์ สนบั สนุนปัจจยั ในการคานวณ ◼ ระบบปฏิบตั ิการ ควบคุมและบริหารการใชป้ ัจจยั ระหวา่ งโปรแกรม ตา่ งๆ ◼ โปรแกรมประยุกต์ กาหนดทิศทางในการใชป้ ัจจยั สาหรับการแกป้ ัญหหาต่าง ◼ ผู้ใช้ เช่น บุคลากร (people) , เคร่ืองจกั ร (machines) , คอมพวิ เตอร์เครื่องอื่นๆ

ส่วนประกอบของระบบคอมพวิ เตอร์ ...User User User User 123 4 Compier Assembler Lex.edier ... Database system Sys and Application Programs Operating System Computer Hardware

นิยามของระบบปฏิบตั กิ าร ◼ Resource allocator – บริหารการจดั สรรทรัพยากร เช่น การ จดั การ Harddisk , memory , printer ใหเ้ กิดประโยชนไ์ ดอ้ ยา่ ง เตม็ ที่ ◼ Control program – ควบคุมการ execute โปรแกรมของผใู้ ช้ และ การทางานของอุปกรณ์รับส่งขอ้ มูล ◼ Kernel (แก่นแท)้ – โปรแกรมท่ีทางานอยตู่ ลอดเวลาบน คอมพิวเตอร์

ววิ ฒั นาการ และชนิดของระบบปฏบิ ตั กิ าร 1. การป้อนงานแบบกล่มุ ด้วยมือ (Manual batch system) 2. การป้อนงานแบบกล่มุ โดยอตั โนมตั ิ (Automatic batch processing) - การทางานแบบ Buffering (พยายามทาให้ I และ O ทางานพร้อมหน่วย ประมวลผลมากสุด เช่น printer) - การทางานแบบ off-line (เช่น บตั รเจาะ หรือเทปกระดาษ) - การทางานแบบ spooling (เป็ นหลกั การใช้จานแม่เหลก็ แทนอปุ กรณ์รับ ข้อมูล และแสดงผลนีเ้ รียกว่า spooling : Simultaneous peripheral operation on-line)

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

ววิ ฒั นาการ และชนิดของระบบปฏบิ ัตกิ าร 3. ระบบมัลติโปรแกรมมงิ่ (Multiprogramming system) 4. ระบบแบ่งเวลา (Time sharing system) - การทางานแบบโต้ตอบ - ระบบโต้ตอบแบบมัลติโปรแกรมมิง่ 5. ระบบตอบสนองฉับพลนั (Real-time system)

ระบบคอมพวิ เตอร์แบบแบทซ์ operating system user program area

ระบบต่าง ๆ ภายในคอมพวิ เตอร์ต้งั แต่อดตี ถึงปัจจุบนั ◼ ระบบบัฟเฟอร์ (Buffering system) การทางานเพ่ือขยายขีด ความสามารถของระบบ ทาให้หน่วยรับ-แสดงผลสามารถทางานไป พร้อม ๆ กบั การประมวลผลของซีพียู ในขณะที่ประมวลผลคาสงั่ ท่ีถูก โหลดเขา้ ซีพียูน้ัน จะมีการโหลดขอ้ มูลเขา้ ไปเก็บในหน่วยความจา ก่อน เมื่อถึงเวลาประมวลผลจะสามารถทางานไดท้ ันที และโหลด ข้อมูลต่อไปเข้ามาแทนที่ หน่วยความจาที่ทาหน้าท่ีเก็บข้อมูลที่ เตรียมพร้อมน้ีเรียกวา่ บฟั เฟอร์ (buffer)

บฟั เฟอร์ (buffer)

ระบบต่าง ๆ ภายในคอมพวิ เตอร์ต้งั แต่อดตี ถึงปัจจุบัน ◼ ระบบสพลู ลง่ิ (Spooling) ทาให้ซีพียูสามารถทางานได้ 2 งานพร้อมกัน งานแรกคือ ประมวลผลในส่วนของซีพียู งานที่สองคือการรับ-แสดงผลขอ้ มูล ซ่ึงต่างกบั buffer ท่ีซีพยี ู และหน่วยรับ-แสดงผลทางานร่วมกนั และ spooling มี jobpool ทาใหส้ ามารถเลือกการประมวลผลตามลาดบั ก่อนหลงั ได้

Spooling disk I/O card reader CPU line printer

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

(Multiprogramming) 01 operating system job1 job2 job3 job4 512k

ระบบต่าง ๆ ภายในคอมพวิ เตอร์ต้งั แต่อดตี ถึงปัจจุบนั ◼ ระบบแบ่งเวลา (Time-sharing หรือ Multitasking) เป็ นการขยายระบบ multiprogramming ทาให้สามารถสับเปล่ียนงานของคนหลาย ๆ คนเขา้ สู่ ซีพียู ซ่ึงการสับเปลี่ยนท่ีทาด้วยความเร็วสูงจะทาให้ผู้ใช้รู้สึกเหมือน ครอบครองซีพียอู ยเู่ พียงผเู้ ดียว ◼ ระบบเรียลไทม์ (Real-time system) หมายถึงการตอบสนองทนั ที เช่นระบบ Sensor ท่ีส่งขอ้ มูลให้คอมพิวเตอร์ ระบบควบคุมในโรงงานอุตสาหกรรม ระบบหวั ฉีดในรถยนต์ และเคร่ืองใชใ้ นครัวเรือนท้งั หมด Real-time แบ่งได้ 2 ระบบ 1. Hard real-time system 2. Soft real-time system

ระบบต่าง ๆ ภายในคอมพวิ เตอร์ต้งั แต่อดตี ถงึ ปัจจุบัน ◼ ระบบคอมพิวเตอร์ส่วนบุคคล (Personal Computer System) ปัจจุบนั คอมพิวเตอร์ราคาถูกลง มีการพัฒนาอุปกรณ์ต่าง ๆ อย่างต่อเนื่อง ท้ัง แป้นพิมพ์ เมาส์ จอภาพ หน่วยความจา หน่วยประมวลผล เป็ นตน้ และการ ใชค้ อมพิวเตอร์ไม่ไดม้ ุ่งเนน้ ดา้ นธุรกิจเพียงอยา่ งเดียว แต่นาไปใชเ้ พื่อความ บันเทิงในบ้านมากข้ึน นอกจากคอมพิวเตอร์แบบต้งั โต๊ะ(Desktop) ยงั มี คอมพิวเตอร์แบบสมุดโน๊ต(Notebook) และคอมพิวเตอร์มือถือ (PDA) ปัจจุบนั มีโทรศพั ท์มือถือที่ทางานแบบคอมพิวเตอร์ และใชด้ ูหนังฟังเพลง หรือประมวลผลต่าง ๆ ที่ซับซ้อนมากข้ึน ใกลเ้ คียงกบั คอมพิวเตอร์แบบต้งั โตะ๊ ยงิ่ ข้ึน

การเปรียบเทยี บกนั ของ mainframe ,minicomputer และ microcomputer

ระบบต่าง ๆ ภายในคอมพวิ เตอร์ต้งั แต่อดตี ถึงปัจจุบนั ◼ ระบบเวอร์ชวลแมชีน (Virtual machine) เครื่องเสมือน ทาให้ผูใ้ ช้ คอมพิวเตอร์รู้สึกเหมือนใชค้ อมพิวเตอร์เพียงคนเดียว แต่ในความเป็นจริงจะ บริการใหผ้ ใู้ ชห้ ลายคน ในหลายโปรเซส โดยใชเ้ ทคโนโลยี Virtual machine บริการงานต่าง ๆ ใหก้ บั ผใู้ ชไ้ ดห้ ลาย ๆ งานพร้อมกนั ◼ ระบบมลั ติโปรเซสเซอร์ (Multiprocessor system) - Symmetric-multiprocessing - Asymmetric-multiprocessing

ระบบต่าง ๆ ภายในคอมพวิ เตอร์ต้งั แต่อดตี ถึงปัจจุบัน ◼ ระบบแบบกระจาย (Distributed system) ระบบเครือขา่ ย ท่ีกระจายหนา้ ที่ กระจายการเป็นศูนยบ์ ริการ และเช่ือมต่ เขา้ ดว้ ยกนั ดว้ ยจุดประสงคต์ า่ ง ๆ กนั ในมาตรฐาน TCP/IP ซ่ึงเป็นที่ ยอมรับท้งั Windows, Linux, Unix และ Mac ทาใหท้ ้งั หมดสามารถสื่อสาร กนั รู้เร่ืองเขา้ ใจ และก่อใหเ้ กิดประโยชน์ร่วมกนั

โครงสร้างของระบบคอมพวิ เตอร์ (COMPUTER SYSTEM STRUCTURES) 1. ระบบการทางานของคอมพวิ เตอร์ (Computer-System Operation) ระบบคอมพวิ เตอร์ยคุ ใหม่จะมี CPU, device controller ซ่ึงเช่ือมโยงกนั ผา่ น common bus ซ่ึง share memory ร่วมกนั ดงั รูป

โครงสร้างของระบบคอมพวิ เตอร์ disk disk CPU disk printer tape-drive controller controller controller memory controller memory

◼ เมื่อคอมพิวเตอร์เร่ิม running ตวั อยา่ งเช่น เมื่อเปิ ดสวิตช์ หรือ reboot กจ็ าเป็นท่ีจะตอ้ ง run โปรแกรมเร่ิมตน้ (initial program) หรือ boot strap program ซ่ึงเป็นการนา register ของ CPU และ device controller เขา้ สู่หน่วยความจา bootstrap program ตอ้ งถูก load ไปไว้ ใน kernel ของระบบปฏิบตั ิการ ระบบปฏิบตั ิการจึงจะเริ่ม execute โปรแกรมแรก เช่น “init” และรอผลลพั ธ์ ผลที่ไดม้ กั เป็ นสัญหญหาณ ขดั จงั หวะ จากฮาร์ดแวร์หรือซอฟแวร์ ฮาร์ดแวร์อาจขดั จงั หวะโดย ส่งสัญหญหาณผา่ นทาง system bus มาที่ CPU โดยซอฟแวร์ ขดั จงั หวะ โดยการปฏิบตั ิการบางอยา่ งที่พิเศษเรียกว่า system call หรือ monitor call

◼ เมื่อ CPU ถูกขดั จงั หวะ ก็จะหยดุ ทางานท่ีกาลงั ทาอยู่ แลว้ หันไป ทางานตามสัญหญหาณขัดจังหวะน้ันทันที โดยย้ายไปทางานยัง ตาแหน่งในหน่วยความจาที่บรรจุโปรแกรมสาหรับดาเนินการกบั สัญหญหาณน้นั (interrupt service routine) เมื่อดาเนินการเสร็จ CPU ก็ จ ะ ก ลับ ไ ป ท า ง า น เ ดิ ม ท่ี ค้า ง ไ ว ้ห น้ า ท่ี โ ด ย ทั่ว ไ ป ข อ ง สั ญห ญห า ณ ขดั จงั หวะ

หนา้ ท่ีโดยทว่ั ไปของสญั หญหาณขดั จงั หวะ ◼ สัญหญหาณขัดจังหวะจะส่งการควบคุมไปยัง interrupt service routine ผ่านทาง ตารางสัญหญหาณขดั จงั หวะ (interrupt vector) (array ของ address ของ service routine ต่าง ๆ) ◼ สถาปัตยกรรมของสัญหญหาณขัดจังหวะ จะต้องบันทึก ตาแหน่งของชุดคาสง่ั ท่ีถูกขดั จงั หวะไว้ ◼ สัญหญหาณขดั จงั หวะท่ีเขา้ สู่ระบบจะถูก disable ถา้ มีการ ทางานของสัญหญหาณขัดจังหวะตัวอื่นอยู่ก่อนแล้ว เพ่ือ ป้องกนั การสูญหหายของสญั หญหาณขดั จงั หวะ (lost interrupt)

หนา้ ที่โดยทว่ั ไปของสญั หญหาณขดั จงั หวะ ◼ ในระบบที่ซบั ซอ้ นข้ึนอาจยอมให้มีการขดั จงั หวะซ้อน ๆ กนั ได้ โดยเรียงตามศกั ด์ิ(Priority) สัญหญหาณท่ีมีศกั ด์ิสูงกว่าอาจขดั จงั หวะ สญั หญหาณท่ีมีศกั ด์ิต่ากวา่ แต่ถา้ มีศกั ด์ิเท่ากนั ตอ้ งรอ interrupt พร้อม กนั ไม่ได้ ◼ ระบบปฏิบตั ิการยุคใหม่ ใช้ ตวั ขบั สัญหญหาณขดั จงั หวะ (interrupt driver) ถา้ ไม่มีการ process ไม่มีการเรียกใชอ้ ุปกรณ์รับส่งขอ้ มูล ไม่มีการตอบสนองผูใ้ ช้ ระบบปฏิบตั ิการก็ไม่ตอ้ งทาอะไร นั่น เป็นสญั หญหาณบอกเหตุวา่ เกิด interrupt หรือ trap (กบั ดกั ) ◼ trap คือ software-generated interrupt (การเกิดการขดั จงั หวะของ ซอฟแวร์) ซ่ึงเกิด error หรือไม่ก็เกิดจาก การร้องขอของ โปรแกรมของผใู้ ช้

การจัดการสัญญาณขดั จงั หวะ 1. ระบบปฏิบตั ิการจะรักษาสถานภาพ (state) ของ CPU ด้วยการเกบ็ registers และ program counter ไว้ 2. ตรวจสอบดูว่าเกดิ สัญญาณขัดจังหวะชนิดไหน ➢ อาจเป็ น polling (การร้องขอของอุปกรณ์รับส่งข้อมูล) ➢ หรือ vectored interrupt system (การระบุตาแหน่ง (address) ผดิ ) 3. แยกส่วนของ code เพ่ือกาหนดว่าควรทาอะไรกบั แต่ละชนิดของ การขัดจงั หวะน้ัน


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook