Professional Documents
Culture Documents
(Operating Systems)
น.ท.ไพศาล โมลิ สกุ ล
มงคล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 1
บทที่ 15
ระบบปฏิบตั กิ าร
Windows 2000
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 2
ประวั
ประวัตตขิ ขิ อง
องWindows
Windows2000
2000
ระบบปฏิบตั ิการของ Microsoft สำหรับเครื่ องเดสก์ทอปและแลปทอป
สามารถแบ่งเป็ น 3 ตระกูลคือ
MS-DOS
Windows (รวมทัง้ Windows 3.1/95/98/ME)
Windows NT (รวมทัง้ Windows 2000)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 3
MS-DOS
MS-DOS
ในปี ค.ศ.1981 IBM ซึง่ เป็ นยักษ์ ใหญ่ในวงการคอมพิวเตอร์ ในขณะนันได้ ้
ผลิตเครื่ องคอมพิวเตอร์ สว่ นบุคคล หรื อ PC (Personal Computer)
ระบบปฏิบต ั ิการเป็ นคำสัง่ บรรทัดเดียวที่ชื่อ MS-DOS 1.0
ระบบปฏิบต ั ิการนี ้สร้ างโดยบริษัท Microsoft ใช้ ตวั แปลภาษา BASIC
สำหรับใช้ บน 8088 และ Z-80
ระบบปฏิบต ั ิการประกอบด้ วย หน่วยความจำ 8 กิโลไบต์ใกล้ เคียงกับ
โมเดล CP/M ในช่วงเวลา 2 ปี ต่อมาระบบปฏิบตั ิการมีประสิทธิภาพสูงขึ ้น
เป็ น 24 กิโลไบต์ โดยใช้ MS-DOS 2.0 ที่ยงั คงเป็ นบรรทัดคำสัง่ ที่ขอยืมมา
จาก UNIX อยู่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 4
MS-DOS
MS-DOS
Intel ได้ ผลิตซีพียู 80286 ขึ ้นมา ทาง IBM จึงได้ สร้ าง PC/AT ในปี 1986
โดยที่ AT มาจากคำว่า Advance Technology เนื่องจาก 80286 สามารถ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 5
Windows
Windows3.1
3.1
ในขณะที่ MS-DOS 3.0 เป็ นระบบปฏิบตั ิการของ PC ในช่วงนัน้ ผู้ใช้ ให้
ความสนใจและหลงไหลยูเซอร์ อินเทอร์ เฟซของ Apple Lisa ซึง่ ทำงานบน
Apple Mcintosh
ทาง Microsoft จึงตัดสินใจที่จะเพิ่มเซลล์ของ MS-DOS สามารถทำงานใน
ประสบความสำเร็ จมากนัก
ปี 1980 ถึงเวลาของ Windows 3.0 ที่รันกับ 80386 จนมีเวอร์ ชน
ั 3.1 และ
3.11 ออกมา
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 6
Windows
Windows95/98/ME
95/98/ME
Windows 95 ที่วางจำหน่ายในปี 1995 ก็ยงั คงแยกตัวออกจาก MS-DOS
ไม่สมบูรณ์ (ถึงแม้ จะถ่ายโอนมาจาก MS-DOS จนเข้ าใกล้ Windows แล้ ว
ก็ตาม)
ถึงแม้ Windows 95 จะเป็ นระบบปฏิบต ั ิการที่ได้ รับการพัฒนาอย่างมาก
แล้ วก็ตามไม่วา่ จะเป็ นด้ านความจำเสมือน, การจัดการหน่วยความจำ และ
มัลติโปรแกรมมิ่ง
Windows 95 ยังไม่ได้ เป็ นระบบปฏิบต ั ิการเต็มรูปแบบ มันยังคงมีโค้ ดแบบ
16 บิตภาษาแอสเซ็มบลีอยู่ และยังคงใช้ ระบบไฟล์แบบ MS-DOS อยู่
สิง
่ หลักที่เห็นได้ ชดั ในการเปลี่ยนแปลงก็คือชื่อไฟล์ที่มีความยาวได้ มากกว่า
ระบบ 8+3 ตามระบบของ MS-DOS
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 7
Windows
Windows95/98/ME
95/98/ME
Windows 98 ออกจำหน่าย MS-DOS (เวอร์ ชนั 7.1) ยังคงรวมตัวอยูใ่ น
โค้ ดถึงแม้ จะมีการแยกฟั งก์ชนั ออกมาจาก MS-DOS
มีการกำหนดเลย์เอาต์ของดิสก์ (จากเดิม FAT-16 เป็ น FAT-32) ให้ รองรับ
นัก
สิง
่ ที่แตกต่างหลัก ๆ อยูท่ ี่ยเู ซอร์ อินเทอร์ เฟซที่รวมเดสก์ทอปและ
อินเทอร์ เน็ตให้ ใกล้ ชิดกันมากยิ่งขึ ้น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 8
Windows
Windows95/98/ME
95/98/ME
ปั ญหาการใช้ งาน Windows 98 ยังคงมีอยู่ เนื่องมาจากการที่ไม่แยกตัว
ออกจาก MS-DOS อย่างเด็ดขาดนัน่ เอง
ในปี 2000 Microsoft ทำให้ ผ้ ใู ช้ เกิดข้ อสงสัยและสับสน เนื่องจากก่อนหน้ า
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 10
Windows
WindowsNT
NT
ลักษณะเด่นก็คือระบบไฟล์แบบ NTFS (New Technology File System)
ปี 1996 ทาง Microsoft ได้ พฒ ั นา Windows NT จนมาถึงเวอร์ ชนั 4.0 ซึง่
ระบบปฏิบตั ิการนี ้มีประสิทธิภาพสูงขึ ้น
Windows NT 4.0 นี ้มีรูปแบบยูเซอร์ อินเทอร์ เฟซคล้ ายกับ Windows 95
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 11
Item Windows 95/98 Windows NT
Full 32-bit system
Security
Protect file mapping
Private address space for each MS-DOS program
Unicode
Run on Intel 80x86 Intel 80x86, Alpha, MIPS,…
Multiprocessor support
Re-entrant code inside OS
Plug and play
Power management
FAT-32 file system Optional
NTFS file system
Win32 API
Run all old MS-DOS program
Some critical OS data writable by user
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 13
Windows
Windows2000
2000
ในขณะที่ระบบปฏิบตั ิการใช้ โหมด Kernel โปรเซสของผู้ใช้ เป็ นโหมดยู
เซอร์ ที่ได้ รับการป้องกันอย่างสมบูรณ์ แต่ละโปรเซสจะมี thread เท่าไรก็ได้
ด้ านเน็ตเวิร์ค Windows 2000 ได้ เพิ่ม X.500-based directory สนับสนุน
LANs
สำหรับ Windows 2000 Datacenter Server สนับสนุนโปรเซสเซอร์ ถง ึ 32
ตัว หน่วยความจำถึง 64 กิกะไบต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 15
เวอร์ ชัน หน่ วยความจำ จำนวน ไคล์ เอ็นต์ ขนาด เหมาะ
สูงสุด ซีพยี ู สูงสุด คลัสเตอร์ สำหรับ
Professional 4 กิกะไบต์ 2 10 0 Response
time
Server 4 กิกะไบต์ 4 ไม่จำกัด 0 Throughp
ut
Advanced 8 กิกะไบต์ 8 ไม่จำกัด 2 Throughp
Server ut
Datacenter 64 กิกะไบต์ 32 ไม่จำกัด 4 Throughp
ut
คอมแพติเบิล
ประสิ ทธิ ภาพ
การสนับสนุ นหลายภาษา
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 17
ความสามารถในการขยายระบบ
ความสามารถในการขยายระบบ
ความสามารถในการขยายระบบเป็ นความสามารถของระบบปฏิบตั ิการ
เพื่อก้ าวให้ ทนั กับเทคโนโลยีทางด้ านคอมพิวเตอร์ ที่เปลี่ยนไป
การเปลี่ยนของเทคโนโลยีทำให้ ผ้ พ ู ฒั นาออกแบบ Windows 2000 โดยใช้
สถาปั ตยกรรมเลเยอร์
โปรแกรมที่เขียนสำหรับ MS-DOS, Microsoft Windows และ POSIX
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 18
สามารถเคลื
สามารถเคลือ่ อ่ นย้
นย้าายได้
ยได้
สามารถเคลื่อนย้ ายได้ ถ้ามันสามารถย้ ายจากสถาปั ตยกรรมฮาร์ ดแวร์ หนึง่ ไปอีกส
ถาปั ตย์หนึง่ ที่มีการเปลี่ยนแปลงเพียงเล็กน้ อยได้
ระบบปฏิบต ั ิการ UNIX ที่ระบบส่วนใหญ่เขียนด้ วยภาษา C และ C++ ทุกโค้ ดจะ
แยกเก็บไว้ ใน Dynamic Link Library (DLL) ที่เรี ยกว่า Hardware-Abstraction
Layer (HAL)
โดยที่ DLL เป็ นไฟล์ที่เก็บข้ อมูลเพื่อแม็พกับแอ็ดเดรสของโปรเซส
DLL จะเป็ นส่วนหนึง ่ ของโปรเซส เลเยอร์ ด้านบนของ Windows 2000 จะขึ ้นกับ
HAL มากกว่าฮาร์ ดแวร์
ทำให้ Windows 2000 สามารถเคลื่อนย้ ายได้ HAL จะจัดการฮาร์ ดแวร์ โดยตรง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 19
เชืเชื่อ่อถืถืออได้
ได้
ความเชื่อถือได้ เป็ นความสามารถที่จะแก้ ไขข้ อผิดพลาดที่เกิดขึ ้น
รวมทังความสามารถที
้ ่ระบบปฏิบตั ิการจะป้องกันตัวเองและผู้ใช้ จาก
ซอฟต์แวร์ ที่ประสงค์ร้าย
Windows 2000 จะต่อต้ านการรุ กรานโดยใช้ การป้องกันทางฮาร์ ดแวร์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 20
คอมแพติ
คอมแพติเเบิบิลล
Windows 2000 มีความคอมแพติเบิลกับแอปพลิเคชันที่ได้ มาตรฐาน
IEEE 1003.1 (POSIX)
ดังนันสามารถคอมไพล์
้ และรันแอปพลิเคชันบน Windows 2000 ได้ โดยไม่
ต้ องเปลี่ยนซอร์ สโค้ ด
Windows 2000 ยังสามารถรันโปรแกรมที่คอมไพล์สำหรับสถาปั ตยกรรม
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 21
ประสิ
ประสิททธิธิภภาพ
าพ
Windows 2000 ถูกออกแบบให้ มีประสิทธิภาพสูง ระบบย่อยที่ทำให้
Windows 2000 สามารถสื่อสารกับระบบอื่นได้ อย่างมีประสิทธิภาพคือ
Local-Procedure-Call (LPC)
ในระบบย่อยของ Windows 2000 เป็ น thread ที่มีสท ิ ธิสงู ทำให้ ระบบ
โต้ ตอบกับเหตุการณ์ภายนอกได้ รวดเร็ว
เมื่อ Windows 2000 ถูกออกแบบให้ เป็ นมัลติโปรเซสซิ่งแบบสมมาตร
ทำให้ คอมพิวเตอร์ เครื่ องหนึง่ จัดการ thread ได้ หลาย thread พร้ อมกันใน
เวลาเดียวกัน
การขยายระบบของ Windows 2000 ยังมีข้อจำกัดเมื่อเทียบกับ UNIX
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 22
การสนั
การสนับบสนุ
สนุนนหลายภาษา
หลายภาษา
Windows 2000 ยังถูกออกแบบสำหรับการใช้ งานได้ หลายประเทศ มัน
สนับสนุนภาษาต่าง ๆ ผ่านทาง National Language Support API (NLS)
โดย NLS API นี ้จะมีรูทีนพิเศษที่จด ั รูปแบบวันเวลา, เงินตราตามการปรับ
ที่เปลี่ยนไป
ใน Windows 2000 จะใช้ การเปรี ยบเทียบสตริ งเพื่อกำหนดเป็ นคาแรก
เตอร์ ที่แตกต่างกัน
ชุดคาแรกเตอร์ พิเศษที่วา่ นี ้เป็ น UNICODE ซึง่ Windows 2000 จะ
สนับสนุนคาแรกเตอร์ แบบ ANSI โดยการแปลงเป็ นคาแรกเตอร์ แบบ
UNICODE ก่อนที่จะจัดการกับมัน (แปลง 8 บิตเป็ น 16 บิต)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 23
โครงสร้
โครงสร้าางระบบ
งระบบ
สถาปั ตยกรรมของ Windows 2000 เป็ นเลเยอร์ ของโมดูล
เลเยอร์ หลัก ๆ คือ HAL, Kernel และ Executive
ทุกเลเยอร์ จะรันใน protected mode และกลุม่ ของระบบย่อยที่รันใน user
mode
ระบบย่อยใน user model แบ่งออกเป็ น 2 กลุม ่ ใหญ่คือ
environmental subsystem (จำลองเป็ นระบบปฏิบตั ิการที่แตกต่างกัน)
protection subsystem (ที่มีฟังก์ชนั สำหรับการรักษาความปลอดภัย)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 24
บล็อกไดอะแกรมของ Widnows 2000
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 25
Hardware-Abstraction
Hardware-AbstractionLayer
Layer(HAL)
(HAL)
HAL เป็ นเลเยอร์ ของซอฟต์แวร์ ที่ซอ่ นฮาร์ ดแวร์ ที่แตกต่างจากเลเยอร์ ด้าน
บนของระบบปฏิบตั ิการ
เพื่อให้ Windows 2000 สามารถเคลื่อนย้ ายได้ HAL จะเอ็กพอร์ ตอินเท
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 26
Kernel
Kernel
Kernel ของ Windows 2000 สร้ าง Executive และระบบย่อย kernel จะไม่
ทำงานจนหน่วยความจำหมด
การเอ็กซิคิวต์ก็จะไม่ได้ รับสิทธิพิเศษก่อนเลย kernel รับผิดชอบ 4 ด้ านคือ
การจัดเวลาของ thread
การแก้ อินเทอร์ รัพต์
การซินโครไนซ์ของโปรเซสเซอร์ ระดับล่าง
การแก้ คืนเมื่อระบบล่ม
Kernel เป็ น object oriented ใน object type ของ Windows 2000 เป็ น
ระบบที่กำหนดประเภทข้ อมูลที่เป็ นชุดของแอ็ตตริ บิวต์ (หรื อค่าข้ อมูล) และ
ชุดของเมธอด (ฟั งก์ชนั หรื อโอเปอเรชัน)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 27
Kernel
Kernel
ตัวอย่างของ object เหล่านี ้คือ
event object จะใช้ บนั ทึกเหตุการณ์ที่เกิดขึ ้นและทำการซินโครไนซ์บางแอ็กชัน
mutant object จะควบคุมการเกิด mutual exclusion ใน kernel-mode และ
user-mode
mutex object จะมีเฉพาะใน kernel-mode จะช่วยไม่ให้ เกิด deadlock
semaphore object จะทำหน้ าที่เหมือนตัวนับเพื่อควบคุมจำนวน thread ที่ใช้
รี ซอร์ ส
thread object จะเป็ นสิง่ ที่รันโดย kernel และมีความสัมพันธ์กบั process
object
timer object จะติดตามเวลาและสัญญาณการขอเวลานอกเมื่อระบบใช้ เวลา
นานๆ และต้ องการอินเทอร์ รัพต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 28
Kernel
Kernel
ชุดที่สองของ kernel object ประกอบด้ วย control object ที่มี
Asynchronous Procedure Call (APC) เป็ นสิง่ ที่ระบบใช้ ในการหยุด thread ที่
กำลังเอ็กซิคิวต์อยูแ่ ละใช้ เรี ยกโปรซีเดอร์
interrupt object เป็ นออปเจ็กต์ที่รวม interrupt service routine ไว้ สำหรับ
interrupt source
power notify object เป็ นออปเจ็กต์ที่ระบบใช้ เรี ยกรูทีนพิเศษโดยอัตโนมัติเมื่อ
ไฟฟ้าขัดข้ อง
power status object เป็ นออปเจ็กต์ตรวจสอบสถานะของไฟฟ้าว่าขัดข้ องหรื อไม่
process object จะทำหน้ าที่แสดงตำแหน่งหน่วยความจำเสมือนและควบคุม
ข้ อมูลสำคัญเพื่อเอ็กซิคิวต์ชดุ ของ thread ที่สมั พันธ์กบั โปรเซส
profile object ทำหน้ าที่เก็บค่าเวลาที่ใช้ ในแต่ละชุดของโค้ ด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 29
Threadและการจั
Thread และการจัดดเวลา
เวลา
สำหรับสถานะของ thread นันจะมี
้ 6 สถานะดังนี ้
Ready : เป็ นสถานะที่พร้ อมในการรัน
Standby : เป็ นสถานะที่ thread เกิด ready และมี priority สูงสุด
Running : เป็ นสถานะที่รัน thread ซึง่ ก็คือการเอ็กซิคิวต์ในโปรเซสเซอร์
นัน่ เอง
Waiting : เป็ นสถานะที่หยุดคอยสัญญาณ เช่น การใช้ อินพุต/เอาต์พตุ สิ ้นสุด
แล้ ว
Transition : เป็ นสถานะที่ thread ใหม่รอคอยการใช้ รีซอร์ สสำหรับการเอ็กซิ
คิวต์
Terminated : เป็ นสถานะที่ thread เสร็จสิ ้นการเอ็กซิคิวต์แล้ ว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 30
Threadและการจั
Thread และการจัดดเวลา
เวลา
สำหรับการจัด priority ก่อนหลังในระบบจะมี dispatcher แบ่ง priority
เป็ น 32 ระดับ
เรี ยงลำดับการเอ็กซิคิวต์ thread ก่อนหรื อหลัง priority ดังกล่าวนี ้เป็ นออก
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 31
ข้ข้ออยกเว้
ยกเว้นนและการอิ
และการอินนเทอร์
เทอร์รรัพัพต์ต์
Windows 2000 กำหนดสถาปั ตยกรรมที่เป็ นข้ อยกเว้ นแบบอิสระไว้ รวมถึง
การใช้ หน่วยความจำผิดวิธี
ปั ญหาร้ ายแรงกับระบบในลักษณะจอสีฟ้าที่เรี ยกว่า “blue screen of
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 32
ระดับอินเทอร์ รัพต์ ประเภทอินเทอร์ รัพต์
31 Machine check or bus error
30 Power fail
29 Interprocessor notification (request another processor to
act; e.g., dispatch a processor or update the TLB)
28 Clock (used to keep track of time)
27 Profile
3-26 Traditional PC IRQ hardware interrupts
2 Dispatch and deferred procedure call (DPC)(kernel)
1 Asynchronous procedure call (APC)
0 passive
ระดับแสดงอินเทอร์ รัพต์ ด้านฮาร์ ดแวร์ ผ่านทาง HAL
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 33
การซิ
การซินนโครไนซ์
โครไนซ์โโปรเซสเซอร์
ปรเซสเซอร์รระดั
ะดับบล่ล่าางง
ความรับผิดชอบส่วนที่สามของ kernel คือมีการซินโครไนซ์โปรเซสเซอร์
ระดับล่าง
ปกติกลไกของ Asynchronous Procedure Call (APC) จะคล้ ายกับกลไก
ของ DPC
APC ถูกจัดเข้ าคิวได้ ทงใน
ั ้ system thread หรื อ user thread ถึงแม้ วา่
user-mode APC จะถูกเอ็กซิคิวต์เฉพาะเมื่อ thread ประกาศตัวเองเป็ น
alertable
ปกติแล้ ว APC มีประสิทธิภาพสูงกว่า DPC ตรงที่ APC สามารถครอบ
สมมาตร
ดังนัน้ kernel ต้ องป้องกัน thread ทังสองจากการเปลี
้ ่ยนของข้ อมูลที่แชร์
กันในเวลานัน้
โดย kernel จะใช้ spinlocks ที่อยูใ่ นหน่วยความจำเพื่อให้ เกิด mutual
exclusion ของมัลติโปรเซสเซอร์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 35
การกูก้ ก้ ลัลับบเมืเมื่อ่อไฟตก
การกู ไฟตก
ความรับผิดชอบข้ อสุดท้ ายของ kernel คือการแก้ ไขปั ญหาไฟตก อินเท
อร์ รัพต์ที่เกิดจากไฟตกเป็ น priority สูงสุด
อันดับสองที่แจ้ งระบบปฏิบต ั ิการเมื่อไฟตก โดย power-notify object
วิธีการทำให้ ดีไวซ์ไดร์ เวอร์ ลงทะเบียนรู ทีนไว้ ก่อน เมื่อเกิดปั ญหาก็ จะเรี ยก
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 36
Executive
Executive
คอมโพเนนต์ในระดับเดียวกันสามารถเรี ยกใช้ งานได้ คอมโพเนนต์ทงั ้ 10 มี
ดังนี ้
Object manager จะทำหน้ าที่จดั การทุกออปเจ็กต์ที่ระบบปฏิบตั ิการรู้จกั รวมถึง
โปรเซส, thread, ไฟล์, ไดเรกทอรี , semaphore, ดีไวซ์อินพุต/เอาต์พตุ และอื่น
I/O manager เป็ นเฟรมเวิร์คสำหรับจัดการดีไวซ์อินพุต/เอาต์พตุ
และอินพุต/เอาต์พตุ เซอร์ วิส มันยังเตรี ยมดีไวซ์ให้ ระบบโดยการเรี ยกไดร์ เวอร์ ที่
เหมาะสมกับอุปกรณ์อินพุตฝเอาต์พตุ
Process manager จะทำหน้ าที่ให้ บริ การโปรเซสและ thread ที่รวมทังการสร้
้ าง,
การลบ และการใช้ โปรเซสและ thread ขึ ้นอยูก่ บั กลไกการจัดการมากกว่าวิธี
การนำไปใช้ Process manager จะสร้ างโปรเซส และ thread ของ kernel
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 37
Executive
Executive
Plug-and-Play manager ในระบบปฏิบตั ิการจะทำหน้ าที่แจ้ งเตือนเมื่อมีดี
ไวซ์ใหม่เชื่อมต่อกับระบบทันทีที่บตู ระบบขึ ้นมา แต่ในบางดีไวซ์สามารถเชื่อม
ต่อได้ ในขณะที่ระบบกำลังทำงานอยู่
Power manager ทำหน้ าที่จดั การเกี่ยวกับพลังงานในระบบทังหมด ้ ตังแต่
้
การปิ ดมอนิเตอร์ , หยุดการใช้ ดิสก์เมื่อระบบไม่ได้ รับการตอบสองจากผู้ใช้ ใน
เวลาที่กำหนด สำหรับเครื่ องแลปทอป Power manager จะตรวจสอบการใช้
ไฟในแบ็ตเตอรี่ และจะแจ้ งเตือนเมื่อไฟเหลือน้ อยเพื่อให้ คณ ุ เตรี ยมการ
Configuration manager ทำหน้ าที่จดั การคอนฟิ กเุ รชันของระบบโดยจะ
จัดการลงในรี จิสตรี (registry) ทังการเพิ
้ ่มคีย์ใหม่ หรื อการพิจารณาคีย์เมื่อมี
การร้ องขอ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 38
Executive
Executive
Local Procedure Call manager ทำหน้ าที่ในการส่งผ่านคำร้ องขอและ
ผลลัพธ์ระหว่างโปรเซสของไคลเอ็นต์และเซิร์ฟเวอร์ ในเครื่ องเดียวกัน งาน
เฉพาะคือระบบจะใช้ LPC เพื่อร้ องขอเซอร์ วิสจากระบบย่อยของ Windows
2000
การสร้ างช่อง LPC เทคนิคการส่งผ่านแมสเสจอาจจะเป็ นแบบใดแบบ
หนึง่ ใน 3 แบบ
เทคนิคแรกเหมาะสำหรับแมสเสจขนาดเล็ก (ไม่เกิน 256 ไบต์) ในกรณีนี ้คิว
แมสเสจของพอร์ ตจะใช้ เป็ นสื่อเก็บข้ อมูลขนาดกลาง และแมสเสจจะถูก
ก็อปปี จ้ ากโปรเซสหนึง่ ไปยังโปรเซสอื่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 39
Executive
Executive
เทคนิคที่สองสำหรับสื่อเก็บข้ อมูลขนาดใหญ่ ในกรณีนี ้จะสร้ างออปเจ็กต์
เพื่อใช้ ในการแชร์ หน่วยความจำด้ วย แมสเสจที่สง่ ผ่านคิวแมสเสจของพอร์ ต
ประกอบด้ วยพอยเตอร์ และขนาดที่อ้างถึงออปเจ็กต์ของส่วนนัน้
เทคนิคการส่งผ่านแมสเสจของ LPC แบบที่สามนี ้เรี ยกว่า quick LPC ซึง่ ใช้
ในการแสดงส่วนที่เป็ นกราฟิ กของระบบย่อย Win32 เมื่อไคล์เอ็นต์ร้องขอ
quick LPC
เซิร์ฟเวอร์ จะสร้ างออปเจ็กต์ขึ ้นมา 3 ออปเจ็กต์คือ
dedicate server thread จะช่วยขจัดปั ญหาการทับซ้ อนในการพิจารณาว่า
thread ของไคลเอ็นต์ใดเรี ยกเซิร์ฟเวอร์ kernel จะจัดเวลาในการใช้ งานเพื่อ
เพิ่มประสิทธิภาพให้ ระบบ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 40
Executive
Executive
section object เป็ นออปเจ็กต์ขนาด 64 กิโลไบต์ ที่ให้ แมสเสจ LPC ส่งผ่าน
แมสเสจ โดยไม่ต้องก็อปปี เ้ นื่องจากมีการแชร์ หน่วยความจำ
even-pair object ซึง่ เป็ นซินโครไนซ์ออปเจ็กต์ที่ระบบย่อย Win32 ใช้ เมื่อ
thread ของไคล์เอ็นต์ก็อปปี แ้ มสเสจไปยังเซิร์ฟเวอร์ Win32 หรื อกลับกัน
ออปเจ็กต์นี ้ช่วยขจัดปั ญหาการทับซ้ อนในการใช้ พอร์ ตเพื่อส่งผ่านแมสเสจที่
ประกอบด้ วยพอยเตอร์ และขนาด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 41
Environmental
EnvironmentalSubsystem
Subsystem
Environmental Subsystem เป็ นโปรเซสแบบ user-mode ที่อยูด่ ้ านบน
ของ Executive ของ Windows 2000
แต่ละ Environmental Subsystem จะมี 1 API หรื อ application
เซส
สิง
่ นี ้ทำให้ Windows 2000 มีความแข็งแกร่ง เพราะสามารถตรวจสอบ
ความถูกต้ องของพารามิเตอร์ ที่สง่ ผ่านไปยัง system call ได้ ก่อนที่จะมีรูที
นของ kernel ร้ องขอ
Windows 2000 ไม่ยอมรับแอปพลิเคชันจาก API ต่างระบบกัน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 42
Environmental
EnvironmentalSubsystem
Subsystem
Win32 แบ่งกลุม่ แอปพลิเคชันเป็ น 2 กลุม่ คือ
เป็ นกราฟิ ก
ตัวอักษร
แอปพลิเคชันที่เป็ นตัวอักษรจะแสดงผลเป็ นแอสกี ้โค้ ดในรูปแบบ 80x24
Win32 จะแปลงผลลัพธ์ ของแอปพลิเคชันแบบตัวอักษรเป็ นกราฟิ กที่แ สดง
ในวินโดว์
เมื่อใดก็ตามที่มีการเรี ยกรู ทีนเพื่อแสดงผล environmental subsystem จะ
ฟั งก์ชนั CreateThread
thread จะสร้ างด้ วยสแต็กของตัวเอง ซึง่ สแต็กนี ้จะมีขนาดมาตรฐานเป็ น
1 เมกะไบต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 44
การจั
การจัดดการโปรเซส
การโปรเซสและ
และthread
thread
ทุก DLL หรื อไฟล์ที่สามารถเอ็กซิคิวต์ได้ จะถูกโหลดไว้ ที่เนื ้อที่แอ็ดเดรส
ของโปรเซสที่กำหนดโดย instance handle
ค่าของ instance handle เป็ นค่าของแอ็ดเดรสเสมือนที่ไฟล์นนโหลด ั้
แอปพลิเคชันสามารถรับค่า handle ของโมดูลในแอ็ดเดรสโดยการส่งผ่าน
ค่าของโมดูลไปยัง GetModuleHandle
ชื่อที่สง่ มามีคา่ เป็ น NULL แอ็ดเดรสของโปรเซสจะถูกส่งกลับไป จะไม่มี
การนำเนื ้อที่แอ็ดเดรสล่างสุด 64 กิโลไบต์ไปใช้
ดังนันโปรแกรมที
้ ่ผิดพลาดในการพยายามอ้ างอิงตำแหน่งพอยเตอร์ ของ
NULL จะไม่ยินยอมให้ แอ็กเซส
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 45
การจั
การจัดดการโปรเซส
การโปรเซสและ
และthread
thread
ในสภาวะแบบ Win32 เป็ นพื ้นฐานของโมเดลการจัดเวลาของ Windows
2000
Win32 แบ่งกลุม
่ priority เป็ น 4 กลุม่ คือ
IDLE_PRIORITY_CLASS (priority ระดับ 4)
NORMAL_PRIORITY_CLASS (priority ระดับ 8)
HIGH_PRIORITY_CLASS (priority ระดับ 13)
REALTIME_PRIORITY_CLASS (priority ระดับ 24)
Windows 2000 ยังแบ่งแยกระหว่างโปรเซสแบบฟอร์ กราวนด์ที่ปัจจุบนั
กำลังถูกเลือกอยูบ่ นจอภาพและโปรเซสแบบแบ็คกราวนด์ที่ปัจจุบนั ไม่ได้
ถูกเลือก
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 46
การจั
การจัดดการโปรเซส
การโปรเซสและ
และthread
thread
thread จะเริ่ มต้ นด้ วยค่า priority เบื ้องต้ นที่กำหนดโดยคลาส แต่คา่
priority นี ้สามารถเปลี่ยนแปลงได้ โดยฟั งก์ชนั SetThreadPriority
ฟั งก์ชนั นี ้นำอาร์ กิวเมนต์ที่กำหนดค่า priority ให้ สมั พันธ์กบั ค่า priority
เบื ้องต้ นของคลาสดังนี ้
THREAD_PRIORITY_LOWEST : base – 2
THREAD_PRIORITY_BELOW_NORMAL : base – 1
THREAD_PRIORITY_NORMAL : base + 0
THREAD_PRIORITY_ABOVE_NORMAL : base + 1
THREAD_PRIORITY_HIGHEST : base + 2
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 47
การจั
การจัดดการโปรเซส
การโปรเซสและ
และthread
thread
Kernel มีคลาสเกี่ยวกับ priority อยู่ 2 คลาสคือ
16-31 สำหรับคลาสแบบ real-time
0-15 สำหรับคลาสแบบ variable-priority
THREAD_PRIORITY_IDLE จะกำหนดให้ คา่ priority เป็ น 16 สำหรับ
thread แบบ real-time
กำหนดให้ เป็ น 1 สำหรับ thread แบบ variable-priority
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 49
การจั
การจัดดการโปรเซส
การโปรเซสและ
และthread
thread
ข้ อแตกต่างประการหลักระหว่าง thread กับ fiber ก็คือ
thread สามารถเอ็กซิคิวต์ได้ พร้ อม ๆ กันได้ หลาย thread
แต่สำหรับ fiber จะได้ รับอนุญาตให้ เอ็กซิคิวต์ได้ เพียง fiber เดียวในเวลานัน้
ถึงแม้ ฮาร์ ดแว์จะเป็ นแบบมัลติโปรเซสเซอร์ ก็ตาม
กลไกนี ้มีอยูใ่ นระบบปฏิบตั ิการ Windows 2000 เช่นเดียวกับที่มีอยูใ่ น
แอปพลิเคชันบน UNIX ที่เขียนขึ ้นมาสำหรับโมเดล fiber-execution
สำหรับ Windows 2000 จะมีการสร้ าง fiber โดยอาจจะเรี ยกฟั งก์ชนั
ConvertThreadToFiber หรื อ CreateFiber ก็ได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 50
การจั
การจัดดการหน่
การหน่ววยความจำ
ยความจำ
การใช้ หน่ วยความจำเสมือน : แอปพลิเคชันจะใช้ ฟังก์ชนั VirtualAlloc
ในการสงวนหรื อใช้ หน่วยความจำเสมือน ส่วนคำสัง่ ตรงข้ ามคือ
VirtualFree เพื่อเลิกใช้ หน่วยความจำ
แมพหน่ วยความจำเป็ นไฟล์ : วิธีนี ้เป็ นอีกวิธีหนึง ่ ที่แอปพลิเคชันใช้ หน่วย
ความจำโดยแมพเนื ้อที่หน่วยความจำเป็ นไฟล์ การแมพหน่วยความจำนี ้
เป็ นประโยชน์เมื่อโปรเซส 2 โปรเซสมีการแชร์ หน่วยความจำ
Heap : เมื่อโปรเซสใน Win32 เริ่ มต้ นขึ ้น จะสร้ าง default heap ขนาด 1
เมกะไบต์ เนื่องจากฟั งก์ชนั ของ Win32 หลายฟั งก์ชนั ใช้ default heap การ
แอ็กเซส heap เป็ นการซินโครไนซ์เพื่อป้องกันโครงสร้ างข้ อมูลของ heap
จากอันตรายเมื่ออัปเดทพร้ อมกันจาก thread หลาย thread
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 51
การจั
การจัดดการหน่
การหน่ววยความจำ
ยความจำ
Thread-local storage : วิธีที่สี่นี ้เป็ นวิธีการใช้ หน่วยความจำของ
แอปพลิเคชัน ฟั งก์ชนั ที่ขึ ้นอยูก่ บั ข้ อมูลแบบโกลบอลหรื อไดนามิกโดยปกติ
จะทำงานไม่ถกู ต้ องในสภาวะ multithreaded
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 52
การจั
การจัดดการอุ
การอุปปกรณ์
กรณ์ออินินพุพุตต/เอาต์
/เอาต์พพตุ ตุ
เป้าหมายหลักของระบบอินพุต/เอาต์พตุ ของ Windows 2000 ก็คือสร้ าง
เฟรมเวิร์คสำหรับดูแลอุปกรณ์อินพุต/เอาต์พตุ ที่มีอยูห่ ลากหลาย
อุปกรณ์ ที่เป็ นอินพุตในปั จจุบน ั มีทงคี
ั ้ ย์บอร์ ด, เมาส์, จอยสติ๊ก, สแกนเนอ
ร์ , กล้ องดิจิตอล, เครื่ องอ่านบาร์ โค้ ด และไมโครโฟน
อุปกรณ์ ที่เป็ นเอาต์พต ุ มีทงมอนิ
ั ้ เตอร์ , เครื่ องพิมพ์, พล็อตเตอร์ , เครื่ อง
บันทึกซีดี และการ์ ดเสียง นอกจากนี ้ยังมีสื่อที่ใช้ ในการจัดเก็บข้ อมูล เช่น
ฟล็อปปี ดิสก์, ฮาร์ ดดิสก์, ซีดีรอม, ดีวีดี และเทป
Windows 2000 ได้ ถก ู ออกแบบด้ วยเฟรมเวิร์คธรรมดาที่ทำให้ อปุ กรณ์
สามารถเชื่อมต่อระบบได้ อย่างง่ายดาย
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 53
การจั
การจัดดการอุ
การอุปปกรณ์
กรณ์ออินินพุพุตต/เอาต์
/เอาต์พพตุ ตุ
อุปกรณ์อินพุต/เอาต์พตุ ใน Windows 2000 ถูกดูแลด้ วย I/O manager ซึง่
ทำงานร่วมกับ Plug-and-Play manager
แนวคิดหลักเบื ้องหลังระบบ PnP ก็คือบัสของระบบซึง่ ใน Windows 2000
มีหลากหลาย เช่น PC card, PCI, USB, IEEE 1394 และ SCSI บัสเหล่า
นี ้ออกแบบขึ ้นมาทำงานกับ PnP
PnP manager จะส่งสัญญาณไปยังสล็อตต่าง ๆ และตรวจสอบว่า
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 54
การจั
การจัดดการอุ
การอุปปกรณ์
กรณ์ออินินพุพุตต/เอาต์
/เอาต์พพตุ ตุ
I/O manager ยังทำงานร่วมกับ Power manager โดยทำให้ อปุ กรณ์ปิด-
เปิดในสภาวะที่กำหนด เช่น เมื่อไม่แตะต้ องคีย์บอร์ ด หรื อเมาส์จะทำให้
มอนิเตอร์ ดบั ไป จนเมื่อสัมผัสอีกครัง้ มอนิเตอร์ จะสว่างเหมือนเดิม
ในทันทีที่มีการร้ องขอข้ อมูลจากโปรเซสของผู้ใช้ ระบบจะส่งไปยัง cache
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 56
กลุม่ API คำอธิบาย
การจัดการวินโดว์ สร้ าง, ลบ และจัดการวินโดว์
เมนู สร้ าง, ลบเมนู และเมนูบาร์ รวมทังป๊้ อบอัพเมนู
ไดอะล็อกบ็อกซ์ แสดงไดอะล็อกบ็อกซ์เพื่อรับข้ อมูลจากผู้ใช้
การวาดและการระบายสี แสดงจุด, ลากเส้ น วาดรูปทรงเรขาคณิต
เท็กซ์ แสดงเท็กซ์ที่มีฟอนต์, ขนาด สีและเอ็ฟเฟ็ กต์อื่น ๆ
บิตแมพและไอคอน วางภาพบิตแมพและไอคอนบนจอภาพ
สี จัดการชุดของสีที่มีอยู่
คลิปบอร์ ด เชื่อมโยงข้ อมูลภายในแอปพลิเคชัน และระหว่างแอปพลิเคชัน
อินพุต รับข้ อมูลจากคีย์บอร์ ดและเมาส์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 57
การจั
การจัดดการอุ
การอุปปกรณ์
กรณ์ออินินพุพุตต/เอาต์
/เอาต์พพตุ ตุ
ไดร์ เวอร์ ที่เขียนเพื่อให้ เข้ ากับโมเดลของ WDM ต้ องมีคณ
ุ สมบัติดงั นี ้
ให้ สนับสนุนคำร้ องขอของอินพุต/เอาต์พตุ ที่เข้ ามาในรูปแบบมาตรฐาน
ต้ องเป็ นพื ้นฐานของออปเจ็กต์ซงึ่ เป็ นส่วนหนึง่ ของ Windows 2000
ยอมให้ อปุ กรณ์ PnP ติดตังหรื
้ อถอนออกได้ ตลอดเวลา
ยอมให้ มีการจัดการจาก Power manager
สามารถปรับแต่งได้ ในเรื่ องของการใช้ รีซอร์ ส
นำไปใช้ ในรูปแบบมัลติโปรเซสเซอร์ ได้
สามารถเคลื่อนย้ ายไปมาระหว่าง Windows 98 และ Windows 2000 ได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 58
ระบบไฟล์
ระบบไฟล์ใในนWindows
Windows2000
2000
Windows 2000 สนับสนุนระบบไฟล์หลายรูปแบบที่สำคัญคือ FAT-16
(File Allocation Table), FAT-32, NTFS (New Technology File System)
และ OS/2 HPFS โดยที่ FAT-16
นอกจากนี ้ Windows 2000 ยังสนับสนุนระบบไฟล์แบบอ่านอย่างเดียว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 59
ระบบไฟล์
ระบบไฟล์ใในนWindows
Windows2000
2000
ชื่อไฟล์ NTFS ไม่ใช่เป็ นการเรี ยงไบต์เป็ นเส้ นตรงเหมือน FAT-32 และไฟล์
UNIX แต่ไฟล์ NTFS ประกอบด้ วยแอ็ตตริ บิวต์หลายแอ็ตตริ บิวต์
แต่ละแอ็ตตริ บิวต์แสดงในรู ป stream ของไบต์ ไฟล์สว ่ นมากมี stream สัน้
(เช่นชื่อไฟล์และ object ID แบบ 64 บิต) ตามด้ วย stream ยาวของข้ อมูล
ไฟล์หนึง ่ ๆ สามารถประกอบด้ วย stream ข้ อมูล 2 stream ขึ ้นไปก็ได้
แต่ละ stream มีชื่อที่ประกอบด้ วย ชื่อไฟล์ , โคลอน, และชื่อ stream เช่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 61
ระบบไฟล์
ระบบไฟล์ใในนWindows
Windows2000
2000
เพียงแต่มีพารามิเตอร์ มากกว่าเท่านัน้ รวมทังโมเดลในการรั
้ กษาความ
ปลอดภัยที่ตา่ งกัน
การเปิดไฟล์จะให้ คา ่ แฮนเดิลสำหรับการอ่านและเขียนไฟล์ สำหรับ
แอปพลิเคชันที่เป็ นกราฟิ กจะไม่มีการกำหนดแฮนเดิลของไฟล์ไว้ ก่อน
สำหรับฟั งก์ชน ั ของ Win32 API ทังในการจั
้ ดการไฟล์และไดเรกทอรี เมื่อ
เปรี ยบเทียบกับคำสัง่ ของ UNIX
พื ้นฐานที่สด
ุ ของระบบไฟล์ NTFS คือ volume ซึง่ สร้ างโดยยูทิลีตี ้ในการ
บริ หารระบบ Windows 2000
ส่วนประกอบใน volume จะเป็ นไฟล์, ไดเรกทอรี และโครงสร้ างข้ อมูลที่อาจ
ที่มี 2 รูปแบบคือ
Network Device Interface Specification (NDIS)
และ Transport Driver Interface (TDI)
NDIS นี ้พัฒนาขึ ้นมาในปี 1989 โดยความร่วมมือระหว่างไมโครซอฟต์ และ
3Com
แยกเน็ตเวิร์คอะแด็ปเตอร์ จากโปรโตคอล Transport ซึง
่ จะไม่มีผลกระทบ
กับส่วนอื่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 65
เน็เน็ตตเวิเวิรร์ค์ค
อื่น NDIS อยูร่ ะหว่างเลเยอร์ data-link control และ media-access
control
ในโมเดล OSI และมีหลายโปรโตคอลที่สามารถทำงานได้ หลายเน็ตเวิร์ค
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 66
โปรโตคอล
โปรโตคอล
Windows 2000 มาพร้ อมกับเน็ตเวิร์คโปรโตคอลหลายรูปแบบ ที่น่า
สนใจมีดงั นี ้
SMB : โปรโตคอล SMB (Server Message Block) โปรโตคอล SMB มี
แมสเสจ 4 ประเภทคือ
1. แมสเสจ Session control (คำสัง่ เพื่อเริ่มต้ นและจบการเชื่อมต่อเพื่อแชร์
รี ซอร์ สที่เซิร์ฟเวอร์ )
2. แมสเสจ File (เพื่อแอ็กเซสไฟล์ที่เซิร์ฟเวอร์ )
3. แมสเสจ Printer (เพื่อส่งข้ อมูลไปยังคิวการพิมพ์ที่อยูห่ า่ งไกล และรับข้ อ
มูลสเตตัสกลับมา)
4. แมสเสจ Message (ใช้ ในการติดต่อสื่อสารกับเวิร์สเตชันอื่น)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 67
โปรโตคอล
โปรโตคอล
NetBIOS : โปรโตคอล NetBIOS (Network Basic Input/Output System)
เป็ น hardware-abstraction interface สำหรับเน็ตเวิร์คที่พฒ ั นามาในช่วง
1980 ใช้ กบั เครื่ องคอมพิวเตอร์ ที่ใช้ MS-DOS และกลายเป็ นอินเทอร์ เฟ
ซมาตรฐานสำหรับเน็ตเวิร์คโปรแกรมมิ่ง
NetBEUI : โปรโตคอล NetBEUI (NetBIOS Extended User Interface)
พัฒนาโดย IBM เมื่อ 1985 โดยเป็ นเน็ตเวิร์คโปรโตคอลที่ใช้ งานง่าย, มี
ประสิทธิภาพ และเชื่อมต่อได้ ถงึ 254 เครื่ อง ถูกกำหนดให้ เป็ นดีฟอลต์
โปรโตคอลบน Windows 95 และ Windows for workgroup ใน Windows
2000 ใช้ NetBEUI เมื่อต้ องการแชร์ รีซอร์ สบนเน็ตเวิร์คเหล่านี ้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 68
โปรโตคอล
โปรโตคอล
PPTP : โปรโตคอล PPTP (Point-to-Point Tunneling Protocol) มีอยูใ่ น
Windows 2000 เพื่อติดต่อสื่อสารระหว่างรี โมทแอ็กเซสเซิร์ฟเวอร์ โมดูลที่
รันบนเครื่ องเซิร์ฟเวอร์ ของ Windows 2000 และไคลเอ็นต์อื่น ที่เชื่อมต่อ
ผ่านทางอินเทอร์ เน็ต
DLC : โปรโจคอล DLC (Data-Link Control) นี ้ Windows 2000 นำมาใช้
ในการแอ็กเซสกับเมนเฟรมของ IBM และเครื่ องพิมพ์ของ HP ที่เชื่อมต่อ
โดยตรงทางเน็ตเวิร์ค นอกนันก็ ้ ไม่ได้ ใช้ อะไรเพิ่มเติม
AppleTalk : โปรโตคอลนี ้ถูกออกแบบโดย Apple เพื่อประหยัดค่าใช้ จ่ายใน
การเชื่อมต่อทำให้ เครื่ องแม็คอินทอชแชร์ ไฟล์กนั ได้ และทำให้ Windows
2000 สามารถแชร์ ไฟล์และเครื่ องพิมพ์กบั เครื่ องแม็คอินทอชผ่านทาง
AppleTalk นี ้ได้ เช่นกัน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 69
กลไกการโปรเซสแบบกระจาย
กลไกการโปรเซสแบบกระจาย
กลไกที่สนับสนุนการโปรเซสแบบกระจายบน Windows 2000 มีดงั นี ้คือ
NetBIOS ใน Windows 2000 ทำให้ แอปพลิเคชันสามารถติดต่อสื่อสารข้ าม
เน็ตเวิร์คโดยใช้ NetBEUI, NWLink และ TCP/IP
Named pipes เป็ นกลไกแบบ connection-oriented message แต่เดิมถูก
พัฒนาเป็ นอินเทอร์ เฟซระดับสูงของ NetBIOS เพื่อเชื่อมต่อข้ ามเน็ตเวิร์ค โปร
เซสสามารถใช้ named pipes ในการติดต่อกับโปรเซสอื่นบนเครื่ องเดียวกัน
Mailslots เป็ นกลไกแบบ connectionless messaging ใช้ ในการส่งผ่าน
แอปพลิเคชัน เช่น การค้ นหาคอมโพเนนต์บนเน็ตเวิร์ค นอกจากนี ้ยังใช้ กบั
Windows 2000 Computer Browser อีกด้ วย
Winsock เป็ น Windows 2000 socket API เป็ นอินเทอร์ เฟซแบบ session-
layer ที่คอมแพติเบิลกับ UNIX socket
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 70
กลไกการโปรเซสแบบกระจาย
กลไกการโปรเซสแบบกระจาย
RPC (Remote Procedure Protocol) เป็ นกลไกแบบไคลเอ็นต์เซิร์ฟเวอร์ ที่
ทำให้ แอปพลิเคชันจากเครื่ องหนึง่ เรี ยกโปรซีเดอร์ ไปอีกเครื่ องหนึง่ ได้ ไคลเอ็นต์
จะเรี ยกโปรซีเดอร์ ของตนเอง (รูทีนย่อย) ที่แพ็กอาร์ กิวเมนต์ลงในแมสเสจแล้ ว
ส่งข้ ามเน็ตเวิร์คไปยังโปรเซสที่กำหนด เมื่อถึงฝั่ งเซิร์ฟเวอร์ จะขยายแพ็กออก
เรี ยกโปรซีเดอร์ แล้ วแพ็กผลลัพธ์ลงในแมสเสจแล้ วส่งกลับไปฝั่ งไคลเอ็นต์ เมื่อ
ไคลเอ็นต์ได้ รับแมสเสจแล้ วจะขยายแพ็กผลลัพธ์ RPC ออก แล้ วส่งผลลัพธ์นนั ้
ไปให้ ผ้ เู รี ยก แพ็กของอาร์ กิวเมนต์นี ้บางครัง้ เรี ยกว่า marshalling
MIDL (Microsoft Interface Definition Language) เป็ นภาษาที่ออกแบบโดย
ไมโครซอฟต์เพื่ออธิบายชื่อของรี โมทโปรซีเดอร์ , อาร์ กิวเมนต์ และผลลัพธ์ คอม
ไพเลอร์ ของภาษานี ้จะสร้ างไฟล์ ที่เป็ นเฮดเดอร์ ที่แจ้ งรายละเอียดสำหรับรี โมท
โปรซีเดอร์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 71
กลไกการโปรเซสแบบกระจาย
กลไกการโปรเซสแบบกระจาย
COM เป็ นกลไกสำหรับการติดต่อสื่อสารภายในโปรเซสที่พฒ ั นาสำหรับ
Windows ออปเจ็กต์ COM จะมีการกำหนดอินเทอร์ เฟซเพื่อจัดการกับข้ อมูล
ในออปเจ็กต์ Windows 2000 มีสว่ นขยายที่เรี ยกว่า DCOM ที่นำมาใช้ บน
เน็ตเวิร์คกับกลไก RPC เป็ นวิธีการพัฒนาแอปพลิเคชันแบบกระจายRPC
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 72
โดเมน
โดเมน
ในหลักการของโดเมน (Domain) แต่ก่อนโดเมนเหล่านี ้ไม่มีความสัมพันธ์
ระหว่าง DNS (Domain Name System) ที่แทนชื่อโฮสต์อินเทอร์ เน็ตกับ IP
Address
ปั จจุบน
ั มีความสัมพันธ์กนั มากขึ ้น ในโดเมนของ Windows 2000 ประกอบ
ด้ วยเซิร์ฟเวอร์ และเวิร์คสเตชันที่แชร์ ทงรี
ั ้ ซอร์ ส
ปั จจุบนั Windows 2000 ใช้ โปรโตคอล Kerberos สำหรับ trust และ
authennication
แต่เดิม Windows NT ใช้ หลักการการควบคุมโดเมนหลักและสำรอง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 74
Name
NameSolution
Solutionในเน็
ในเน็ตตเวิเวิรร์ค์คTCP/IP
TCP/IP
เน็ตเวิร์ค IP คำว่า Name Solution หมายถึงขันตอนการแปลงชื
้ ่อ
คอมพิวเตอร์ ไปเป็ น IP address
เช่ น เปลี่ยนจาก www.asiaaccess.net.th ไปเป็ น 203.145.0.1
แก้ ไขการล่มของระบบได้
Name Solution สามารถกระจายไปยังเครื่ องหลาย ๆ เครื่ องได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 77
การจั
การจัดดการแคช
การแคช
Windows 2000 มี cache manager ดูแลแคชเพื่อให้ มีประสิทธิภาพสูงขึ ้น
โดยใช้ หลักการเหมือน ๆ กับระบบปฏิบตั ิการ
งานของ cache manager คือการเก็บรักษากลุม ่ ของระบบไฟล์ที่ใช้ งาน
ล่าสุดในหน่วยความจำเพื่อลดเวลาการแอ็กเซสสิง่ ที่เหมือนกัน
ใน Windows 2000 มีเพียงแคชแบบรวมการเพียงแคชเดียวที่ ทำงานได้ กบ ั
ทุกระบบไฟล์ไม่วา่ จะเป็ น NTFS, FAT-16, FAT-32
เป้าหมายหลักการออกแบบแคชแบบรวมการสำหรับระบบไฟล์ที่หลาก
หลาย
cache manager จะว่าอยูใ่ นตำแหน่งที่ไม่ธรรมดา มันไม่ได้ เป็ นส่วนหนึง
่
ของระบบไฟล์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 78
การจั
การจัดดการแคช
การแคช
แคชใน Windows 2000 จัดในรูปแบบบล็อกเสมือน (virtual block) ไม่ใช่
บล็อกทางกายภาพ
รู ปแบบแคชเดิมนันจะเก็
้ บรักษาบล็อกในรูปแบบแอ็ดเดรส 2 ส่วน (พาร์ ติ
ชัน, บล็อก)
โดยที่ตวั เลขแรกจะแสดงดีไวซ์และพาร์ ติชนั
ส่วนตัวเลขที่สองแทนหมายเลขบล็อกภายในพาร์ ติชนั นัน้
การทำงานของcache manager คือ เมื่อไฟล์ถกู อ้ างอิง cache manager
จะแมพไฟล์ไว้ ที่พื ้นที่ขนาด 256 กิโลไบต์บนแอ็ดเดรสเสมือนของ kernel
ถ้ าไฟล์นนขนาดใหญ่
ั้ กว่า 256 กิโลไบต์จะแมพเพียงบางส่วนของไฟล์นนั ้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 79
การจั
การจัดดการแคช
การแคช
cache manager สามารถใช้ ได้ นนจะพิ ั้ จารณาในขณะที่บตู เครื่ องและขึ ้น
อยูก่ บั ขนาดหน่วยความจำที่มีอยู่
แต่ถ้า cache manager ใช้ เนื ้อที่แอ็ดเดรสเสมือนจนหมด 256 กิโลไบต์ มัน
จะไม่แมพไฟล์เก่าก่อนที่จะแมพไฟล์ใหม่
ในขณะที่ไฟล์ถก ู แมพไปนัน้ cache manager จะทำตามคำร้ องขอโดยการ
ก็อปปี จ้ ากเนื ้อที่แอ็ดเดรสเสมือนของ kernel ไปยังบัฟเฟอร์ ของผู้ใช้
ถ้ าบล็อกข้ อมูลที่ก็อปปี ไ้ ปนันไม่
้ ใช่หน่วยความจำทางกายภาพ จะเกิด
page fault ซึง่ ทำให้ memory manager จะจัดการไปตามปกติ
ส่วน cache manager ไม่ต้องกลัวว่าบล็อกข้ อมูลจะอยูใ่ นแคชหรื อไม่ การ
ก็อปปี ก้ ็จะยังคงดำเนินต่อไป
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 80
การจัดการของ Cache Manager กับฮาร์ ดแวร์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 81
การจั
การจัดดการแคช
การแคช
ในกรณีของระบบไฟล์ NTFS บนดิสก์แบบ SCSI และระบบไฟล์ FAT-32
บนดิสก์แบบ IDE เมื่อโปรเซสอ่านไฟล์ คำร้ องขอจะส่งตรงไปยัง cache
manager ถ้ าบล็อกข้ อมูลที่ต้องการมีอยูใ่ นแคช มันจะทำการก็อปปี ไ้ ปยัง
ผู้ใช้ ทนั ที
แต่ถ้าไม่มี cache manager จะเกิด page fault เมื่อพยายามก็อปปี ้ เมื่อมี
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 82
การจั
การจัดดการแคช
การแคช
คุณสมบัติอีกประการหนึง่ ของ cache manager คือการรักษาระหว่างไฟล์
ที่แมพกับหน่วยความจำและไฟล์ที่เปิ ดสำหรับการอ่านหรื อเขียน
ในสภาวะที่โปรเซสหนึง ่ เปิ ดไฟล์หนึง่ ขึ ้นมาเพื่ออ่านและเขียน และโปรเซสที่
สองแมพไฟล์นนไปยั ั ้ งแอ็ดเดรสหนึง่ จะมีอะไรเกิดขึ ้นถ้ าโปรเซสที่สองเขียน
ลงไฟล์นนโดยตรงในทั
ั้ นที
หลังจากนันโปรเซสแรกอ่
้ านบล็อกข้ อมูลที่เพิ่งจะเปลี่ยนแปลงนัน้ แล้ วมัน
จะได้ รับข้ อมูลเก่าหรื อไม่ คำตอบคือไม่ เพราะทังสองกรณี้ (เปิ ดไฟล์และ
แมพไฟล์) cache manager จะแมพเนื ้อที่แอ็ดเดรสเสมือนขนาด 256 กิโล
ไบต์ลงไฟล์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 83
การจั
การจัดดการแคช
การแคช
ในกรณีของการแมพไฟล์ ทัง้ cache manager และโปรเซสของผู้ใช้ จะแชร์
หน่วยความจำเพจนัน้
เมื่อมีการอ่านไฟล์ cache manager เพียงแค่ก็อปปี เ้ พจนันจากหน่
้ วย
ความจำไปยังบัฟเฟอร์ ของผู้ใช้ เท่านัน้
ทำให้ ได้ รับข้ อมูลที่เป็ นสภาวะปั จจุบน
ั เนื่องจาก cache manager ใช้
ข้ อมูลเพจเดียวกับโปรเซสที่แมพไฟล์นนั่ เอง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 84
การรั
การรักกษาความปลอดภั
ษาความปลอดภัยย
Windows 2000 ได้ รับขันการรั
้ กษาความปลอดภัยของระบบระดับ C2
จากกระทรวงกลาโหมสหรัฐฯ
Windows 2000 มีการรักษาความปลอดภัยในระดับที่ระบบปฏิบต ั ิการพึง
มีอยูแ่ ล้ ว นอกจากการใช้ ชื่อล็อกอินและรหัสผ่านสำหรับการเข้ าสูร่ ะบบซึง่
เป็ นสิง่ พื ้นฐาน
ใน Windows 2000 ผู้ใช้ ทก ุ คนจะถูกกำหนดด้ วย SID (Security ID) ซึง่
SID เป็ นเลขฐานสองที่มีสองส่วนคือ ส่วนหัวสัน้ ๆ แล้ วตามด้ วยตัวเลขสุม่
หลายตัว แต่ละ SID
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 85
การรั
การรักกษาความปลอดภั
ษาความปลอดภัยย
เมื่อผู้ใช้ เริ่ มต้ นโปรเซส ทังโปรเซสและ
้ thread จะรันภายใต้ SID ของผู้ใช้
นัน้ ระบบรักษาความปลอดภัยส่วนมากถูกออกแบบเพื่อให้ มนั่ ใจว่าแต่ละ
ออปเจ็กต์จะถูกแอ็กเซสโดย thread ได้ เฉพาะ SID ที่อนุญาตเท่านัน้
แต่ละโปรเซสจะมี access token ที่กำหนด SID และคุณสมบัติอื่น เช่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 86
การรั
การรักกษาความปลอดภั
ษาความปลอดภัยย
thread สามารถรับ access token ที่แตกต่างในระหว่างที่เอ็กซิคิวต์ได้ ใน
กรณีที่ access token ของ thread ทับซ้ อนกับ access token ของโปรเซส
thread ของไคลเอ็นต์สามารถส่งผ่าน access token ไปยัง thread ของ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 88