Download Operating System

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Introduction
Operating System
อ.ศรัญญา ตรีทศ สาขาวิชาวิทยาการคอมพิวเตอร์
ความหมายของระบบปฏิบัตกิ าร
• โปรแกรมคอมพิวเตอร์ (computer software) ที่ทาหน้ าที่
เป็ นตัวกลางหรือสื่อกลางระหว่ างผู้ใช้ คอมพิวเตอร์
(users) และตัวคอมพิวเตอร์ (computer hardware)
• จุดประสงค์ หลัก เพื่อจะอานวยความสะดวกให้ ผ้ ูใช้
คอมพิวเตอร์ (users) สามารถใช้ งานตัวคอมพิวเตอร์
(computer hardware) ได้ อย่ างสะดวกสบาย และมี
ประสิทธิภาพที่สุด
แนวคิดวิวัฒนาการระบบปฏิบัติการ
วิวัฒนาการ และชนิดของระบบปฏิบัตกิ าร (โดย ดร.ยรรยง เต็งอานวย เล่ มเขียว)
1. การป้ อนงานแบบกลุ่มด้ วยมือ (Manual batch system)
2. การป้ อนงานแบบกลุ่มโดยอัตโนมัติ (Automatic batch processing)
3. การทางานแบบ Buffering (พยายามทาให้ I และ O ทางานพร้ อมหน่ วยประมวลผลมากสุด เช่ น
printer)
4. การทางานแบบ off-line (เช่ น บัตรเจาะ หรื อเทปกระดาษ)
5. การทางานแบบ spooling (เป็ นหลักการใช้ จานแม่ เหล็กแทนอุปกรณ์ รับข้ อมูล และแสดงผลนีเ้ รี ยกว่ า
spooling : Simultaneous peripheral operation on-line)
ระบบมัลติโปรแกรมมิ่ง (Multiprogramming system)
6. ระบบแบ่ งเวลา (Time sharing system)
7. การทางานแบบโต้ ตอบ
8. ระบบโต้ ตอบแบบมัลติโปรแกรมมิ่ง
9. ระบบตอบสนองฉับพลัน (Real-time system)
แนวคิดวิวัฒนาการระบบปฏิบัติการ
• ปี พ.ศ. 2483-2492 สมัยคอมพิวเตอร์ ยังไม่ มีระบบปฏิบัตกิ ารที่
คอยประสานงานระหว่ างเครื่องคอมพิวเตอร์ กับผู้ใช้ งาน ต้อง
อาศัยบุคลากรที่มีความชานาญในการควบคุมสั่งงานเครื่อง
คอมพิวเตอร์ ทาให้ ไม่ มีการแพร่ หลายของคอมพิวเตอร์
• ปี พ.ศ. 2493-2497 นักพัฒนาระบบได้ มีแนวคิดว่ าจะสร้ าง
ระบบปฏิบัตกิ ารที่เชื่อมโยงให้ ผ้ ูใช้ สามารถใช้ คอมพิวตอร์ ได้ ง่าย
ขึน้ และทาให้ การใช้ งานคอมพิวเตอร์ แพร่ หลายและทางานได้
เต็มความสามารถของมันมากขึน้
ขนาดของคอมพิวเตอร์
•
•
•
•
•
•
Supercomputer จรวดไปนอกโลก
Mainframe
ธนาคาร โรงพยาบาล ตลาดหลักทรัพย์
Minicomputer หน่ วยงาน , ธุรกิจขนาดกลาง
Personal computer
ใช้ ตามบ้ าน, สานักงานทั่วไป
Computer notebook
ใช้ ส่วนบุคคล พกพาไปไหนได้
Palm
ขนาดพกพา ใส่ กระเป๋าเสือ้ ได้
User 1
User 2
Compiler
assembler
User 3
text editor
...
. . . database system
System and application programs
Operating system
Computer
hardware
User n
วิวัฒนาการคอมพิวเตอร์ จากอดีตสู่ปัจจุบนั
• ผู้ประดิษฐ์ เครื่องเท่ านัน้ ที่จะใช้ ได้
• ผู้ใช้ งานต้ องมีความรู้เกี่ยวกับเครื่องอย่ างลึกซึง้
• ภาษาที่ใช้ กับเครื่องเป็ นภาษาเฉพาะเครื่องนัน้ ๆ
(ภาษาเครื่อง หรือ machine language)
• ภาษาเครื่องเป็ นเลขฐานสอง (binary code)
• พัฒนาจากภาษาเครื่องที่เข้ าใจยาก จายาก ให้ เป็ นภาษา
ชุดคาสั่งที่เรียกว่ า ภาษาแอสเซมบลี ้ (assembly language)
คอมพิวเตอร์ ยุคแรกๆ
• มีตวั แปลภาษาแอสเซมบลีเ้ ป็ นภาษาเครื่องเรียกว่ า
assembler
• พัฒนาจาก assembly ซึ่งเป็ นภาษาระดับต่า ที่ผ้ ูใช้
จาเป็ นต้ องทราบโครงสร้ างการทางานของเครื่ อง มาเป็ น
ภาษาระดับสูงที่ง่ายขึน้ เช่ น ภาษา basic, cobol, fortran มี
ตัวแปลภาษาที่เรียกว่ า compiler หรือ interpreter
วิวัฒนาการของระบบปฏิบัตกิ าร
• ยุคแรกหากต้ องการรั นโปรแกรม ต้ องมีคนที่ชานาญคอยป้ อน
คาสั่งและข้ อมูลไปไว้ ในหน่ วยความจาหลักของเครื่ องครั ง้ ละคาสั่งหรื อครั ง้
ละตัวจนหมดโปรแกรมเสียก่ อน จากนัน้ ซีพียูจงึ จะเริ่มทางาน และถ้ าป้ อน
ผิดก็ต้องเริ่มป้ อนกันใหม่ ถ้ าต้ องการรั นหลายๆ โปรแกรมก็ต้องรอให้
โปรแกรมแรกเสร็จเสียก่ อน
• จากข้ างต้ นจะเห็นว่ างานนีเ้ ป็ นงานที่ทาเหมือนๆ กันทุกวัน และทาเป็ น
ประจาจึงมีการสร้ างโปรแกรมสาหรั บทางานประจานี ้ เรี ยกว่ า โหลดเดอร์
(loader) ซึ่งมีหน้ าที่ย้ายเอา code ของโปรแกรมที่ถูกเก็บไว้ ใน
หน่ วยความจารอง (secondary storage) ไปไว้ ในหน่ วยความจาหลัก (main
memory) และให้ ซีพียูรันโปรแกรมได้ ทันที และเก็บโปรแกรมไว้ สาหรั บทา
การรั นในครั ง้ ต่ อไปได้ โดยไม่ ต้องป้ อนใหม่
ระบบปฏิบัตกิ าร (Operating System)
•
•
•
•
•
•
เป็ นโปรแกรมระบบ (system software)
ทาหน้ าที่เป็ น loader และ compiler
จัดการแบ่ งปั นการใช้ ทรัพยากรของระบบ
ควบคุมจังหวะการทางานของโปรแกรมทัง้ หลายที่รันอยู่
เป็ นได้ ทงั ้ software, hardware หรือ firmware
มีเป้ าหมายให้ คอมพิวเตอร์ สามารถใช้ งานได้ สะดวก
Hardware OS
• เป็ น OS ที่ถูกสร้ างขึน้ จากอุปกรณ์ ทางอิเล็กทรอนิกส์
และเป็ นส่ วนหนึ่งของ hardware
• ทางานเร็วกว่ า Software OS
• การปรับปรุ งแก้ ไขยุ่งยาก และอาจทาไม่ ได้ (ต้ องซือ้ ใหม่ )
Firmware OS
•
•
•
•
•
ส่ วนของโปรแกรมที่เก็บไว้ เป็ นส่ วนหนึ่งของคอมพิวเตอร์
โปรแกรมเป็ นแบบ microprogram
สร้ างจาก microinstruction
คาสั่งนีท้ างานได้ รวดเร็ว
ความเร็วสูงกว่ า Software OS แต่ ช้ากว่ า Hardware OS
หน้ าที่ของระบบปฏิบัตกิ าร
1. ควบคุมการทางานของโปรแกรมและอุปกรณ์ตา่ งๆ (Control
Program)
2. จัดสรรทรัพยากรซึง่ ใช้ ร่วมกัน (Shared Resources)
 ทรัพยากรมีจากัด
 ทรัพยากรมีหลายประเภท
