วันพุธที่ 28 มกราคม พ.ศ. 2552

สรุปและข้อสอบบทที่ 15

15 ประวัติของระบบปฏิบัติการ Window 2000
Microsoft Windows 2000 เป็นระบบปฏิบัติการ 32 บิตแบบ preemptive multitasking ได้รับการพัฒนาต่อเนื่องมาจาก Windows NT แต่เดิมมีโค้ดเนมในการพัฒนาเป็น Windows 5.0 เป้าหมายหลักในการพัฒนาระบบคือ ความสามารถในการเคลื่อนย้าย, ระบบรักษาความปลอดภัย, เข้าได้กับระบบ Portable Operating System Interface (POSIX หรือ IEEE ste. 1003.1), สนับสนุนมัลติโปรเซสเซอร์, ขยายระบบได้ง่าย และคอมแพติเบิลกับ แอปพลิเคชันของ MS-DOS และ Microsoft Windows ในบทนี้จะกล่าวถึงประวัติความเป็นมาของระบบ, หลักการออกแบบ, โครงสร้างระบบ, การจัดการโปรเซสและ thread, การจัดการหน่วยความจำ, การจัดการอุปกรณ์อินพุต/เอาต์พุต, ระบบไฟล์, เน็ตเวิร์ค, แคช และการรักษาความปลอดภัยของ Windows 2000ระบบปฏิบัติการของ Microsoft สำหรับเครื่องเดสก์ทอปและแลปทอปสามารถแบ่งเป็น 3 ตระกูลคือ MS-DOS, Windows (รวมทั้ง Windows 3.1/95/98/ME) และ Windows NT (รวมทั้ง Windows 2000) ต่อไปนี้เป็นประวัติพอสังเขปของระบบปฏิบัติการแต่ละตระกูลดังนี้1.1 MS-DOSในปี ค.ศ. 1981 IBM ซึ่งเป็นยักษ์ใหญ่ในวงการคอมพิวเตอร์ในขณะนั้นได้ผลิตเครื่องคอมพิวเตอร์ส่วนบุคคล หรือ PC (Personal Computer) โดยใช้ซีพียู 8088 จนกลายเป็นชื่อของ IBM PC 8088 ซึ่งเป็นคอมพิวเตอร์แบบเรียลโหมดแบบ 16 บิตที่ใช้งานได้คนเดียว ระบบปฎิบัติการเป็นคำสั่งบรรทัดเดียวที่ชื่อ MS-DOS 1.0 ระบบปฏิบัติการนี้สร้างโดยบริษัท Microdoft ใช้ตัวแปลภาษา BASIC สำหรับใช้บน 8088 และ Z-80 ระบบปฎิบัติการประกอบด้วย หน่วยความจำ 8 กิโลไบต์ใกล้เคียงกับโมเดล CP/M ในช่วงเวลา 2 ปีต่อมาระบบปฏิบัติการมีประสิทธิภาพสูงขึ้นเป็น 24 กิโลไบต์ โดยใช้ MS-DOS 2.0 ที่ยังคงเป็ฯบรรทัดคำสั่งที่ขอยืมมาจาก UNIX อยู่จนเมื่อ Intel ได้ผลิตซีพียู 80286 ขึ้นมา ทาง IBM จึงได้สร้าง PC/AT ในปี 1986 โดยที่ AT มาจากคำว่า Advance Technology เนื่องจาก 80286 สามารถรันได้ที่ความถี่ 8 เมกะเฮิร์ต (MHz) โดยใช้หน่วยความจำได้ถึง 16 เมกะไบต์ แต่เครื่องคอมพิวเตอร์ทั่วไปจะมีหน่วยความจำเพียง 1-2 เมกะไบต์เนื่องจากในขณะนั้นหน่วยความจำมีราคาแพงนั่นเอง ในช่วงนี้จะใช้ MS-DOS 3.0 ที่ได้รับการพัฒนาเพิ่มฟีเจอร์ต่าง ๆ มากมาย แต่ยังคงเป็ฯบรรทัดคำสั่งอยู่นั่นเอง1.2 Windows 3.1ในขณะที่ MS-DOS 3.0 เป็นระบบปฏิบัติการของพีซีในช่วงนั้น ผู้ใช้ให้ความสนใจและหลงไหลยูเซอรือินเทอร์เฟซของ Apple Lisa ซึ่งทำงานบน Apple Mcintosh อย่างม่ากมายทาง Microsof จึงตัดสินใจที่จะเพิ่มเซลล์ของ MS-DOS สามารถทำงานในลักษณะกราฟิกยูเซอร์อินเทอร์เฟซ โดยตั้งชื่อว่า Windows และเริ่มวางจำหน่าย Windows 1.0 ในปี 1985 แต่ไม่ประสบความสำเร็จ จนปี 1987 Windows 2.0 ที่ออกแบบสำหรับ PC/AT ก็ออกวางตลาด แต่ไม่ประสบความสำเร็จมากนัก จนปี 1980 ถึงเวลาของ Windows 3.0 ที่รันกับ 80386 จนมีเวอร์ชั่น 3.1 และ 3.11 ออกมาทำให้ประสบความสำเร็จในวงการธุรกิจอย่างมากมาย แต่ Windows ที่กล่าวมายังไม่ใช่ระบบปฏิบัติการที่แท้จริง เป็นแค่เพียงกราฟิกยูเซอร์อินเทอร์เฟซของ MS-DOS อยู่ดี ซึ่ง MS-DOS ยังคงควบคุมการทำงานของเครื่องและระบบไฟล์อยู่โปรแกรมทั้งหมดยังคงทำงานบนเอ็ดเดรสเดียวกัน ยังมีบักที่ทำให้เครื่องแฮงค์หรือดาวน์อยู่เสมอ1.3 Windows 95 /98/ MEWindows 95 ที่วางจำหน่ายในปี 1995 ก็ยังคงแยกตัวออกจาก MS-DOS ไม่สมบูรณ์ ( ถึงแม้จะถ่ายโอนมาจาก MS-DOS จนเข้าใกล้ Windows แล้วก็ตาม ) ถึงแม้ Windows 95 จะเป็นระบบปฏิบัติการที่ได้รับการพัฒนาอย่างมากแล้วก็ตามไม่ว่าจะเป็นด้านหน่วยความจำเสมือน , การจัดการหน่วยความจำ และมัลติโปรแกรมมิ่ง Windows 95 ยังไม่ได้เป็นระบบปฏิบัติการเต็มรูปแบบ มันยังมีโค้ดแบบ 16 บิตภาษาแอสเซ็มบลีอยู่ และยังคงใช้ระบบไฟล์แบบ MS-DoS อยู่ สิ่งหลักที่เห็นได้ชัดในการเปลี่ยนแปลงก็คือชื่อไฟล์ที่มีความยาวได้มากกว่าระบบ 8+3 ตามระบบของ MS-DOS ( ชื่อไฟล์ 8 ตัวอักษร รวมกับนามสกุลอีก 3 ตัวอักษร ) โดยใช้ได้ถึง 255 ตัวอักษรจนเมื่อ Windows 98 ออกจำหน่าย MS-DOS ( เวอร์ชั่น 7.1 ) ยังคงคงรวมตัวอยู่ในโค้ดถึงแม้จะมีการแยกฟังก์ชันอกมาจาก MS-DOS และมีการกำหนดเลย์เอาต์ของดิสก์ ( จากเดิม FAT – 16 เป็น FAT-32 ) ให้รองรับดิสก์ขนาดใหญ่แล้วก็ตาม ( จากเดิมม่เกิน 2 กิกะไบต์ เป็นไม่เกิน 2 เทอร์ราไบต์ ) ที่สำคัญก็คือ Windows 98 ไม่ได้มีอะไรที่แตกต่างจาก Windows 95 มากนัก สิ่งที่แตกต่างหลัก ๆ อยู่ที่ยูเซอร์อินเตอร์เฟซที่รวมเดสก์ทอปและอินเตอร์เน็ตให้ใกล้ชิดกันยิ่งขึ้น ( จนเป็นเรื่องกับกระทรวงยุติธรรมสหรัฐ ฯ ในเวลาต่อมา ) ปัญหาการใช้งาน Windows 98 ยังคงมีอยู่เนื่องมาจากการที่ไม่แยกตัวออกจาก MS-DOS อย่างเด็ดขาดนั่นเอง ( เพราะต้องการให้สามารถรับแอปพลิเคชันเดิมของ MS-DOS ได้ )ในปี 2000 Microsoft ทำให้ผู้ใช้เกิดข้อสงสัยและสับสน เนื่องจากก่อนหน้านั้น Microsoft ออกข่าวว่าจะไม่มีพัฒนา Windows 9 x อีกแล้ว แต่แผนการพัฒนาจะอยู่ที่ Windows 2000 ซึ่งวางตลาดให้ได้ใช้งานกัน แต่มี Windows ME ( Millennium Edition ) ซึ่งเป็นเหมือนฝาแฝดของ Windows 98 ออกมาหลังจาก Windows 2000 ไม่นาน ซึ่งใช้ชื่อ Millennium ซึ่งแปลว่า 2000 เหมือนกันทำให้สับสน ( ME ออกมาเพื่อรักษาตลาดเดิมของ Windows 2000 ไม่นาน ซึ่งใช้ชื่อ Millennium ซึ่งแปลว่า 2000 เหมือนกันทำให้สับสน (ME ออกมาเพื่อรักษาตลาดเดิมของ Windows 9x ไว้) เพิ่มเติมเข้ามาและเป็นที่น่าสนใจก็คือการรีสตอร์ระบบก่อนที่จะมีการปรับแต่ง เช่น ถ้าคุณเปลี่ยนขนาดความละเอียดจอภาพจาก 640x480 ไปเป็น 1024x768 และระบบไม่รับค่านี้ (อาจจะเนื่องจากมอนิเตอร์ไม่สนับสนุน หรืออื่นๆ ก็ตาม) และจะคืนค่าก่อนการปรับ นั่นคือจะกลับไปใช้ค่า 640x480 เหมือนเดิม1.5 Windows 2000แต่เดิมโค้ดในการพัฒนาเวอร์ชันต่อไปของ Windows NT 4.0 ใช้ชื่อว่า Windows NT 5.0 ต่อมาเปลี่ยนชื่อเป็น Windows 2000 เพื่อต้องการใช้เป็นชื่อกลางสำหรับผู้ใช้ Windows 98 และ Windows NT เนื่องจาก Microsoft ต้องการให้มีระบบปฏิบัติการเพียงระบบเดียวในตลาดโดยมุ่งให้เป็นระบบปฏิบัติการ 32 บิตที่เชื่อถือได้ แต่อยู่ในเซอร์อินเตอร์เฟซที่เลื่องลือของ Windows 98 Windows 2000 เป็นระบบปฏิบัติการแบบมัลติยูเซอร์ ( mutiuser ) แบบ 32 บิตที่แท้จริง ใช้สถาปัตยกรรม microkernel ( เช่นเดียวกับ Mach ) โดยแต่ละส่นเป็นส่วนหนึ่งของระบบปกิบัติการ และไม่เกิดผลกระทบกับส่วนอื่น แต่ละโปรเซสมีแอ็ดเดรสเสมือนแบบ 32 บิตเป็นของตนเอง ในขระที่ระบบปฏิบัติการใช้โหมด Kemel โปรเซสของผู้ใช้เป็น user mode ที่ได้รับการป้องกันอย่างสมบูรณ์ แต่ละโปรเซสจะมี thread เท่าไรก็ได้ thread เหล่านี้ ระบบปฏิบัติการจะมองเห็นและจัดเวลาการทำงานให้ในด้านการรักษาความปลอดภัย Windows 2000 อญู่ในระดับ c2 ของกระทรวงกลาโหมสหรัฐ ฯ ทั้งในส่วนไฟล์, ไดเกเทอร์รี,โปรเซสและออปเจ็กต์ที่แชร์ต่าง ๆ นอกจากนี้ Windows 2000 สนับสนุนการรันมัลติโปรเซสเซอร์แบบสมมาตรได้ถึง 32 ตัวในด้านเน็ตเวิร์ค Windows 2000 ได้เพิ่ม x.500-based directory สนับสนุนด้านเน็ตเวิร์คขึ้น , สนับสนุนดีไวซ์ Plug-and-play,ระบบไฟล์แบบใหม่ที่สนับสนุน hierarchical storage , และระบบไฟล์แบบกระจาย รวมทั้งสนับสนุนโปรเซซอร์และหน่วยความจำมากขึ้นWindows 2000 มี 4 เวอร์ชันให้เลือกใช้งานตามความเหมาะสม เวอร์ชันแรกเป็น Professional ทีเหมาะสำหรับผู้ใช้งานทั่วไป ส่วนอีก 3 เวอร์ชันเป็นเซิร์ฟฟเวอร์คือ Server และ Datacenter Server ทั้ง 3 เวอร์ชันต่างกันที่จำนวนซีพียูและหน่วยความจำที่สนับสนุน ทั้งหมดใช้ kermel เดียวกัน แต่เวอร์ชัน Server และ Advanced Server สามารถปรับแต่งสำหรับไคลเอ็นต์-เซิร์ฟเวอร์สำหรับ NetWare และ Microsoft LANs สำหรับ Windows 2000 Datacenter Server สนับสนุนโปรเซสเซอร์ถึง 32 ตัว หน่วยความจำถึง 64 กิกะไบต์Windows NT Windows NT เป็นระบบปฏิบัติการแบบ Microsoft Windows บนเครื่องคอมพิวเตอร์ส่วนบุคคล ที่ได้รับการออกแบบสำหรับผู้ใช้และธุรกิจของระบบ ที่มีความสามารถระดับสูง Windows NT แบ่งได้ 2 ระดับ คือ Windows NT Workstation และ Windows NT Server Workstation ได้รับการออกแบบให้ใช้กับผู้ใช้ โดยเฉพาะอย่างยิ่งในหน่วยธุรกิจ ซึ่งต้องการมีความเร็วและระบบที่เสียหายน้อย และ Windows 98 Server มีความสามารถในการประยุกต์กับ Internet Server เช่น Microsoft Internet information Server (IIS) สำหรับระบบ Windows ที่วางแผนที่จะใช้ เว็บเพจ Windows NT Workstation เป็นระบบปฏิบัติการ 32 บิต ที่มีความเร็วมากกว่า Windows95 20% ตั้งแต่ระบบ 16 บิต การจัดพื้นที่การทำงานจะให้โปรแกรมใช้พื้นที่ที่แยกจากกัน เมื่อมีโปรแกรมหนึ่งเสียหาย จะไม่มีผลต่อโปรแกรมอื่นหรือระบบปฏิบัติการ ในส่วนระบบความปลอดภัยและการบริหารการอินเตอร์เฟซ ของ Work Station เหมือนกับ Windows 95Windows NT Server NT Server เป็นระบบที่ได้รับความนิยมมากในระบบเครือข่าย Microsoft กล่าวว่า NT Server เริ่มที่จะเข้าไปแทนที่ Netware และระบบ Unix ต่าง ๆ เช่น Sun Microsystems และ Hewlet-Packard สำหรับ NT server 5.0 จะใช้ชื่อใหม่ว่า Windows2000 ส่วนสำคัญของ Windows 2000 คือ1. การเจาะจงการบริหารอย่างเดิม ตามประเภทงาน นอกเหนือจากไฟล์ โปรแกรม และ Users 2. วิธีการใหม่ของ file directory เรียกว่า Active Directory ที่ให้ผู้บริหารระบบและผู้ใช้งาน สามารถดูไฟล์และโปรแกรมในระบบเครือข่าย ผ่านการดูที่จุดเดียว 3. Dynamic Domain Name Server (DNS) จะทำการ replicate การเปลี่ยนแปลงในระบบเครือข่าย โดยใช้ Active Directory Service, Dynamic Host Configuration Protocol (DHCP) และ Windows Internet Naming Service (DVINS) ถ้าลูกข่ายต้องการการคอนฟิกใหม่ 4. สามารถสร้าง ขยาย และ Mirror ขนาดของดิสก์ โดยไม่ต้องปิดระบบและทำการสำรองข้อมูล ด้วยอุปกรณ์การเก็บได้หลายประเภท เช่น Magnetic หรือ Optical Storage media 5. Distributed File System (DFS) ให้ผู้ใช้มองเห็นกลุ่มการกระจายของไฟล์ในโครงสร้างไฟล์เดียว ข้ามแผนก ฝ่าย และหน่วยธุรกิจ 6. สนับสนุนและร่วมกับ Microsoft's Message Queue Server, Transaction Server, และ Internet information Server (IIS)หลักการออกแบบเป้าหมายการออกแบบของ Windows 2000 Microsoft ต้องการมี 6 ประการ1 ความสามารถในการขยายระบบ2.2 สามารถเคลื่อนย้ายได้2.3 เชื่อถือได้2.4 คอมแพติเบิล2.5 ประสิทธิภาพ 2.6 การสนับสนุนหลายภาษาโครงสร้างของระบบHardwer – Abstraction Layer (HAL)HAL เป็นเลเยอร์ของซอฟต์แวร์ที่ซ่อนฮาร์ดแวร์ที่แตกต่างจากเลเยอร์ด้านบนของระบบปฏิบัติการ เพื่อให้ Windows 2000 สามารถเคลื่อนย้ายได้ HAL จะเอ็กพอร์ตอินเทอร์เฟซแบบ virtual-machine ที่ใช้โดย Kernel,Executive และดีไวซ์ไดร์เวอร์ ข้อได้เปรียบของการมีเลเยอร์แบบนี้ก็คือระบบต้องการดีไวซ์ไดร์เวอร์เพียง 1 เดียวก็พอที่ทำให้รันได้ทุกแพตฟอร์มของฮาร์ดแวร์ HAL ยังให้การสนับสนุนมัลติโปรเซสซิ่งแบบสมมาตร สำหรับเหตุผลด้านประสิทธิภาพแล้ว อินพุต/เอาต์พุตไดร์เวอร์ (รวมทั้งกราฟิกไดร์เวอร์บน Windows 2000) สามารถเอ็กเซสฮาร์ดแวร์ได้โดยตรง3.2 KernelKernel ของ Windows 2000 สร้าง Executive และระบบย่อย kernel จะไม่ทำงานจนหน่วยความจำหมดและการเอ็กซิคิวต์ก็จะไม่ได้รับสิทธิพิเศษก่อนเลย kernel รับผิดชอบ 4 ด้านคือ การจัดเวลาของ thread, การแก้อินเทอร์รัพต์,การชินโครไนซ์ของโปรเซสเซอร์ระดับล่าง และการแก้คืนเมื่อระบบเล่มKernel เป็ฯ object oriented ใน object type ของ Windows 2000 เป็นระบบที่กำหนดประเภทข้อมูลที่เป็นชุดของแอ็ตตริบิวต์ (หรือค่าข้อมูล) และชุดของเมธอด (ฟังก์ชันหรือโอเปอเรชัน) object เป็นเพียงตัวอย่างของ object type เฉพาะแบบ kernel จะทำงานของตนเองโดยใช้ชุดของ kernel object ที่มีแอ็ตตริบิวต์เก็บค่าของ kernel และเมธอดที่ทำกิจกรรมของ kernel จะใช้ object 2 ชุด ชุดแรกประกอบด้วย dispatcher object ที่ควบคุมการ dispatch และการซินโครไนซ์ในระบบ3.2.2 ข้อยกเว้นและการอินเทอร์รัพต์นอกจากนี้ kernel ยังมีวิธีการแก้ไขข้อยกเว้นหรืออินเทอร์รัพต์ที่สร้างมาจากฮาร์ดแวร์หรือซอฟต์แวร์ได้อีกด้วย Windows 2000 กำหนดสถาปัตยกรรมที่เป็นข้อยกเว้นแบบอิสระไว้ รวมถึงการใช้หน่วยความจำผิดวิธีเกิด inteter overflow, floating-point overflow or underflow, integer divide by zero, floating-point divide by paging file quota exceeded, debugger breakpoint, และ debugger single step โดยที่การแก้ไขสามารถแก้ไขข้อยกเว้นพื้นฐาน ส่วนการแก้ไขแบบอื่นจะใช้ exception dispatcher ของ kernel ซึ่ง exception dispatcher จะสร้างเรกคอร์ดของข้อยกเว้นที่ประกอบด้วยเหตุผลสำหรับข้อยกเว้นและหาวิธีการแก้ไขข้อยกเว้นนั้น เมื่อข้อยกเว้นเกิดขึ้นใน kernel mode แล้ว exception dispatcher จะเรียกรูทีนเพื่อกำหนดวิธีแก้ไขข้อยกเว้น ถ้าไม่พบข้อแก้ไข จะเกิดปัญหาร้ายแรงกับระบบในลักษณะจอสีฟ้าที่เรียกว่า “blue screen of death” ซึ่งเป็นผลให้ระบบล่มได้3.2.3 การซินโครไนซ์โปรเซสเซอร์ระดับล่างความรับผิดชอบส่วนที่สามของ kernel คือมีการซินโครไนซ์โปรเซสเซอร์ระดับล่าง ปกติกลไกของ Asynchronous Procedure call (APC) จะคล้ายกับกลไกของ DPC แต่ใช้งานธรรมดามากกว่า กลไกของ APC ทำให้ thread สร้าง procedure call ไว้ใช้ในอนาคต เช่น มี system services มากมายที่ยอมรับรูทีนของ user thread เป็นพารามิเตอร์ แทนที่จะเรียก synchronors sytem call เพื่อบล็อก thread จนกว่า system call จะทำงานเสร็จ user thread สามารถเรียก asynchronous system call และเก็บไว้ใน APC ทำให้ user thread ยังคงรันต่อไป เมื่อ system services เสร็จสิ้นลง user thread จะถูกอินเทอร์รัพต์เพื่อรัน APC ต่อเนื่องไปเลยAPC ถูกจัดเข้าคิวได้ทั้งใน system thread หรือ user thread ถึงแม้ว่า user-mode APC จะถูกเอ็กซิคิวต์เฉพาะเมื่อ thread ประกาศตัวเองเป็น alertable ปกติแล้ว APC มีประสิทธิภาพสูงกว่า DPC ตรงที่ APC สามารถครอบครองและคอยออปเจ็กต์,ทำให้เกิด page fault และเรียก system service ได้ เนื่องจาก APC เอ็กซิคิวต์ในพื้นที่ของ target thread ทำให้ executive ของ Windews 2000 ใช้ APC สำหรับการโปรเซสอินพุต/เอาต์พุต เนื่องจาก Windows 2000 สามารถรันเครื่องที่เป็นมัลติโปรเซสเซอร์แบบสมมาตร ดังนั้น dernel ต้องป้องกัน thread ทั้งสองจากการเปลี่ยนของข้อมูลที่อยู่ในหน่วยความจำเพื่อให้เกิด mutual exclusion ของมัลติโปรเซสเซอร์ เพราะว่ากิจกรรมทั้งหมดในโปรเซสเซอร์จะหยุดเมื่อ thread พยายาม mutual exclusion ของมัลติโปรเซสเซอร์ เพราะว่ากิจกรรมทั้งหมดในโปรเซสเซอร์จะหยุดเมื่อ thread พยายามเข้าครอบครอบ spinlocks เนื่องจาก thread ที่ครอบครอง spinlocks ไม่ได้ถาวรตายตัว ดังนั้นมันสามารถจบ และปล่อยล็อกได้อย่างรวดเร็ว3.2.4 การกู้กลับเมื่อไฟตกความรับผิดชอบข้อสุดท้ายของ kernel คือ การแก้ไขปัญหาไฟตก อินเทอร์รัพต์ที่เกิดจากไฟตกเป็น priority สูงสุดอันดับสองที่แจ้งระบบปฏิบัติการเมื่อไฟตก โดย power-notify object มีวิธีการทำให้ดีไวซ์ไดร์เวอร์ลงทะเบียนรูทีนไว้ก่อน เมื่อเกิดปัญหาก็จะเรียกรูทีนนี้เพื่อนำค่าเดิมมาใช้เพื่อมั่นใจได้ว่า ดีไวซ์รับค่าสถานะที่ถูกต้องในการคืนค่ากลับ สำหรับระบบแบ็คอัพแบ็ตเตอรี่ power-status object มีประโยชน์มาก ก่อนเข้าขั้นวิกฤต ไดร์เวอร์จะพิจารณา power-status object ที่ตรวจสอบว่าเกิดไฟตกหรือไม่ ถ้าไดร์เวอร์ตรวจสอบแล้วว่าไฟไม่ตก มันจะเพิ่มค่า IRQL ของโปรเซสเซอร์เพื่อบล็อก powerfail interrupt จนกว่าวิกฤตนั้นจะหมดไป3.3 Executiveด้านบนของ kernel และดีไวซ์ไดร์เวอร์เป็นส่วนบนของระบบปฏิบัติการที่เรียกว่า Executive ซึ่งเขียนด้วยภาษา C เป็นสถาปัตยกรรมอิสระประกอบด้วย 10 คอมโพเนนต์ แต่ละคอมโพเนนต์เป็นชุดของโปรซีเตอร์ที่ทำงานคล้ายกันและทำงานร่วมกันเพื่อให้งานสำเร็จ คอมดพเนนต์เหล่านี้ไม่มีขอบเขตที่แน่นอน ความแตกต่างที่ผู้เขียนกล่าวถึงเป้นเพียงการแบ่งกลุ่มหน้าที่ของโปรซีเดอร์ลงในคอมโพเนนต์เท่านั้น คอมโพเนนต์ในระดับเดียวกันสามามารถเรียกใช้งานได้ คอมโพเนนต์ทั้ง 10 มี ดังนี้ Object manager จะทำหน้าที่จัดการทุกออปเจ็กต์ที่ระบบปฏิบัติการรู้จัก· ร่วมถึงโปรเซส,thread,ไฟล์ไดเร็กทอรี,semaphore, ดีไวซ์อินพุต/เอาต์พุต และอื่น ๆ object manager นี้จะวางอยู่ในหน่วยความจำเสมือนเหนือ kernel เมื่อมีการสร้างออปเจ็กต์ขึ้นมา object manager จะเข้ามาติดตามทุกออปเจ็กต์เมื่อไม่ให้สสับสนให้จำว่าคอมโพเนนต์ที่มีคำว่า mger ในรูปท 15.1 ส่วนมากจะไม่ใช้โปรเซส หรือ thread แต่เป็นเพียงชุดของโปรซีเดอร์ที่ thread สามารถเอ็กซิคิวต์เมื่ออยู่ใน kernel mode มีเพียงบางคอมโพเนนต์เท่านั้น เช่น Power manager และ Plug-and-play manager เท่านั้น ที่เป็น thread แบบอิสระอาจกล่าวได้ว่า object manager เป็นศูนย์กลางฟังก์ชันของ Windows 2000 ก็ว่าได้ I/O manager เป็นเฟรมเวิร์คสำหรับจัดการอินพุต/เอาต์พุตดีไวซ์· และอินพุต/เอาต์พุตเซอร์วิส มันยังเตรียมดีไวซ์ให้ระบบโดยการเรียกไดร์เวอร์ที่เหมาะสมกับอุปกรณ์อินพุต/เอาต์พุต I/O manager เป็นเหมือนบ้านของดีไวซ์ไดราเวอร์นั่นเอง ระบบไฟล์ที่แตกต่างกัน 2 ระบบคือ FAT (File Allocation Table) และ NtFS (New Technology File System) แต่ละระบบเป็นอิสระต่อกัน และควบคุมแต่ละดิสก์พาร์ติชัน ทุกระบบไฟล์ที่เป็น FAT จะจัดการโดยไดร์เวอร์เพียงตัวเดียว (สามารถศึกษารายละเอียดเพื่อเติมในหัวข้อ”ระบบไฟล์ใน Windows2000”) ใน I/O manager ยังมีระบบยอ่ยคือ File system, cache manager, Device drivers, และ Network manager Process manager จะทำหน้าที่ให้บริการโปรเซสและ thread· ที่รวมทั้งการสร้าง,การลบ และการใช้ดปรเซสและ thread ขึ้นอยู่กับกลไกการจัดการมากกว่าวิธีการนำไปใช้ Process manager จะสร้างโปรเซส และ thread ของ kernel รวมทั้งการะเพิ่มฟังก์ชันพิเศษให้กับโปรเซสและ thread ที่สร้าง Process manager เป็นหลักในระบบมัลติโปรแกรมมิ่งใน Windows 2000 (สามารถศึกษารานยละเอียดเพิ่มเติมได้ในหัวข้อ “การจัดการโปรเซส และ thread”)· Virtual Memory manager ส่วนนี้ทำหน้าที่จัดการหน่วยความจำเสมือนใน Windows 2000 โดยการแมพหน่วยความจำเสมือนกับหน่วยความจำจริง โดยใช้การจัดการแบบ page-based ที่มีขนาดเพจเป็น 4 กิโลไบต์ (4 KB) เพจ ของข้อมูลกำหนดให้โปรเซส ผไม่ใช้หน่วยความจำจริง) เก็บไว้ใน paging file บนดิสก์ ด้วยเหตุที่ VM manager ใช้แอ็ดเดรสแบบ 32 บิต ทำให้แต่ละโปรเซสจะมีหน่วยความจำเสมือน 4 กิกะไบต์ (4 GB) โดยที่ 2 กิกะไบต์บนกำหนดคุณลักษณะของโปรเซสและใช้ใน kernel mode ของ Windows 2000 ส่วน 2 กิกะไบต์ ล่างเป็นข้อแตกต่างของโปรเซสที่สามารถแอ็กเซสได้ทั้ง user mode และ kernel mode ในการใช้งานจริง Windows 2000 จะสงวน 1 กิกะไบต์ไว้สำหรับ ระบบปฏิบัติการ และยอมให้โปรเซสใช้เนื้อที่เพียง 3 กิกะไบต์เท่านั้น (สามารถศึกษารายละเอียดเพิ่มเติมได้ในหัวข้อ “การจัดการหน่วยความจำ”) Security· manager ทำให้กลไกการรักษาความปลอดภัยของ Windows 2000 มีความประณีตมากขึ้น ทำให้ได้รับระดับ C2 จากกระทรวงกลาโหม สหรัฐฯ ในการรักาความปลอดภัย ซึ่งมีข้อที่ต้องปฏิบัติมากมาย เช่น ต้องมีระบบการล็อกอินเข้าระบบที่ต้องใช้ชื่อ และรหัสผ่าน หรือในเรื่องของหน่วยความจำเสมือนก็จะต้องเคลียร์ให้เป็น 0 ก่อนที่จะนำกลับมาใช้ใหม่ เป็นต้น (สามารถศึกษารายละเอียดเพิ่มเติมได้ในหัวข้อ “การรักษาความปลอดภัย”) Cache manager จะทำหน้าที่จัดการแคชของระบบ· โดยเป็นการเก็บข้อมูลการใช้พื้นที่ดิสก์ไปไว้บนหน่วยความจำเพื่อให้การแอ็กเซสในภายหลังทำได้รวดเร็วขึ้น โดย Cache manager จะทำหน้าที่ตรวจสอบเมื่อมีการใช้เนื้อที่ดิสก์ว่ามีข้อมุลส่วนนั้นอยู่บนหน่วยความจำหรือไม่ เพื่อพิจารณาการนำข้อมูลมาใช้ให้เร็วขึ้น ถึงแม้ว่า Windows 2000 จะมีหลายระบบไฟล์ก็ไม่มีปัญหาสำหรับ Cache manager ที่ไม่ต้องการการจัดการเป็นของตนเอง Cache manager จะทำงานร่วมกับ Virtual Memory majnager ขนาดของเนื้อที่ที่เป็นแคชเป็นไดนามิก นั่นหมายความว่ามีขยาดที่ไม่คงที่ สามารถเปลี่ยนแปลงได้ ตลอดตามต้องการ(สามารถศึกษารายละเอียดเพิ่มเติมได้ในหัวข้อ “การจัดการแคช”) Plug-and Play manager· ในระบบปกิบัติการจะทำหน้าที่แจ้งเตือนเมื่อมีดีไวซ์ใหม่เชื่อมต่อกับระบบทันทีที่บูตระบบขึ้นมา แต่ในบางดีเวซ์สามารถเชื่อมต่อได้ในขณะที่ระบบกำลังทำงานอยู่ เช่น USB เป็นต้น ทั้งนี้ Plug-and-play (PnP) จะทำงานได้ทั้งดีเวซ์และไดร์เวอร์ จะต้องสนับสนุนมาตรฐาน PnP โดย PnP manager จะแจ้งเตือนทันทีที่มีการตรวจพบว่ามีการเชื่อมต่อดีไวซ์ใหม่ Windows 2000 ได้เตรียมไดร์เวอร์สำหรับดีไวซ์ประเภทต่าง ๆ ไว้มากมาย ดดยจะมีรายการดีไวซ์เหล่านี้ไว้ พร้อมทั้งไดร์เวอร์สำหรับดีไวซ์นั้น แต่ในกรณีที่ระบบไม่สามารถตรวจสอบได้ว่าดีไวซ์เป็นอะไร อยู่ในประเภทไหน ระบบจะแจ้งให้คุณทราบแต่เพียงว่ามีดีไวซ์ใหม่เชื่อมต่ออยู่ พร้อมกับให้คุณใส่แผ่นไดร์เวอร์เพื่อให้ดีไวซ์ทำงานได้ถูกต้องต่อไป Power· manager ทำหน้าที่จัดการเกี่ยวกับพลังงานในระบบทั้งหมด ตั้งแต่การปิดมอนิเตอร์,หยุดการใช้ดิสก์เมื่อระบบไม่ได้รับการตอบสองจากผู้ใช้ในเวลาที่กำหนด สำหรับเครื่องแลปทอป Power manager จะตรวจสอบการใช้ไฟในแบ็ตเตอรี่ และจะแจ้งเตือนเมื่อไฟเหลือน้อยเพื่อให้คุณเตรียมการเช่น จัดเก็บงาน, ชัตดาวน์ระบบ หรือชาร์จแบ็ตเตอรี่ใหม่ เป็นต้น Configuration manager· ทำหน้าที่จัดการคอนผิกุเรชันของระบบโดยจะจัดการลงในรีจิสตรี (registry) ทั้งการเพิ่มคีย์ใหม่ หรือการพิจารณาคีย์เมื่อมีการร้องขอ Local Procedure· Call manager ทำหน้าที่ในการส่งผ่านคำร้องขอและผลลัพธ์ระหว่างโปรเซสของไคลเอ็นต์และเซิร์ฟเวอร์ในเครื่องเดียวกัน งานเฉพาะคือระบบจะใช้ LPC เพื่อร้องขอเซอร์วิสจากระบบย่อยของ Windows 2000 กลไกลของ LPC จะเหมือนกัน RPC (Remote Procedure Call)3.4 Environmental SubsystemEnvironmental Subsystem เป็นโปรเซสแบบ user-mode ที่อยู่ด้านบนของ Executive ของ Windows2000 ซึ่งทำให้ Windows 2000 รันโปรแกรมที่ถูกพัฒนาจากระบบปฏิบัติการอื่น รวมถึง Windows 16 บิต , MS-DOS,POSIX และแอปพลิเคชันแบบ character-based ของ OS/2 แบบ 16 บิต แต่ละ Environmental Subsystem จะมี 1 API หรือ application environment ใน Windows 2000 ใช้ระบบย่อย Win 32 เป็นหลัก ซึ่งทำให้จะสตาร์ตทุกโปรเซส เมื่อมีการเอ็กซิคิวต์แอปพลิเคชัน Win32 จะเรียก VM manager เพื่อโหลดโค้ดของแอปพลิเคชัน memory manager จะส่งค่าสถานะกลับไปยัง Win 32 เพื่อบอกชนิดของโค้ดที่สามารถเอ็กซิคิวต์ได้ ถ้าไม่ใช่โค้ดที่ Win32 สามารถเอก็ซิคิวต์ได้ Win32 environmw/ent จะตรวจดูว่ามีระบบย่อยที่เหมาะสมรันอยู่หรือไม่ ถ้าไม่มีมันจะเริ่มต้นเป็นโปรเซสแบบ user-mode หลังจากนั้น Win 32 จะสร้างโปรเซสเพื่อรันแอปพลิเคชันและส่งการควบคุมไปยัง environmental subsystemการจัดการโปรเซสและ Threadใน Windows2000 โปรเซสก็คือ แอปพลิเคชันที่กำลังเอ็กซิคิวต์ และ thread เป็นหน่วยหนึ่งของโค้ดที่จัดเวลาโดยระบบปฏิบัติการ ดังนั้นโปรเซสประกอบด้วย thread 1 thread หรือมากกว่าก็ได้ โปรเซสจะเริ่มต้นเมื่อโปรเซสอื่นเรียกรูทีน CreateProcess รูทีนนี้จะโหลด Dynamic Link Libraries (DLL) ที่โปรเซสต้องการใช้งาน และสร้าง primary thread นอกจากนี้ thread ยังสามารถสร้างจากฟังก์ชัน CreateThread แต่ละ thread จะสร้างด้วยสแต็กของตัวเอง ซึ่งสแต็กนี้จะมีขนาดมาตรฐานเป็น 1 เมกะไบต์ แต่สามารถกำหนดเพิ่มเติมได้ในอาร์กิวเมนต์ของ CreateThread ด้วยเหตุที่ฟังก์ชันที่เป็นภาษา C คอยรักษาสถานะของตัวแปรคงที่ เช่น errmo ทำให้แอปพลิเคชัน ทีเป็น multithread ต้องการเกราะป้องกัน การแอ็กเซส thread ที่ไม่มีการซินโครไนซ์ โดยมีฟังก์ชัน beginthreadex ทำให้มีการซินโครไนซ์ที่เหมาะสม5.การจัดการหน่วยความจำWin32 API มีวิธีการสำหรับแอปพลิเคชันในการใช้หน่วยความจำหลายวิธี ไม่ว่าจะเป็นหน่วยความจำเสมือน แมพหน่วยความจำเป็นไฟล์, heap และ thread-local storage โดยมีรายละเอียดที่น่าสนใจ ดังนี้ การใช้หน่วยความจำเสมือน :· แอปพลิเคชันจะให้ฟังก์ชัน virtualAlloc ในการสงวนหรือใช้หน่วยความจำเหมือน ส่วนคำสั่งตรงข้ามคือ VirtuaFree เพื่อเลิกใช้หน่วยความจำ ฟังก์ชันทั้งสองนี้ทำให้แอปพลิเคชันกำหนดแอ็ดเดรสมือนที่หน่วยความจำวางอยู่ แอปพลิเคชันจะใช้หน่วยความจำหลาย ๆ เพจ โดยที่แอ็ดเดรสเริ่มต้นของย่านหน่วยความจำจะต้องมากกว่า 0x10000 โปรเซสอาจจะเลือกเพจของหน่วยความจำที่ใช้งานของตนเองไปเป็นหน่วยความจำทางกายภาพโดยการเรียกฟังก์ชัน virtualLock โดยที่โปรเซสสามารถล็อกจำนวนเพจได้สูงสุดถึง 30 เพจ นอกเสียจากว่าในครั้งแรกโปรเซสเรียกฟังก์ชัน SetPriocessWorkingSetSize เพื่อเพิ่มขนาดพื้นที่ใช้งานไว้ก่อน แมพหน่วยความจำเป็นไฟล์ :· วิธีนี้เป็นอีกวิธีหนึ่งที่แอปพลิเคชันใช้หน่วยความจำโดยแมพเนื้อที่หน่วยความจำเป็นไฟล์ การแมพหน่วยความจำนี้เป็นประโยชน์เมื่อโปรเซส 2 โปรเซสมีการแชร์หน่วยความจำ โดยโปรเซสทั้งสองจะแมพไฟล์เดียวกันนั้นในหน่วยความจำเสมือน เมื่อใดก็ตามที่โปรเซสต้องการแมพเนื้อที่ก็จะทำแคเพียงแวร์พื้นที่หน่วยความจำกับโปรเซสอื่นไม่จำเป้นต้องใช้ไฟล์ โปรเซสสามารถเรียกใช้ CreateFileMapping ด้วยไฟล์ที่ตำแหน่ง 0xffffffff และขนาดพาะ ผลของการแมพอาจจะเป็นการแชร์โดยรับช่วง, ใช้ชื่อ หรือโดยการสำเนาก็ได้ Heap :· heap ในสภาพวะ Win32 เป็นเพียงแอ้ดเดรสของเนื้อที่สงวน เมื่อโปรเซสใน Win32 เริ่มต้นขึ้นมันจะสร้าง default heap ขนาด 1 เมกะไบต์ เนื่องจากฟังก์ชันของ Win 32 หลายฟังก์ชันใช้ default heap การแอ็กเซส heap เป็นการซินโครไนซ์เพื่อป้องกันโครงสร้างข้อมูลของ heap จากอันตรายเมื่ออัปเดทพร้อมกันจาก thread หลาย thread ในเวลาเดียวกัน Win 32 มีฟังก์ชันสำหรับจัดการ heap หลายวิธี ดังนั้น โปรดเซสสามารถกำหนดและจัดการ heap ส่วนตัวได้ ฟังก์ชันที่ว่านี้ Wi32 API ยังมีฟังก์ชัน HeapLock และ HeapUnlock เพื่อให้ thread เพิ่มการแอ็กเซส heap ได้ดีขึ้น ฟังก์ชันเหล่านี้จะต่างกับฟังก์ชัน VirtualLkock ตรงที่ฟังก์ชันเหล่านี้ จะกระทำเฉพาะการซินโครไนซ์ จะไม่ล็อกเพจกับหน่วยความจำจริง Thread-local storage :· วิธีที่สี่นี้เป็นวิธีการใช้หน่วยความจำของแอปพลิเคชัน ฟังก์ชันที่ขึ้นอยู่กับข้อมูลแบบโกลบอลหรือไดนามิก โดยปกติจะทำงานไม่ถูกต้องในสภาวะ multithreaded เช่น ฟังก์ชันในภาษา C ที่ชื่อ Strtok ที่ใช้ตัวแปรคงที่ในการตรวจจับตำแหน่งปัจจุบันที่ส่งสตริง สำหรับ thread 2 thread ที่เอ็กซิควิต์ strtok พร้อมกันจำเป็นต้องมีตัวแปร current position แยกต่างหาก กลไก Thread-local storage มีการกำหนด storage แบบโกลบอลบนพื้นฐานของ thread มีทั้งวิธีตายตัวและไดนามิกในการสร้าง Thread-local storageการจัดการอุปกรณ์อินพุต/เอาต์พุตเป้าหมายหลักของระบบอินพุต/เอาต์พุตของ Windows2000 ก็คือสร้างเฟรมเวิร์คสำหรับดูแลอุปกรณ์อินพุต/เอาท์พุต ที่มีอยู่หลากหลาย อุปกรณ์ที่เป็นอินพุตในปัจจุบันมีทั้งคีย์บอร์ด,เมาส์,จอยสติ๊ก, สแกนเนอร์,กล้องดิจิตอล,เครื่องอ่านบาร์โค้ด และไมโครโฟน ส่วนอุปกรณ์ที่เป็นเอาต์พุตมีทั้งมอนิเตอร์,เครื่องพิมพ์,พล็กตเตอร์,เครื่องบันทึกซีดี และการ์ดเสียง นอกจากนี้ยังมีสื่อที่ใช้ในการจัดเก็บข้อมุล เช่น ฟล็อปปีดิสก์,ฮาร์ดดิสก์,ซีดีรอม,ดีวีดี และเทป รวมถึงอุปกรณ์อื่น ๆ เช่น นาฬิกา,เน็ตเวิร์ค,โทรศัพท์,กล้องแคมคอร์ดเดอร์ ในอนาคตอันใกล้นี้อาจจะมีอุปกรณ์เพิ่มเติมอีกก็ได้ ดังนั้น Windows 2000 ได้ถูกออกแบบด้วยเฟรมเวิร์คธรรมดาที่ทำให้อุปกรณ์สามารถเชื่อมต่อระบบได้อย่างง่ายดาย ในพารากราฟต่อไปเป็นการกล่าวถึงการจัดการอุปกรณ์อินพุต/เอาต์พุตที่น่าสนใจ.ระบบไฟล์ใน Window 2000Windows 2000 สนับสนุนระบบไฟล์หลายรูปแบบที่สำคัญคือ FAT -16 (File Allocation Table) ,FAT-32 NTFS (New Technology Fuile System) และ OS/2 โดยที่ FAT-16 เป็นระบบไฟล์เดิมของ MS-DOS ที่ใช้แอ็ดเดรสแบบ 16 บิตทำให้ขนาดของดิสก์พาร์ติชันมีขนาดไม่เกิน 2 กิกะไบต์ (2 GB) ในขณะที่ FAT-32 ใช้แอ็ดเดรสไฟล์แบบแบบใหม่ที่เสนอมาตั้งแต่ Windows 2000 ด้วย ระบบไฟล์แบบนี้ใช้แอ็ดเดรสแบบ 64 บิต.เน็ตเวิร์คWindows 2000 สนับสนุนทั้งเน็ตเวิร์คแบบ Peer-to-peer และ Client-server นอกจากนี้ยังมีเครื่องมือในการจัดการเน็ตเวิร์คที่ทรงประสิทธิภาพ เน็ตเวิร์คคอมดพเนนต์ใน Windows 2000 ทำให้มีการส่งข้อมูล การติดต่อระหว่างโปรเซส การแชร์ไฟล์ข้ามเน็ตเวิร์ค และความสามารถในการส่งงานไปพิมพ์ยังเครื่องที่อยู่ห่างไกลได้เป็นอย่างดี เรามักจะกล่าวถึงอินเทอร์เฟซภายในเน็ตเวีร์คที่มี 2 รูปแบบคือ Network Device Interface Specification (NDIS) และ Transport Driver Interface (TDI) ซึ่ง NDIS นี้พัฒนาขึ้นในปี 1989 ดดยความร่วมมือระหว่างไมดคซอฟต์และ 3Com เพื่อแยกเน็ตเวิราคอะแด็ปเตอร์จากโปรโตคอล ซึ่งจะไม่มีผลกระทบกับส่วนอื่น ๆ NDIS อยู่ระหว่างเลเยอร์ data-link control และ media-access control ในโมเดล OSI และมีหลายโปรโตคอลที่สามารถทำงานได้หลายเน็ตเวิร์คอะแด็ปเตอร์ที่แตกต่างกัน สำหรับ TDI ในเทอมของดมเดล OSI นั้นจะเป็นอินเทอร์เฟซระหว่างเลเยอร์ Transport และเลเยอร์ session อินเทอร์เฟซนี้ทำให้คอมโพเนนต์ของเลเยอร์ Sesion ใช้กลไกการส่งข้อมูลได้ TDI สนับสนุนการส่งข้อมูลทั้งแบบ connection-based และ connectionless และมีฟังก์ชันหลากหลายในการส่งข้อมูลประเภทโปรโตคอลWindows 2000 เสนอดปรโตคอล Transport เป็นไดร์เวอร์ ซึ่งไดร์เวอร์เหล่านี้สามารถโหลด หรือยกเลิกจากระบบแบบไดนามิก ถึงแม้จะต้องมีการบูตเครื่องใหม่เมื่อมีการเปลี่ยนก็ตาม Windows 2000 มาพร้อมกับเน็ตเวิร์คโปรโตคอลหลายรูปแบบ ที่น่าสนใจดังนี้ค SMB : โปรโตคอล SMB· (server Messge Block) เริ่มปรากฏตัวตั้งแต่ MS-DOS 3.1 ดดยระบบใช้โปรโตคอลนี้ในการส่งคำร้องขออินพุต/เอาต์พุต ผ่านเน็ตเวิร์ค โปรดตคอล SMB มีแม สเสจ 4 ประเภทคือ แมสเสจ Session control (คำสั่งเพื่อเริ่มต้นและจบการเชื่อมต่อเพื่อแชร์รีชอร์สที่เซิร์ฟเวอร์),แมสเสจ File (เพื่อแอ็กเซสไฟล์ที่เซิร์ฟเวอร์),แมสเสจ Printer (เพื่อส่งข้อมูลไปยังคิดการพิมพ์ที่อยู่ห่างไกล และรับข้อมู่ลเสตตัสกลับมาป และแมสเสจ Message (ใช้ในการติดต่อสื่อสารกับเวิร์สเตชันอื่น) NetBIOS:· โปรตคอล NetBIOS (Network Basic Input/Output System) เป็น hardware-abstraction interface สำหรับเน็ตเวิร์คที่พัฒนาในช่วย 1980 ใช้เครื่องคอมพิวเตอร์ที่ใช้ MS-DOS และกลายเป็นอินเทอร์เฟซมาตรฐานสำหรับเน็ตเวิร์คโปรแกรมมิ่ง NetBIOS มีหน้าที่สร้าง logiclal name บนเวิร์ค,สร้าง logical connection หรือ session ระหว่าง logical name ทั้งสองบนเน็ตเวิร์ค และสนับสนุนการถ่ายโอนข้อมูล สำหรับ sission ผ่านทางNetBIOS หรือ SMB NetBEUI : โปรโตคอล NetBEUI (NetBIOS Extended User· Interface) พัฒนาโดย IBM เมื่อ 1985 โดยเป็นเน็ตเวิร์คโปรโตคอลที่ใช้งานง่าย,มีประสิทธิภาพ และเชื่อมต่อได้ถึง 254 เครื่อง ถูกกำหนดให้เป็นดีฟอลต์โปรโตคอลบน Windows 95 และ Windows for workgroup ใน Windows 2000 ใช้ NetBEUI เมื่อต้องการแชร์รีซอร์บนเน็ตเวิร์คเหล่านี้ NetBEUI มีข้อจำกัดตรงที่จะใช้ชื่อคอมพิวเตอร์เป็นแอดเดรส และไม่สนับสนุนการ routing เมื่อโปรโตคอล TCP/IP เหมาะสมในการนำมาใช้งานกับอินเทอร์เน็ตจนกลายเป้นมาตรฐาน Windows 2000 ใช้ในการเชื่อมต่อกับระบบปฏิบัติการและแพตฟอร์มของฮาร์ดแวร์ที่หลากหลาย ในแพ็กเกจของ TCP/IP ใน Windows 2000 ประกอบด้วย Simple Network Management Protocol (SNMP)Dynamic Host-configuration Protocol (DHCP) Windows Internet Name Service (WINS) และสนับสนุน NetBIOS PPTP : โปรดตคอล PPTP (Point-to-Point· tunneling Protocol) มีอยู่ใน Windows 2000 เพื่อติดต่อสื่อสารระหว่างรีโมทแอ็กเซสเซิร์ฟเวอร์โมดูรลที่รันบนเครื่องเซิร์ฟเวอร์ของ Windows 2000 และไคลเอ็นต์อื่น ที่เชื่อมต่อผ่านทางอินเทอร์เน็ต เซิร์ฟเวอร์ที่เป็นรีโมทแอ็กเซสนี้สามารถใส่รหัสข้อมูลที่ผ่านการเชื่อต่อนี้ และยังสนับสนุนมัลติดปรโตคอลของ VPN (Virtual Private Network) ผ่านทางอินเทอร์เน็ตอีกด้วย DLC : โปรโตคอล DLC (Data-Link Control) มีอยู่ใน· Windows 2000 นำมาใช้ในการีแอ็กเซสกับเมนเฟรมของ IBM และเครื่องพิมพ์ของ HP ทีเชื่อมต่อโดยตรงทางเน็ตเวิร์ค นอกนั้นก็ไม่ได้ใช้อะไรเพิ่มเติม ApplesTalk :· โปรโตคอลนี้ถูกออกแบบโดย Apple เพื่อประหยัดค่าใช้จ่ายในการเชื่อมต่อทำให้เครื่องแม็คอินทอชแชร์ไฟล์กันได้ และทำให้ Windows 2000 สามารถแชร์ไฟล์และเครื่องพิมพ์ กับเครื่องแม็ดอินทอชผ่านทาง AppleTalk นี้ได้เช่นกัน เมื่อเซิร์ฟเวอร์ของ Windows 2000 รันแพ็กเกจ Windows 2000 services for Macintoshกลไกการโปรเซสแบบกระจาย· NetBIOS ใน Windows 2000 ทำให้แอปพลิเคชันสามารถติดต่อสื่อสารข้ามเน็ตเวิร์คโดยใช้ NetBEUI, NWLink และ TCP/IP Named pipes เป็นกลไกแบบ connection-+oriented· message แต่เดิมถูกพัฒนาเป็นอินเทอร์เฟซระดับสูงของ NetBIOS เพื่อเชื่อมต่อข้ามเน็ตเวิร์ค โปรเซสสามารถใช้ named pipes ในการติดต่อกับโปรเซสอื่นบนเครื่องเดียวกัน เนื่องจาก named pipes มีการแอ็กเซสผ่านทางอินเทอร์เฟซระบบไฟล์ ทำให้กลไกการรักษาความปลอดภัยที่ใช้กับไฟล์ถูกนำมาใช้กับ named pipes ด้วย ชื่อของ named pipes มีรูปแบบที่เรียกว่า Uniform Naming Cjonvention (UNC) โดยชื่อ UNC เหมือนกับชื่อไฟล์แบบรีโมท โดยมีรูปแบบคือ \\server name\share_name\x\y\z โดยที่ server_name จะเป็นเซิร์ฟเวอร์บนเน็ตเวิร์ค ส่วน share_name เป็น รีซร์ส ที่แชร์ไว้เพื่อใช้ในเน็ตเวิร์ค เช่น ไฟล์,ไดเร็กทอรี,เครื่องพิมพ์, หรืออื่น ๆ สำหรับ x\y\z เป็นส่วนของไฟล์และพาธตามปกติ Mailslots เป็นกลไกแบบ· connectionless messaging ใช้ในการส่งผ่านแอพลิเคชัน เช่น การค้นหาคอมโพเนนต์บนเน็ตเวิร์ค นอกจากนี้ยังใช้กับ Windows 2000 Computer Browser อีกด้วย แต่ Mailslots ไม่ค่อยมีความน่าเชื่อถือตรงที่แมสเสจที่ส่งไปยัง mailslots อาจจะสูญหายก่อนถึงมือผู้รับ Winsock เป็น Windows 2000 socket API· เป็นอินเทอร์เฟซแบบ session-layer ที่คอมแพติเบิลกับ UNIX socket นอกจากนี้ Winsock ยังมีอินเทอร์เฟซมาตรฐานกับโปรโตคอล Transport ที่อาจจะมีกำกำหนดแอ็ดเดรสที่ต่างกัน ดังนั้น แอปพิลเคชันของ Winsock สามารถรันได้พาะกับ Winsock compliant protocol stack RPC (Remote Procedure Protocol)· เป็นกลไกลแบบไคลเอ็นต์เซิร์ฟที่ทำให้แอปพลิเคชันจากเครื่องหนึ่งเรียกโปรซีเดอร์ไปอีกเครื่องหนึ่งได้ ไคลเอ็นต์จะเรียกโปรดซีเดอร์ของตนเอง (รูทีนย่อย) ที่แพ็กอาร์กิวเมนต์ลงในแมสเสจเล้วส่งข้ามเน็ตเวิร์คไปยังโปรเซสที่กำหนด เมื่อถึง ฝั่งเซิร์ฟเวอร์จะขยายแพ็กออกเรียกโปรซีเดอร์ แล้วแพ็กผลลัพธ์ลงในแมสเสจแล้วส่งกลับไปฝั่งไคลเอ็นต์ เมื่อไลเอ็นต์ได้รับแมสเสจแล้วจะขยายแพ็กผลลัพธ์ RPC ออก แล้วส่งผลลัพธ์นั้นไปให้ผู้เรียก แพ็กของอาร์กิวเมนต์นี้บางครั้งเรียกว่า marshalling กลไกล RPC ของ Windows 2000 นี้นำมาใช้อย่างกว้างขวางในสภาพวะแล้วล้อมแบบกระจายมาตรฐานแมสเสจแบบ RPC ดังนั้นโปรแกรมที่เขียนเพื่อใช้ RPC ของ Windows 2000 จะเคลื่อนย้ายได้ง่าย มาตรฐาน RPC มีรายละเอียดปลีกย่อยมาก มันซ่อนความแตกต่างด้านสถาปัตยกรรมคอมพิวเตอร์ไว้ โดยการกำหนดรูปแบบข้อมูลมาตรฐาน RPC ใน Windows 2000 สามารถส่งแมสเสจ RPC โดยใช้ NetBIOS, winsock บนเน็ตเวิร์ค TCP/IP หรือ named pipes บนเน็ตเวิร์ค LAN/Manager MIDL (Microsoft Interface Definition Language)· เป็นภาษาที่ออกแบบโดยไมโครซอฟต์เพื่ออธิบายชื่อของรีโมทโปรซีเดอร์ และประเภทของข้อมูลสำหรับอาร์กิวเมนต์และแมสเสจที่ส่งค่ากลับ นอกจากนี้มันยังสร้างซอร์สโค้ดสำหรับรายละเอียดของรูทีนที่ใช้บนฝั่งไคลเอ็นต์ เพื่อ dispatcher ฝั่งเซิร์ฟเวอร์ COM· เป็นกลไกสำหรับการติดต่อสื่อสารภายในโปรเซสที่พัฒนาสำหรับ Windows ออปเจ็กต์ COM จะมีการกำหนดอินเทอร์เฟซเพื่อจัดการกับข้อมูลในออปเจ็กต์ Windows 2000 มีส่วนขยายที่เรียกว่า DCOM ที่นำมาใช้บนเน็ตเวิร์คกับกลไก RPC เป็นวิธีการพัฒนาแอปพลิเคชันแบบกระจายโดเมนในโดเมนของ Windows 2000 ประกอบด้วยเซิร์ฟเวอร์และเวิร์คสเตชันที่แชร์ทั้งรีซอร์ส, ฐานข้อมูลโดยมีระบบรักษาความปลอดภัยป้องกันอยู่ เนื่องจากปัจจุบัน Windows 2000 ใช้โปรโตคอล Kerberos สำหรับ trust และ authennication แต่เดิม Windows NT ใช้หลักการควบคุมโดเมนหลักและสำรอง แต่ปัจจุบันทุกเซิร์ฟเวอร์ในโดเมนเป็นตัวควบคุมในโดเมนได้ นอกจากนี้แต่เดิมต้องเซ็ตอัพ trust ระหว่างโดเมนในลักษณะทางเดียว แต่ใน Windows 2000 ใช้ลักษณะลำดับชั้นโดยอิงกับ DNS และยอมให้ส่งผ่าน trust ขึ้นลงตามลำดับชั้นได้ วิธีนี้ทำให้ลดจำนวน trust ที่ต้องการสำหรับ n โดเมน จาก n*(n-1) เป็น 0 เวิร์คสเตชันในโดเมนกำหนด trust ให้กับการควบคุมโดเมนเพื่อให้ข้อมูลที่ถูกต้องเกี่ยวกับสิทธิการแอ็กเซสของผู้ใช้แต่ละคน ผู้ใช้ทุกคนยังคงมีความสามารถในการจำกัดแอ็กเซสเวิร์คสเตชันของตนเองไม่ว่าตัวควบคุมโดเมนจะเป็นอย่างไรName Solution ในเน็ตเวิร์ค TCP / IPในเน็ตเวิร์ค IP คำว่า Name Solution หมายถึงขั้นตอนการแปลงชื่อคอมพิวเตอร์ไปเป็น IP addressการจัดการแคชงานของ cache manager คือ การเก็บรักษากลุ่มของระบบไฟล์ที่ใช้งานล่าสุดในหน่วยความจำเพื่อลดเวลาการแอ็กเซลสิ่งที่เหมือนกัน ใน Windows 2000 มีเพียงแคชแบบรวมการเพียงแคชเดียวที่ทำงานได้กับทุกระบบไฟล์ไม่ว่าจะเป็น NTFS,FAT-16,FAT-32 และแม้แต่ระบบไฟล์สำหรับซีดีรอม นั่นหมายความว่าระบบไฟล์ไม่จำเป้นต้องดูแลแคชของตนเองเลย เป้าหมายหลักการออกแบบแคชแบบรวมการสำหรับระบบไฟล์ที่หลากหลาย cache manager จะว่าอยู่ตำแหน่งที่ไม่ธรรมดา มันไม่ได้เป็นส่วนหนึ่งของระบบไฟล์ เพราะมีระบบไฟล์มากมายที่เป็นอิสระต่อกันทำให้ไม่ใช่สิ่งธรรมดา มันทำงานในระดับสูงกว่าระบบไฟล์ซึ่งเป็นไดร์เวอร์ทางการรักษาความปลอดภัย เนื่องจาก Windows 2000 ได้รับขั้นการรักษาความปลอดภัยของระบบระดับ C2 จากกระทรวงกลาโหมสหรัฐฯ ทำให้ Windows 2000 มีการรักษาความปลอดภัยในระดับที่ระบบปฏิบัติการพึงมีอยู่แล้ว นอกจากการใช้ชื่อล็อกอินและรหัสผ่านสำหรับการเข้าสู่ระบบซึ่งเป็นสิ่งพื้นฐานแล้วใน Windows 2000 ผู้ใช้ทุกคนจะถูกกำหนดด้วย SID (Security ID) ซึ่ง SID เป็นเลขฐานสองที่มีสองส่วนคือส่วนหัวสั้น ๆ และตามด้วยตัวเลขสุ่มหลายตัว แต่ละ SID มีเจตนาให้เป็นหนึ่งเดียวทั่วโลก เมื่อผู้ใช้เริ่มต้นโปรเซส ทั้งโปรเซสและ thread จะรันภายใต้ SID ของผู้ใช้นั้น ระบบรักษาความปลอดภัย ส่วนมากถูกออกแบบเพื่อให้มั่นใจว่าแต่ละออปเจ็กต์จะถูกแอ็กเซสโดย thread ได้เฉพาะ SID ที่อนุญาตเท่านั้น

ไม่มีความคิดเห็น: