บทที่ 1 ระบบคอมพิวเตอร์ และระบบ...
Transcript of บทที่ 1 ระบบคอมพิวเตอร์ และระบบ...
บทท 1 ระบบคอมพวเตอร และระบบปฏบตการ
ระบบคอมพวเตอร
ระบบคอมพวเตอรประกอบดวย 3 สวนส าคญ คอ • ฮารดแวร (Hardware) • ซอฟตแวร (Software) • บคลากร (Peopleware)
ฮารดแวร (Hardware)
ฮารดแวร หมายถง เครองคอมพวเตอร และอปกรณอนๆ ทใชประกอบในการประมวลผลขอมลดวยเครองคอมพวเตอร เชน เมนบอรด หนวยประมวลผลกลาง (CPU) ซงสามารถแบงได 4 สวน คอ
• หนวยรบขอมล (Input Unit) • หนวยแสดงผล (Output Unit) • หนวยประมวลผลกลาง (Central Processing Unit) • หนวยความจ า (Memory Unit)
ฮารดแวรแตละชนดไมสามารถท างานไดดวยตนเอง แตตองน ามาเชอมตอเพอท างานรวมกนเปนระบบ
ฮารดแวร (Hardware)
สวนประกอบของระบบคอมพวเตอร
Input Unit / Output Unit
• หนวยรบขอมล (Input Unit) ท าหนาทรบขอมลหรอค าสงเขาส เครองคอมพวเตอร แลวสงไปเกบไวในหนวยความจ า เพอให CPU ประมวลผล ตวอยางของหนวยรบขอมล เชน คยบอรด สแกนเนอร กลองดจตอล • หนวยแสดงผล (Output Unit) ท าหนาทแสดงผลลพธทไดจากการประมวลผลของ CPU ทเกบอยในหนวยความจ า โดยรปแบบการแสดงผลจะขนอยกบความตองการของผใช ตวอยางของหนวยแสดงผล เชน จอภาพ ปรนเตอร ล าโพง
CPU (Central Processing Unit)
• หนวยประมวลผลกลาง (Central Processing Unit : CPU) มลกษณะเปนชพ (Chip) ขนาดเลก ท าจากซลคอน โดยภายในจะประกอบดวยวงจร (Circuit) จ านวนมากทคอยรบสญญาณขอมลเขามาเพอประมวลผล ท าหนาทประมวลผลค าส ง และควบคมการท างานทงหมดของระบบคอมพวเตอร โดย CPU ถอเปนหวใจของระบบคอมพวเตอร ประกอบดวยหนวยยอย 2 หนวย ดงน oหนวยควบคม (Control Unit) oหนวยค านวณและตรรกะ (Arithmetic/Logical Unit)
CPU (Central Processing Unit)
oหนวยควบคม (Control Unit) ท าหนาทอานค าสงจากหนวยความจ า แปลความหมายของค าสง และสงไปหนวยตางๆ ของเครองใหปฏบตตาม รวมถงควบคมและประสานงานการปฏบตงานขนตางๆ oหนวยค านวณและตรรกะ (Arithmetic/Logical Unit) ท าหนาทประมวลผลค าสงดวยวธการทางคณตศาสตร เชน +, -, x, / และเปรยบเทยบคาของขอมล เชน มากกวา หรอนอยกวา โดยผลลพธทไดจะน าไปเกบไวทหนวยความจ า
CPU (Central Processing Unit)
การท างานของ CPU การประมวลผลขอมลของ CPU ในแตละรอบ ประกอบดวย 4 ขนตอน เรยกวา “Machine Cycle” 1. Fetch Instruction : หนวยควบคมน าเขาค าสง (Instruction) ทจะถก Execute จากหนวยความจ าหลก (Main Memory) 2. Decode Instruction : ค าสงถกตความ (Decode) เพอใหรวาตองท างานอะไร จากนนขอมลทจะตองใชในการประมวลผลจะถกยายจากหนวยความจ ามาเกบไวทรจสเตอร (Register) จากนนจะก าหนดต าแหนงของค าสงถดไป 3. Execute Instruction : ALU ท างานตามค าสงทตความได โดยจะรบขอมลและค าสงมาจากรจสเตอร แปลขอมลและค าสงใหอยในรปไบนาร คอ 0, 1 แลวท าการประมวลผล 4. Store Results : เกบผลลพธทประมวลผลไดเกบลงในหนวยความจ าหลก
CPU (Central Processing Unit)
การท างานของ CPU
Memory Unit
• หนวยความจ า (Memory Unit) ท าหนาทจดเกบขอมลหรอค าสงทรบเขามาเพอสงตอไปยง CPU และเมอ CPU ประมวลผลเสรจจะน าผลลพธทไดมาเกบไวในหนวยความจ า เพอน าไปแสดงผลทางอปกรณแสดงผล หรอจดเกบลงหนวยความจ าส ารองตอไป หนวยความจ าแบงเปน 2 ชนด คอ oหนวยความจ าหลก (Primary Storage/Main Memory) oหนวยความจ าส ารอง (Secondary Storage)
Memory Unit
oหนวยความจ าหลก (Primary Storage/Main Memory) ท าหนาทเกบขอมลหรอค าสงทรบเขามา เพอรอให CPU เขาถงขอมลหรอค าสงนน เพอท าการคดลอกไปประมวลผล หากมการค านวณจะถกสงไปยง ALU แลวสงผลลพธกลบมาพกไวทหนวยความจ าอกครง เพอรอการเขาถงครงตอไป หนวยความจ าหลก แบงออกเปน 2 ประเภท คอ 1. ROM (Read Only Memory) 2. RAM (Random Access Memory)
Primary Storage/Main Memory
ROM (Read Only Memory) เปนหนวยความจ าทเกบขอมลไวแบบถาวร (Nonvolatile Memory) ไมสามารถลบไดดวยวธธรรมดาทวไป ขอมลภายใน ROM จะยงคงถกเกบอยไดโดยไมตองมไฟฟาไปเลยง ROM จะถกใชในการบนทกชดค าสง “ROM Bootstrap” เพอสงให CPU ท างานเมอเปดหรอรสตารทเครอง (Restart) และชดค าสง “ROM BIOS” เพอใชในการสงผานขอมลระหวาง CPU กบคยบอรด จอภาพ และฮารดแวรอนๆ โดยชดค าส งจะถกบนทกมาจากโรงงาน เรยกวา Firmware
Primary Storage/Main Memory
RAM (Random Access Memory) เปนหนวยความจ าชวคราว (Volatile Memory) เมอไมมกระแสไฟหรอเมอปดเครอง ขอมลทอยใน RAM จะหายไป โดย RAM ใชเกบขอมลหรอชดค าสงจากโปรแกรมในระหวางทเครองคอมพวเตอรก าลงท างาน นอกจากหนวยความจ าหลกแลว ยงมหนวยความจ า Cache (Cache Memory) ซงเปนหนวยความจ าขนาดเลก ท าให CPU สามารถเขาถง และคนหาขอมลไดเรวกวาหนวยความจ าหลก ท าให CPU ประมวลผลค าสงไดเรวขนดวย
Secondary Storage
oหนวยความจ าส ารอง (Secondary Storage) เปนหนวยความจ าเสรมทชวยจดเกบขอมลในรปของไฟล (File) เพอใหสามารถเรยกใชงานไดในครงตอไป หากไมมกระแสไฟฟากยงสามารถเกบขอมลไวไดโดยไมสญหาย และสามารถจดเกบขอมลไดมากกวาหนวยความจ าหลกหลายเทา เชน ฮารดดสก, Memory Stick, Flash Drive
Secondary Storage
วธการเขาถงขอมล (Access Mode) การเขาถงขอมลในหนวยความจ าส ารอง โดยทวไปม 2 วธ คอ 1. Sequential Data Access เปนการเขาถงขอมลแบบเรยงล าดบ คอ เรมตนจาก Record แรก ไปจนกระทงพบ Record ทตองการ หากขอมลมปรมาณมากจะใชเวลานานในการเขาถงขอมล เชน เทปแมเหลก 2. Direct Data Access เปนการเขาถงขอมลโดยตรง ไมจ าเปนตองเขาถงขอมลตงแต Record แรก แตสามารถเขาถงขอมลทตองการไดทนท ท าใหการเขาถงขอมลรวดเรวกวาแบบเรยงล าดบ และใชเขาถงขอมลทจดเกบอยในอปกรณทจดเกบขอมลแบบโดยตรงเหมอนกน เชน ฮารดดสก, CD, DVD รวมถง Flash Drive ดวย
ซอฟตแวร (Hardware)
ซอฟตแวร หมายถง โปรแกรมหรอชดค าสงทเขยนขนมาอยางเปนล าดบขนตอน เพอสงใหเครองคอมพวเตอรท างานตามความตองการอยางมประสทธภาพ และอ านวยความสะดวกใหกบผใช oซอฟตแวรประยกต (Application Software)
ซอฟตแวรทถกพฒนาขนเพอสงใหคอมพวเตอรท างานอยางใดอยางหนงโดยเฉพาะ เชน โปรแกรมเงนเดอน (Payroll), Microsoft Office oซอฟตแวรระบบ (System Software)
โปรแกรมทชวยควบคมการท างานของระบบคอมพวเตอรและอปกรณตางๆ เชน การน าขอมลเขามาประมวลผล การจดสรรหนวยความจ าส ารอง การแสดงผลของอปกรณแสดงผล
บคลากร (Peopleware)
บคลากร หมายถง บคลากรทท างานเกยวของกบคอมพวเตอร สามารถใชงาน สงงานใหคอมพวเตอรท างานตามทตองการ o ผจดการระบบ (System Manager)
วางนโยบายการใชคอมพวเตอรใหเปนไปตามนโยบายของหนวยงาน o นกวเคราะหระบบ (System Analyst)
ศกษาระบบงานเดมหรองานใหม และวเคราะหความเหมาะสม ความเปนไปไดในการใชคอมพวเตอรกบระบบงาน o โปรแกรมเมอร (Programmer)
ผเขยนโปรแกรมสงงานคอมพวเตอรใหท างานตามความตองการของผใช o ผใช (User)
ผใชงานคอมพวเตอรทวไป มการเรยนรการใชคอมพวเตอร และการใชงานโปรแกรม
ระบบปฏบตการ (Operating Systems)
ระบบปฏบตการ เปนซอฟตแวรระบบทท าหนาทเปนตวกลางระหวางฮารดแวรและซอฟตแวรประยกต ในการควบคมและจดสรรทรพยากรของระบบคอมพวเตอร เพอใหบรการแกซอฟตแวรประยกต โดยระบบปฏบตการถกเขยนขนมาจากภาษาระดบลาง เชน ภาษา Assembly
หนาทของระบบปฏบตการ
การตดตอกบผใช o ระบบปฏบตงานจะชวยใหผใชงานสามารถตดตอหรอสงใหคอมพวเตอรท างานท
ตองการได โดยสงผานทางอปกรณน าเขาขอมล เชน แปนพมพ เมาส o ท าหนาทเปนตวกลางรบค าสงจากอปกรณ และตดตอกบระบบคอมพวเตอรเพอ
ท างานตามทผใชตองการตอไป
ควบคมดแลอปกรณ o ระบบปฏบตการมโปรแกรมยอยมากมาย ทควบคมการท างานของอปกรณตางๆ ของ
ระบบคอมพวเตอร เชน เครองพมพ จอภาพ แผนดสก o ผใชงานไมจ าเปนตองเขยนโปรแกรมเพอควบคมอปกรณดงกลาวดวยตวเอง โดย
สามารถเรยกใชงานโปรแกรมยอยนนๆ ดวยการเรยก system call
หนาทของระบบปฏบตการ
จดสรรทรพยากรของระบบ o ระบบคอมพวเตอรมทรพยากรส าหรบใหผใชเรยกใชงาน เชน ซพย หนวยความจ า
หลก ดสก แตทรพยากรเหลานมจ านวนจ ากด ระบบปฏบตการจงมหนาทเขามาจดสรรทรพยากรทมอยอยางจ ากดใหเกดประโยชนสงสด
ตวอยางการจดสรรพนทในหนวยความจ า RAM o จดสรรหรอระบต าแหนงเกบขอมลบนพนทของ RAM กอนกระบวนการประมวลผล
จะเกดขน o เมอ CPU คดลอกขอมลไปประมวลผลเรยบรอยแลว ขอมลตนฉบบทเกบอยใน
RAM จะถกลบทง และถกแทนทดวยขอมลทเปนผลลพธ
หนาทของระบบปฏบตการ
ตวอยางการท างานจดสรรทรพยากรของระบบปฏบตการ o ตดตามสถานะของแตละทรพยากร เพอใหรวาถกใชงานหรอยงวางอย o เมอมการรองขอใชทรพยากรใดพรอมกน ระบบปฏบตการตองตดสนใจวาจะมอบ
ทรพยากรใหกบงานใดหรอโปรแกรมใด จะใหเมอใด และจะใหจ านวนเทาใด o จดสรรทรพยากร (allocate) คอ เมอใหทรพยากรกบงานใดหรอโปรแกรมใดไปแลว
จะท าการเปลยนสถานะของทรพยากรจาก วาง เปน ไมวาง o เมอผใชใชทรพยากรเสรจแลว ระบบปฏบตการจะเรยกทรพยากรกลบคนสระบบ
(deallocate) และเปลยนสถานะของทรพยากรจาก ไมวาง เปน วาง เพอใหผใชคนอน เรยกใชทรพยากรนนๆ ได
หนาทของระบบปฏบตการ
การจดการไฟล (File Manager) ระบบปฏบตการจะท าหนาจดการไฟลขอมลตางๆ ตามทผใชตองการ เชน การลบ จดเรยง คดลอก และตรวจสอบเนอทวางบนหนวยความจ า ส าหรบเครองมอจดการไฟลของระบบปฏบตการ Windows ไดแก Windows Explorer การฟอรแมท (Formatting) การจดเรยงเนอทในหนวยความจ าส ารองใหม เพอใหพรอมใชบนทกขอมลในครงถดไป
ววฒนาการของระบบปฏบตการ
ระบบปฏบตการมการพฒนาควบคไปกบระบบคอมพวเตอร จากคอมพวเตอร ยคแรกทมขนาดใหญ ใชหลอดสญญากาศ และไมมระบบปฏบตการ พฒนาจนถงยคทคอมพวเตอรมขนาดเลก มระบบปฏบตการทมโครงสรางทน ามาใชงานไดอยางมประสทธภาพ โดยสามารถแบงระบบปฏบตการตามคณสมบตการท างานไดดงนน
o ระบบทไมมระบบปฏบตการ (Non Operating Systems) o Simple Batch System o Multiprogramming System o Time-Sharing System o Real Time System o Multiprocessor System o Distributed System
ระบบทไมมระบบปฏบตการ
o อยในชวงของคอมพวเตอรยคแรกๆ คอมพวเตอรจะไมมระบบปฏบตการ ผใชตองเขยนโปรแกรมเพอควบคมการท างานทงหมด
o ท าใหใชประโยชนจากคอมพวเตอรไดนอยมาก (Low Utilization) o งานทไดจะขาดความนาเชอถอ (Low Reliability) o มการจางโอเปอเรเตอร (Operator) เพอท าหนาทรวบรวมงาน และเตรยม
ระบบส าหรบผใชงาน
Simple Batch Systems
o คอมพวเตอรมขนาดใหญ ท าการรบขอมลจากคอนโซล (Console) มการพฒนาอปกรณส าหรบน าเขาขอมล และอปกรณส าหรบน าขอมลออก เชน เครองอานบตร เครองพมพ เทปไดรฟ
o ผใชไมไดตดตอกบระบบคอมพวเตอรโดยตรง แตเปนเพยงผเตรยมขอมลเขยนโปรแกรม ขอมลส าหรบควบคมระบบ
o มโอเปอเรเตอรท าหนาทรวบรวมงาน จดเรยงล าดบงานเปนกลม งานมกอยในรปบตรเจาะร แลวจงสงงานทงหมดเขาระบบ โดยจะถกเอกซควตทละงาน หรอรนทละกลมงาน (Batch)
Simple Batch Systems
o การท างานในระบบน CPU จะวาง (idle) บอยมาก เนองจากความเรวของ CPU และอปกรณรบสงมความแตกตางกนมาก ท าให CPU ตองหยดรอเพอใหอปกรณในการอานขอมลท างานเสรจกอน
o การใชประโยชนจาก CPU อยในระดบต ามาก (Low CPU Utilization) และมดเลย (Delay) เกดขนระหวางชวงทรนงานจนถงงานเสรจ เรยกกวา “Turnaround time”
Buffering
o ในการท างานจะใหอปกรณรบสงขอมลท างานไปพรอมๆ กบการประมวลผลของ CPU โดยขณะท CPU ประมวลผลค าสงหนง อปกรณรบสงขอมลจะน าเขาขอมลตอไปท CPU ตองการใชงานเขาไปเกบไวในหนวยความจ า เรยกวา บพเฟอร (Buffer)
o ยงมปญหาในเรองความแตกตางระหวางความเรวของ CPU กบอปกรณรบสงอย เนองจาก CPU มความเรวสงกวาอปกรณรบสงขอมลมาก และประเภทของงานท CPU ประมวลผลนนอาจเปนงานทเนนการใชงาน CPU (CPU bound) หรอเนนการใชงานอปกรณรบสงขอมล (I-0 bound)
Spooling
o พยายามแกปญหาความแตกตางระหวางความเรวของ CPU กบอปกรณรบสงขอมล โดยใหมการถายเทขอมลไปยงอปกรณรบสงขอมลทมความเรวสงกวา เชน เทปแมเหลก
o เมอโปรแกรมตองการใชขอมล ระบบปฏบตการจะสงให CPU ไปอานขอมลทเทปแมเหลกแทน ท าใหประสทธภาพในการท างานของ CPU สงขนเลกนอย แตการท างานของโปรแกรมตองผานขนตอนมากขน และการเขาถงขอมลบนเทปแมเหลกตองเปนแบบล าดบ (Sequential Access)
o ตอมามการคดคนดสกขน จงไดเปลยนไปใชดสกแทนเทปแมเหลก ซงท าใหสามารถเขาถงขอมลไดโดยตรง (Direct Access) ท าใหระบบท างานไดรวดเรวมากขน
Spooling
o มการน าเอาระบบ Spooling ไปประยกตใชงานอนๆ เพอเพมประสทธภาพการท างานของระบบ เชน การสงพมพงานออกทางเครองพมพ
Multiprogramming System
o เพอใหสามารถท าไดหลายงานพรอมๆ กน โดยในการท างานจะมโปรแกรมประมวลผลมากกวา 1 งาน อยในภายในหนวยความจ าหลก
ระบบปฏบตการ
งานท 1
งานท 2
งานท 3
งานท 4
0
512K
Multiprogramming System
o ระบบปฏบตการจะท าหนาทเลอกงานหรอโปรแกรมเขาไปประมวลผลท CPU ทนทท CPU วาง จากนนอาจตองรอการอานเทปหรอรอการท างานของ I/O ระบบปฏบตการจะสวตซ (Switch) ไปท างานอกงาน ซงเมองานท 2 ตองรอ CPU จะสวตซไปอกงาน ไปเรอยๆ จนวนมาถงควของงานแรก ท าให CPU ไมมชวงเวลาวางเลย
o ระบบ Multiprogramming ชวยใหมการใชทรพยากรของระบบโดยเฉพาะCPU อยางเตมประสทธภาพ (High Utilization)
Time-Sharing System
o ปญหาของระบบ Multiprogramming คอ หากโปรแกรมหรองานทเขาไปท างาน CPU มขนาดใหญ หรอมการท างานท CPU เปนเวลานาน จะท าใหโปรแกรมอนๆ ทจะเขาไปท างานท CPU ตองรอ จงก าหนดใหมระบบการแบงเวลา (Time-Sharing) ส าหรบแตละโปรแกรมหรอแตละงานในการเขาไปท างานท CPU ในระยะเวลาทก าหนด
o ระบบคอมพวเตอรทมการท างานในระบบ Multiprogramming รวมกบ Time-Sharing นน จะชวยใหระบบสามารถใหบรการผใชไดหลายคนพรอมๆ กน โดยใหผใชแตละคนสลบกนเขาไปใชงาน CPU และเนองจาก CPU ท างานดวยความเรวสง ท าใหผใชงานรสกเหมอนเปนเจาของระบบทงหมด
Real-time System
o เปนระบบทใชในงานเฉพาะเจาะจง เชน งานทดลองวทยาศาสตร ระบบภาพทางการแพทย งานควบคมทางอตสาหกรรม
o ค านงถงอตราเวลาการตอบสนอง (Response time) เปนส าคญ โดยมการก าหนดระยะเวลาทจะตองท างานใหเสรจภายในเวลาทก าหนด
o มผลให CPU มการใชงานทต ามาก เนองจากระบบตองให CPU วางหรอเกอบวางตลอดเวลา เพอทระบบจะไดสามารถประมวลผลงานทนท เมอมขอมลเขามาในระบบ
Real-time System แบงเปน 2 ประเภท คอ o Hard real-time system o Soft real-time system
Real-time System
Hard real-time system o เปนระบบทก าหนดเวลาไวแนนอน เพอใหระบบท างานไดเสรจ หากวา
ระบบไมสามารถท างานเสรจไดตามเวลาทก าหนด จะเกดปญหารายแรง
Soft real-time system o เปนระบบทก าหนดเวลาไวแนนอนเชนกน แตถาระบบท างานไมเสรจ
ภายในเวลาทก าหนดไว จะไมเกดปญหารายแรงเทากบระบบทท างานแบบ Hard real-time
Multiprocessor System
o เปนระบบคอมพวเตอรทมการเพมแกน (Core) ในการประมวลผลใหมมากกวา 1 แกนบน Chip เดยวกน แตละตวท างานเปนอสระจากกน มการใชทรพยากรของระบบรวมกน เชน Dual-core Processor, Quad-core Processor
Multiprocessor System
ประโยชนของระบบ Multiprocessor o ชวยเพมปรมาณงาน (Throughput) ระบบคอมพวเตอรทม 2
CPU และแตละ CPU ท างานตางกน ดงนนในเวลาทเทากน ระบบทใชจ านวน CPU มากกวา ยอมใหปรมาณงานทมากกวา
o เพมความนาเชอถอของระบบ (Reliability) ดวยการก าหนดใหทกCPU ท างานเดยวกน เพอเปนการตรวจสอบความถกตองในการท างาน และม CPU ส ารอง ในกรณทเกดความเสยหายกบ CPU หลก
o ประหยดคาใชจาย ดวยการให CPU หลายตวใชทรพยากรของระบบรวมกน
Multiprocessor System
ระบบ Multiprocessor แบงเปน 2 ประเภท o Symmetric-multiprocessing เปนการประมวลผลโดยใช CPU มากกวา 1 ตว โดยทแตละ CPU ท างานเทากน ไมม CPU ตวใดรบโหลดหรอท างานมากกวาตวอน และใชระบบปฏบตการเดยวกนทก CPU o Asymmetric-multiprocessing เปนการประมวลผลโดยใช CPU มากกวา 1 ตว โดยม CPU ตวหนงเปนตวหลกท าหนาทบรหารจดสรรทรพยากร และแบงงานให CPU ตวอนๆ
Multiprocessor System
Distributed System
o เปนระบบคอมพวเตอรทแตละ CPU มทรพยากรเปนของตวเอง มการน าคอมพวเตอรแตละเครองมาเชอมตอกนดวยระบบเครอขาย แลวแจกจายงานใหกบ CPU ทมอย
Distributed System
ประโยชนของ Distributed System o การแชรทรพยากร (Resource Sharing) เปนการลดคาใชจายใน
การซออปกรณ เนองจากสามารถแชรกนได เชน พรนเตอร o การท างานเรวขน ถาเครองคอมพวเตอรทท างานอยมงานโอเวอรโหลด
(Overload) จะท าการสงงานบางสวนไปยงคอมพวเตอรเครองอน เรยกวธการนวา Load Sharing
o ความนาเชอถอ (Reliability) ถาเครองคอมพวเตอร A เสย สามารถโอนขอมลไปท างานทคอมพวเตอร B ไดโดยไมตองรอ