3. ติดต่อกับผู้ใช้ (User Interfaces)
วิวัฒนาการของระบบต่ างๆ
1. ระบบที่ไม่ มีระบบปฏิบตั กิ าร (Non operating System)
• ผู้ใช้ เขียนโปรแกรมควบคุมเครื่อง เตรียมข้ อมูล ทางาน
ตามโปรแกรม ตรวจสอบข้ อผิดพลาด
• ใช้ ประโยชน์ จากคอมพิวเตอร์ ได้ น้อยและไม่ ค้ ุมค่ า
• เพิ่ม operator ขึน้ มาทาหน้ าที่เตรียมข้ อมูล และเซ็ตอัพ
ระบบสาหรับผู้ใช้ งาน และจัดระบบหลังการใช้ งาน
• operator ต้ องมีความชานาญสาหรับคอมพิวเตอร์ นัน้ ๆ
วิวัฒนาการของระบบต่ างๆ
2. ระบบงานแบ็ตช์ (Batch system)
• แก้ ปัญหาเวลาของเครื่องเสียเปล่ าในระหว่ างตรวจสอบความ
ต้ องการทางาน และป้ อนงานเข้ าสู่เครื่อง โดยการใช้
บัตรรายการบันทึกข้ อมูล
• resident monitor
• รันโปรแกรมเรียงลาดับกันไปโดยจะมีข้อมูลปะหน้ าและท้ าย
โปรแกรม เพื่อแยกงานออกจากกัน และบอกลักษณะงานที่ทา
• มีภาษาสาหรับคุมงาน (Job Control Language : JCL)
• ใช้ ประโยชน์ CPU ต่ากว่ าประสิทธิภาพ เพราะต้ องรอการ
นาเข้ าข้ อมูล
วิวัฒนาการของระบบต่ างๆ
3. การทางานแบบบัฟเฟอร์ (buffering)
• ให้ หน่ วยรับ-แสดงผลทางานไปพร้ อมๆ กับ CPU
• มีการบันทึกข้ อมูลใหม่ เข้ ามาในขณะที่ข้อมูลเก่ ากาลัง
ประมวลผลอยู่
• มี buffer (ที่สาหรับเก็บข้ อมูลที่พร้ อมสาหรับการ
ประมวลผลต่ อไป)
• มีการหยุดรอระหว่ างซีพียูรออุปกรณ์ กรณีอุปกรณ์ ทางานได้ ช้า
หรือ อุปกรณ์ รอซีพียู กรณีข้อมูลนัน้ มีการคานวณมาก
วิวัฒนาการของระบบต่ างๆ
4. การทางานแบบออฟไลน์ (Off-line)
• มีการใช้ เทปแม่ เหล็กแทนเครื่องอ่ านบัตรหรือเครื่องพิมพ์ ท่ มี ี
ความเร็วต่า
• ใช้ วิธีจาลองข้ อมูลจากบัตรมาลงบนเทปแม่ เหล็กแทน
• การถ่ ายเทข้ อมูลไปยังเทป ทาคนละเวลากับการประมวลผล
• ต้ องทางานในลักษณะ device independent
• ต้ องรอให้ มีหลายๆ โปรแกรมแล้ วจึงจะนาข้ อมูลจากเทปลง
เครื่องทีหนึ่ง ทาให้ เกิดการรอนาน
วิวัฒนาการของระบบต่ างๆ
5. การทางาน Spooling
• ใช้ disk แทนเทป ทาให้ ความเร็วเพิ่มขึน้
• มีการบันทึกข้ อมูลใหม่ เข้ ามาในขณะที่ข้อมูลเก่ ากาลัง
ประมวลผลอยู่
• เป็ นจุดเริ่มการทางานแบบหลายงาน (multiprogramming) โดย
มีการถ่ ายเทข้ อมูลกับจานแม่ เหล็กในขณะเดียวกับที่ซีพียูทา
การประมวลผลได้
• สามารถเลือกว่ าจะทางานใน spool ว่ าจะทางานใดก่ อนงานใด
หลังได้ ตามลาดับความสาคัญ (priority)
วิวัฒนาการของระบบต่ างๆ
6. ระบบมัลติโปรแกรมมิ่ง (multiprogramming)
• มีโปรแกรมอยู่ในหน่ วยความจาหลักพร้ อมที่จะถูก
ประมวลผลได้ หลายโปรแกรม
• เมื่อโปรแกรมหนึ่งทางานเสร็จ หรือมีการหยุดคอยงาน
อะไรสักอย่ าง เช่ น รอเปลี่ยนเทป ระบบปฏิบัตกิ ารจะ
คัดเลือกงานอื่นที่พร้ อมเข้ ามาประมวลผลแทน และ
สามารถกลับมาประมวลผลงานเดิมที่ค้างอยู่ได้
วิวัฒนาการของระบบต่ างๆ
7. ระบบแบ่ งเวลา (Time Sharing)
• การทางานแบบโต้ ตอบ (online)
• ระบบโต้ ตอบแบบ multiprogramming
วิวัฒนาการของระบบต่ างๆ
8. ระบบตอบสนองฉับพลัน (Real-time system)
• คานึงถึงอัตราการตอบสนองเหนือสิ่งอื่นใด
• ต้ องทาให้ หน่ วยประมวลผลกลางว่ างอยู่
ตลอดเวลาเพื่อรอคอยงานและตอบสนองงานนัน้
ในทันทีทนั ใด
วิวัฒนาการของระบบต่ างๆ
9. ระบบคอมพิวเตอร์ ส่วนบุคคล (Personal Computer System : PC)
• อุปกรณ์ รับ-แสดงผลเปลี่ยนรูปแบบไป มีปุ่ม คีย์บอร์ ด เมาส์
เครื่องพิมพ์
• วิวัฒนาการระบบปฏิบัตกิ ารจาก CPM มาเป็ น DOS, Windows
3.x, Windows 95, Windows 98, Windows ME, Windows NT,
Windows 2000, Windows XP
• ประสิทธิภาพสูง ใช้ งานง่ าย ราคาเหมาะสม การดูแลรักษาไม่
ยุ่งยากซับซ้ อน สามารถนามาประยุกต์ ใช้ ได้ กับหลายๆ แขนงทัง้
การศึกษา ความบันเทิง การประกอบธุรกิจ หรืออื่นๆ
วิวัฒนาการของระบบต่ างๆ
10. ระบบเวอร์ ชวลแมชีน (Virtual Machine)
• ช่ วยให้ ผ้ ูใช้ ร้ ูสึกว่ าทางานกับคอมพิวเตอร์ หลายเครื่อง หรือช่ วย
ให้ ผ้ ูใช้ หลายคนทางานกับคอมพิวเตอร์ เครื่องเดียวได้
• ระบบคอมพิวเตอร์ เมนเฟรม โดยใช้ เทคนิคการจัดเวลาของ
ซีพียู และหน่ วยความจาเสมือน (virtual memory)
• คอมพิวเตอร์ ทางานได้ หลายโปรเซสพร้ อมกันโดยแต่ ละ
โปรเซสจะทางานเสมือนมีทรัพยากร คือ ซีพียูและ
หน่ วยความจาของตัวเอง
process
process
process
process
kernel
kernel kernel kernel
ฮารด์ แวร์
เวอร์ชวลแมชีน
ฮารด์แวร์
ไม่ ใช่ เวอร์ ชวลแมชชีน
เวอร์ ชวลแมชชีน
วิวฒั นาการของระบบต่างๆ
11. ระบบมัลติโปรเซสเซอร์ (Multiprocessor System)
• มีหลายโปรเซสเซอร์
• ใช้ ในการติดต่ อสื่อสารระยะใกล้
• ใช้ bus, clock, memory, device ร่ วมกัน
• เพิ่มประสิทธิภาพของเอาท์ พุต
• ประหยัดค่ าใช้ จ่ายเมื่อเทียบกับโปรเซสเซอร์ เดี่ยวหลายระบบ
• ทาให้ ระบบมีความน่ าเชื่อถือ เนื่องจากถ้ าโปรเซสเซอร์ ใด
ทางานผิดพลาดก็จะมีโปรเซสเซอร์ ตัวอื่นสามารถทางาน
ทดแทนได้
วิวัฒนาการของระบบต่ างๆ
12. ระบบแบบกระจาย (Distribution System)
• ตัวอย่ างที่เห็นชัดคือระบบเครือข่ ายอินเตอร์ เน็ต
• การเชื่อมต่ อกันระหว่ างคอมพิวเตอร์ เป็ นแบบหลวมๆ
(loosely coupled system)
• ระบบปฏิบัตกิ ารที่ใช้ ต้องรองรับที่เรียกว่ า NOS
(Network Operating System)
เหตุผลในการสร้ างระบบแบบกระจาย
• การแชร์ ทรั พยากร (Resource)
• เพิ่มความเร็วในการคานวณ มีการทา Load
Sharing
• ความน่ าเชื่อถือของระบบ
• การติดต่ อสื่อสาร
ข้ อพิจารณาในการเลือกระบบปฏิบัตกิ าร
• บริการ (Service) ของระบบปฏิบัตกิ ารที่มีให้
• การติดต่ อกับผู้ใช้ (User Interface) กับ
คอมพิวเตอร์
• การแยกส่ วนประกอบของระบบออกเป็ น
ส่ วนย่ อยๆ และการเชื่อมโยงระหว่ างส่ วนย่ อยๆ
นัน้
คอมโพเนนต์ ของระบบ (System component)
•
•
•
•
•
•
•
•
การจัดการโปรเซส (process management)
การจัดการหน่ วยความจา (memory management)
การจัดการไฟล์ (file management)
การจัดการอินพุต/เอาต์ พุต (I/O system management)
การจัดการสื่อจัดเก็บข้ อมูล (storage management)
เน็ตเวิร์ค (networking)
ระบบป้ องกัน (protection management)
ระบบตัวแปลคาสั่ง (command-interpreter system)
โปรเซส (process)
•
•
•
•
•
โปรแกรมที่กาลังรัน(run) หรือเอ็กซิคิวต์ (execute) อยู่
โปรแกรมที่อาจถูกรั น(run) หรือเอ็กซิคิวต์ (execute) ใน
อนาคต
โปรแกรมที่รวมกันเป็ นแบตช์ (batch)
การแชร์ เวลาของโปรแกรม
งาน spool สาหรับเครื่องพิมพ์
process management
• การสร้ างและลบโปรเซสของระบบและผู้ใช้
• การหยุดและทาโปรเซสต่ อไป
• การจัดเตรี ยมกลไกสาหรั บการติดต่ อสื่อสาร
โปรเซส
• การจัดเตรี ยมกลไกการแก้ ไข deadlock
Memory management
•
•
•
ติดตามการใช้ งานหน่ วยความจาส่ วนต่ างๆ ว่ าทาอะไร
และของใคร
ตัดสินใจว่ าโปรเซสใดจะโหลดเข้ าสู่หน่ วยความจาเมื่อมี
หน่ วยความจาว่ าง
จัดสรรการใช้ หน่ วยความจาเมื่อจาเป็ นต้ องใช้
File management
• สร้ างและลบไฟล์
• สร้ างและลบไดเร็กทอรี่ หรื อโฟลเดอร์
• สนับสนุนการจัดการไฟล์ ในรู ปแบบเดิมๆ
ที่ผ่านมา
• แมพไฟล์ ไปยังสิ่งที่ใช้ จัดเก็บข้ อมูล
• แบ็คอัพหรื อสร้ างไฟล์ สารอง
Storage management
• primary storage -- ram
• secondary storage – disk
• virtual memory (จาลองหน่ วยจัดเก็บ
ข้ อมูลบนดิสก์ ให้ เป็ นหน่ วยความจา)
Storage management
• จัดการเนือ้ ที่ว่างบนดิสก์
• จัดการตาแหน่ งจัดเก็บข้ อมูลที่อาจกระจัด
กระจาย แต่ เมื่อมีการใช้ งานจะต้ องทางานได้ เร็ว
โดยมีพอยเตอร์ ชีไ้ ปยังกลุ่มข้ อมูลเดียวกัน
• การจัดแบ่ งเวลาการใช้ ดสิ ก์
Networking
• ใช้ กับระบบแบบประจาย (distributed system)
• แต่ ละเครื่ องมี processor, memory, clock เป็ นของ
ตัวเอง
• การติดต่ อระหว่ าง processor ผ่ านทางสาย
สื่อสาร
Protection management
•
•
•
•
การป้ องกัน (protection) หมายถึง กลไกที่ใช้ ควบคุมการ
access program การ process และควบคุมผู้ใช้ จาก
device ที่กาหนดโดยระบบคอมพิวเตอร์
ระบบป้ องกันคือ ระบบที่ควบคุมการใช้ งานจากผู้ใช้ ท่ ี
ไม่ มีสิทธิ์ในการใช้
ป้ องกันการ execute พร้ อมๆ กันหลายโปรเซส
ป้ องกันการใช้ ทรัพยากรพร้ อมกัน
Command-interpreter system
• shell ”นาคาสั่งต่ อไปเข้ ามา execute”
• command interpreter ตัวแปลคาสั่งซึ่งเป็ นการ
interface ระหว่ างผุ้ใช้ กับ OS
• บาง OS มีตัวแปลคาสั่งอยู่ใน kernel เลย เช่ น
Windows บางระบบเช่ น UNIX จะมีการรั น
โปรแกรมพิเศษเมื่องานเริ่มต้ นหรื อ login
บริการของระบบปฏิบัตกิ าร
Operating system services
•
•
•
•
•
•
•
การ execute โปรแกรม
การปฏิบัตกิ ับ input/output
การจัดการกับระบบไฟล์
การติดต่ อสื่อสาร
การตรวจจับข้ อผิดพลาด
การแชร์ ทรัพยากร
การป้ องกัน
System Calls
•
•
•
•
•
การควบคุมโปรเซส
การจัดการกับไฟล์
การจัดการดีไวซ์
การบารุ งรั กษาข้ อมูล
การติดต่ อสื่อสาร
Related documents