Transcript now
ความรู้เบื ้องต้ นเกี่ยวกับระบบปฏิบตั ิการ
(INTRODUCTION)
• ฮาร์ ดแวร์ (Hardware): อุปกรณ์อิเล็กทรอนิกส์พื ้นฐานของระบบ
คอมพิวเตอร์
• ระบบปฏิบตั ิการ(Operating System)
• แอพพลิเคชันโปรแกรม (Application programs): โปรแกรมใช้ งาน
เฉพาะทางต่างๆ
• ผู้ใช้ ระบบ (User)
โปรแกรมที่ทางานเป็ นตัวกลางระหว่างผู้ใช้ งานกับคอมพิวเตอร์ ฮาร์ ดแวร์
วัตถุประสงค์หลัก
◦ เพื่อทาการ execute โปรแกรมของผู้ใช้ และช่วยแก้ ไขปั ญหาต่างๆ ที่ผ้ ใู ช้
ต้ องการให้ คอมพิวเตอร์ ทางานให้ หรื อประมวลผลให้ สาเร็จ ลุล่วง
โดยง่าย
◦ ทาให้ ระบบคอมพิวเตอร์ ใช้ งานได้ สะดวก ง่ายขึ ้น
◦ ใช้ งานฮาร์ ดแวร์ ได้ อย่างเต็มประสิทธิภาพ
• จัดสรรทรัพยากรของระบบ (Resource Allocator): ให้ ใช้ งาน
ต่อเนื่องและมีประสิทธิภาพ
• ควบคุมโปรแกรม(Control Program): การ execute โปรแกรม และ
การทางานของ Input , Output
• เคอร์ เนล (Kernel): โปรแกรมที่ทางานอยูต่ ลอดระยะเวลาที่เครื่ อง
คอมพิวเตอร์ ทางาน, แกนของระบบปฏิบตั ิการ
• ระบบปฏิบตั ิการสาหรับการใช้ งานแบบ stand-alone เช่น DOS,
Window, Mac
• ระบบปฏิบตั ิการสาหรับงานคอมพิวเตอร์ แบบเครื อข่าย เช่น
Netware, Linux, Window server…
• ระบบปฏิบตั ิการแบบฝั งตัว (Embedded OS) เช่น Windows CE,
Window mobile, Pocket PC’s OS, Palm OS…
• ระบบปฏิบตั ิการสาหรับการใช้ งานได้ คนเดียว (single user) เช่น
Window XP, Window 7…
• ระบบปฏิบตั ิการสาหรับใช้ งานได้ หลายคน (Multi user)เช่น
Netware, Linux, UNIX, Window server…
• ระบบปฏิบตั ิการสาหรับใช้ ได้ งานเดียว (Single Tasking)
• ระบบปฏิบตั ิการสาหรับใช้ ได้ หลายงาน (Multi Tasking)
วิวัฒนาการของระบบคอมพิวเตอร์
เริ่มจากการใช้ หลอดสูญญากาศ ไม่มีระบบปฏิบตั กิ าร
พัฒนาให้ สอดคล้ องและสัมพันธ์ กบ
ั ระบบคอมพิวเตอร์ ที่ทนั สมัยขึ ้น
ตามลาดับ
ระบบกลุ่มอย่ างง่ าย (Simple Batch Systems)
ระบบกลุ่มอย่ างง่ าย (Simple Batch Systems)
งานที่คล้ าย ๆ กันจะดาเนินการพร้ อม ๆ กันเป็ นกลุม่
การประสานงานระหว่างผู้ใช้ กบ
ั ระบบไม่สามารถทาได้ โดยตรง
ผู้ใช้ จะติดต่อผ่านโอเปอเรเตอร์ และโอเปอเรเตอร์ จะเรี ยงโปรแกรมเหล่านันเป็
้ นกลุม่ ที่
คล้ าย ๆ กัน แล้ วให้ คอมพิวเตอร์ รันทีละกลุม่ (Batch)
CPU ว่างบ่อย (Disk Technology)
Buffering
Spooling
disk
I/O
CPU
card reader
line printer
ระบบกลุ่มหลายโปรแกรม
(Multiprogramming)
ระบบกลุ่มหลายโปรแกรม
(Multiprogramming)
งานหลายๆงานจะถูก
จัดเก็บอยูใ่ น
หน่วยความจาหลักใน
เวลาเดียวกัน ในขณะที่
หน่วยประมวลผลทาการ
ประมวลผลงานต่างๆไป
พร้ อมๆกัน
ตัวอย่าง คนไข้ มาหาหมอหลายคน
- คนแรกหมอก็คยุ / คนอื่นก็ไป
ทาประวัติหรื ออ่านหนังสือพิมพ์
หรื อนัง่ รอเฉย ๆ เมื่อคนแรกไป
เอ็กซเรย์ หมอก็เรี ยกคนไข้ อีกคน
มารักษา เช่นนี ้หมอจะไม่เสียเวลา
ไปโดยเปล่าประโยชน์
คุณสมบัตทิ ่ จี าเป็ นของการทางานแบบหลายโปรแกรม
I/O Routine รองรับการทางานของอินพุธและเอาท์พธุ
Memory Management จัดสรรพื ้นที่ของหน่วยความจาให้ กบั งาน
หลายๆงาน
CPU Scheduling กาหนดการทางานของหน่วยประมวลผลได้ อย่างมี
ประสิทธิภาพ
Allocation of devices การจัดสรรอุปกรณ์ตา่ งๆ
ระบบแบ่ งส่ วนเวลา (Time-Sharing Systems)
การทางานแบบโต้ ตอบ
(Interactive)
• เมื่อผู้ใช้ ป้อนคาสัง่ ให้ ระบบปฏิบตั ิการหรื อ
โปรแกรมและได้ รับการตอบสนองทันที
• หน่วยประมวลผลจะทางานกับงานหลายๆ งาน
ตามเวลาที่เหมาะสม ด้ วยความเร็ วสูง
• งานแต่ละงานจะเกิดการสลับเข้ าออกจาก
หน่วยความจากับดิสก์ อยูต่ ลอดเวลา
ระบบแบ่ งส่ วนเวลา (Time-Sharing Systems)
การทางานแบบ
โต้ ตอบ
(Interactive)
• รองรับการสื่อสารแบบออนไลน์ ระหว่าง
ผู้ใช้ กบั ระบบ เมื่อระบบปฏิบตั ิการทาการ
เอ็กซ์ซีคิวท์คาสัง่ ใดๆ เสร็จสิ ้น ระบบจะ
ค้ นหาคาสัง่ ในการควบคุมถัดไปจาก
แป้นพิมพ์โดยอัตโนมัติ
ระบบแบ่ งส่ วนเวลา (Time-Sharing Systems)
คุณสมบัตทิ ่ จี าเป็ น
•ระบบปฏิบตั กิ ารจะใช้ CPU
scheduling การจัดการ
ไฟล์ข้อมูล การจัดพื ้นที่ดิสก์และ
หน่วยความจาเพื่อจัดสรรทรัพยากร
ต่างๆ ในระบบ
•สนับสนุนการประมวลผลข้ อมูลจานวน
มากในเวลาเดียวกัน
ระบบคอมพิวเตอร์ ส่วนบุคคล
(Personal-Computer System)
◦ ระบบคอมพิวเตอร์ ขนาดเล็กที่ใช้ งานได้ ทวั่ ไป
◦ สะดวกและง่ายต่อการใช้ งาน และตอบสนองความต้ องการผู้ใช้
◦ สามารถทางานด้ วยระบบปฏิบตั ิการประเภทต่างๆ อาทิ วินโดวส์
แมคโอเอส ยูนิกส์ ลินกุ ซ์ (Windows, MacOS,
UNIX, Linux)
ระบบคอมพิวเตอร์ ส่วนบุคคล
(Personal-Computer System)
ระบบคู่ขนาน (Parallel Systems)
- ระบบมัลติโปรเซสเซอร์
(Multiprocessor) ใช้ Processor
มากกว่า 1 ตัว ทางานร่วมกัน
- Tightly coupled system คือใช้
หน่วยความจาและสัญญาณเวลา (clock)
ร่วมกัน
ข้ อดีของ Parallel Systems
•ประมวลผลเร็วขึน้ แสดงผลได้ สูงขึน้
•ประหยัดค่ าใช้ จ่าย เพราะสามารถแชร์ ทรัพยากรกันได้
•เพิ่มความน่ าเชื่อถือ
•ลดความผิดพลาด
•ปั ญหาความล้ มเหลวของระบบ
การทางานแบบสมมาตร
(Symmetric-multiprocessing)
ใช้ ระบบปฏิบตั ิการ
เดียวกันทุก ๆ
โปรเซสเซอร์
ระบบปฏิบตั ิการในปั จจุบนั
สนับสนุน
Symmetricโปรเซสเซอร์ ทกุ ตัวทางาน multiprocessing
เท่ากัน โดยไม่มีการลด
ประสิทธิภาพหรื อ ปริ มาณ
งานที่รับเข้ ามา
การทางานแบบไม่ สมมาตร
Asymmetric-multiprocessing)
Processor แต่ละตัวมี
งานหรื อการประมวลผลที่ไม่
เท่ากัน
มีโปรเซสเซอร์ หลักคอย
บริ หารและจัดสรรทรัพยากร
(Master-slave)
ระบบกระจาย (Distributed Systems)
- การกระจายการประมวลผลให้ กบั โปรเซสเซอร์ ที่มีอยู่
- “Loosely coupled system” คือ
processor แต่ละตัวจะมีหน่วยความจาและอุปกรณ์เป็ น
ของตัวเอง การสื่อสารระหว่างโปรเซสเซอร์ ก็ทาได้ หลายวิธี เช่น
ผ่านทาง High-speed bus หรื อสายโทรศัพท์
ข้ อดีของ Distributed system
Resource sharing แบ่งสรรทรัพยากรเพื่อใช้ งานร่วมกัน
Load sharing แบ่งเบาภาระงานและเพิ่มความเร็วในการทางาน
Reliability ถ้ าเครื่ องแรกเสีย เราสามารถโอนข้ อมูลไปเครื่ องสองเพื่อทางานต่อโดยไม่ต้อง
รอได้
Communication ในการแลกเปลี่ยนข้ อมูล ไม่วา่ การแชร์ หรื อถ่ายโอนข้ อมูล
ระบบเสมือน (Virtual Machine)
- จาลองการประมวลผลให้ เสมือนมีมากกว่าหนึง่ เครื่ อง
- สนับสนุนให้ เครื่ องคอมพิวเตอร์ ทางานได้ มากกว่าหนึง่ งานโดยมี
Virtual Machine เป็ นตัวควบคุมและประสานงานกับ
ฮาร์ ดแวร์
Allows operating systems to run applications
within other OSes
◦ Vast and growing industry
Emulation used when source CPU type different
from target type (i.e. PowerPC to Intel x86)
◦ Generally slowest method
◦ When computer language not compiled to native code –
Interpretation
Virtualization – OS natively compiled for CPU,
running guest OSes also natively compiled
◦ Consider VMware running WinXP guests, each running
applications, all on native WinXP host OS
◦ VMM (virtual machine Manager) provides virtualization
services
Use cases involve laptops and desktops running
multiple OSes for exploration or compatibility
◦ Apple laptop running Mac OS X host, Windows as a
guest
◦ Developing apps for multiple OSes without having
multiple systems
◦ QA testing applications without having multiple systems
◦ Executing and managing compute environments within
data centers
VMM can run natively, in which case they are
also the host
Delivers computing, storage, even apps as a
service across a network
Logical extension of virtualization because it uses
virtualization as the base for it functionality.
◦ Amazon EC2 has thousands of servers, millions
of virtual machines, petabytes of storage
available across the Internet, pay based on usage
Many types
◦ Public cloud – available via Internet to anyone
willing to pay
◦ Private cloud – run by a company for the
company’s own use
◦ Hybrid cloud – includes both public and private
cloud components
◦ Software as a Service (SaaS) – one or more
applications available via the Internet (i.e., word
processor)
◦ Platform as a Service (PaaS) – software stack
ready for application use via the Internet (i.e., a
database server)
◦ Infrastructure as a Service (IaaS) – servers or
storage available over Internet (i.e., storage
available for backup use)
Cloud computing environments
composed of traditional OSes, plus
VMMs, plus cloud management tools
◦ Internet connectivity requires security like
firewalls
◦ Load balancers spread traffic across
multiple applications
ระบบโต้ ตอบฉับพลัน (Real-time Systems)
- สามารถตอบสนองความต้ องการผู้ใช้ รวดเร็วฉับพลัน
- ต้ องมี CPU ที่ประมวลผลด้ วยเวลาน้ อยที่สดุ
- เวลาการประมวลผลต้ องเป็ นศูนย์ แต่ที่ทาได้ คือ ลดเวลาการตอบสนองให้ น้อยสุด
ส่วนใหญ่ใช้ ในระบบเจาะจงพิเศษ เช่น งานทดลองทางวิทยาศาสตร์ ระบบภาพทาง
การแพทย์ งานควบคุมทางอุตสาหกรรม ระบบเสมือนจริง
Hard real-time system
(ทางานได้ เสร็จตรงตามเวลา)
- ไม่มีฮาร์ ดดิสก์หรื อมีขนาดเล็ก
- เก็บข้ อมูลใน Shortterm memory
(ROM)
ข้ อเสียคือ ไม่มีการซับพอร์ ตจาก
ระบบปฏิบตั ิการทัว่ ไป
Soft real-time system
ประยุกต์ใช้ ในระบบที่ต้องการเวลาตอบสนองที่ดี เช่น Multimedia,
Virtual reality และการสารวจใต้ น ้าหรื อดาวเคราะห์
มีการใช้ งานจากัดอยูเ่ พียงระบบควบคุมหุน่ ยนต์ทางอุตสาหกรรม
ใช้ งานร่วมกับ Time-sharing Systems
Handheld system
ใช้ กบั อุปกรณ์คอมพิวเตอร์ พกพา เช่น PDA, โทรศัพท์มือถือ,
Pocket PC…
Embedded Operating System
ข้ อจากัดของระบบ
◦ หน่วยความจา
◦ หน่วยประมวลความเร็วต่า
◦ พื ้นที่แสดงผลน้ อย
พัฒนาให้ รับข้ อมูลได้ หลากหลายขึ ้น เช่น Fingerprint,
Touch screen
Embedded system
ประกอบกับอุปกรณ์หรื อชิ ้นส่วนอิเล็กทรอนิกส์ขนาดเล็กทีม่ ีพลังงานและ
ทรัพยากรจากัด
ส่วนใหญ่เป็ นการทางานแบบ Real-time
มีการจัดการระบบและทรัพยากรได้ อย่างมีประสิทธิภาพ
◦ กล้ องถ่ายรูป
◦ อุปกรณ์นาร่องยานพาหนะ
◦ เครื่ องมือขนาดเล็ก
Multimedia system
เพื่อรองรับการใช้ งานข้ อมูลมัลติมีเดีย
มีการขนส่งแบบ stream ที่จาเป็ นต้ องต่อเนื่องของกระแสข้ อมูล
มีการจัดสรรทรัพยากรสาหรับใช้ ในการสนับสนุน
◦ การรับชม
◦ การดาวน์โหลด
◦ การติดต่อ
Operating systems made available in sourcecode format rather than just binary closedsource
Counter to the copy protection and Digital Rights
Management (DRM) movement
Started by Free Software Foundation (FSF), which
has “copyleft” GNU Public License (GPL)
Examples include GNU/Linux and BSD UNIX
(including core of Mac OS X), and many more
Can use VMM like VMware Player (Free on
Windows), Virtualbox (open source and free on
many platforms - http://www.virtualbox.com)
◦ Use to run guest operating systems for exploration