วันพฤหัสบดีที่ 29 มกราคม พ.ศ. 2552

การออกรหัส

1. Uyew
ciphtertext Uyew
dec 20 50 30 48
binary 010100 110010 011110 110000
HEX 53 27 B02.
Xb2x
ciphtertext Xb2xdec 23 27 C 49
binary 010111 011011 101011 110001
HEX 5D BA F13.
dTR4ciphtertext dTR4dec 29 19 17
Ebinary 011101 010011 010001 101101
HEX 75 34 6D

การเข้ารหัส

1.Erq
Plaintext Erq
HEX 45 43 42
binary 01000101 01000011 01000010
Dec 17 20 13 2
table R U N C
2.Dkp
Plaintext Dkp
HEX 44 36 41
binary 01000100 00110110 01000001
Dec 17 3 25 1
table R D Z B
3.BOY
Plaintext BOY
HEX 42 4F 59
binary 01000010 01001111 01011001
Dec 16 36 61 25
table O k 9 Z

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

คำถามบทที่ 15

1. ระบบปฏิบัติของ Microsoft สำหรับเครื่องเดสก์ทอปและแลปทอปสามารถแบ่งเป็นตระกูล
ก. 1 ตระกูล
ข. 2 ตระกูล
ค. 3 ตระกูล
ง. 4 ตระกูล
2. เป้าหมายการออกแบบของwindows2000ที่microsoftต้องการมีกี่ประการ
ก. 6 ประการ
ข. 7 ประการ
ค. 8 ประการ
ง. 9 ประการ
3. Ready เป็นสถานะอย่างไร
ก. เป็นสถานะที่หยุดคอยสัญญาณ
ข. เป็นสถานะที่พร้อมในการรัน
ค. เป็นสถานะที่threadใหม่รอคอยการใช้รีซอร์สสำหรับการเอ็กซิคิวต์
ง. เป็นสถานะที่ thread เสร็จสิ้นการเอ็กซิคิวต์แล้ว
4. waitingเป็นสถานะอย่างไร่
ก. เป็นสถานะที่หยุดคอยสัญญาณ
ข. เป็นสถานะที่พร้อมในการรัน
ค. เป็นสถานะที่ thread ใหม่รอคอยในการใช้รีซอส์สำหรับการเอ็กซิคิวต์
ง. เป็นสถานะที่ thread เสร็จสิ้นการเอ็กซิคิวต์แล้ว
5. Terminated เป็นสถานะอย่างไร
ก. เป็นสถานะที่หยุดคอยสัญญาณ
ข. เป็นสถานะที่พร้อมในการัน
ค. เป็นสถานะที่ thread ใหม่รอคอยการใช้รีซอร์สสำหรับการเอ็กซิคิวต์
ง. เป็นสถานะที่ thread เสร็จสิ้นการเอ็กซิคิวต์แล้ว



6. ด้านบนของ kernel และดีไวซ์ไดร์เวอร์เป็นแบบส่วนบนของ ระบบปฏิบัติการที่เรียกว่าอะไร
ก. manager
ข. Executive
ค. process
ง semaphore

7. Executive มีการแบ่งกลุ่มหาที่ของโปรดีเดอร์ลงในคอมโพเนนต์กีหน้าที่
ก. 3 หน้าที่
ข. 5 หน้าที่
ค. 8 หน้าที่
ง. 10 หน้าที่
8. win32 แบ่งกลุ่มแอปพลิเคชันเป็นกี่กลุ่ม
ก. 2 กลุ่ม
ข. 3 กลุ่ม
ค. 6 กลุ่ม
ง. 7 กลุ่ม
9. พื้นฐานที่สุดของระบบไฟล์ NTFS คืออะไร
ก. Number
ข. Cluster
ค.Sector
ง. Volume
10. โปรโตคอล Transport เป็นไดร์เวอร์ที่สามารถโหลดหรือยกเลิกจากระบบแบบใด
ก. แบบไดนามิก
ข. แบบเซิร์ฟเวอร์
ค. แบบแอ็กเซสไฟล์
ง. แบบแมสเสจ
11. งานของ cache manager คืออะไร
ก. ขั้นตอนการเปลี่ยนแปลงชื่อคอมพิวเตอร์ให้เป็น IP
ข. การเก็บรักษากลุ่มของระบบไฟล์ใช้งานล่าสุดในหน่วยความจำ
ค. เป็นเน็ตเวิร์คส่วนใหญ่จะมีลักษณะเป็นกลุ่ม
ง. กลไกสำหรับติดต่อสื่อสารภายในโปรเซล
12. ในระบบไฟล์ NTFS ไม่ได้แยกดิสก์ออกเป็นเซ็กเตอร์(Sector)แต่จะใช้อะไรในการกำหนดหน่วยของดิสก์
ก. เรกคอร์ด
ข. คลัสเตอร์ (Cluster)
ค. แอ็ดเดรส
ง. ไดเร็กทอรี
13. Mailslots เป็นกลไกแบบได
ก. NetBIOS
ข. Connetctionless messaging
ค. Named pipes
ง. Session-layer
14. คุณสมบัติอีกประการหนึ่งของ Cache manager คืออะไร
ก. การรักษาระหว่างไฟล์ที่แมพกับหน่วยความจำและไฟล์
ข. การรักษาแบบธรรมดา
ค. การแก้ไขข้อมูล
ง. ระบบที่รับบล็อก
15. กลไกในการควบคุมการแอ็กเซสใน Windows2000 ขึ้นอยู่กับอะไร
ก. Access
ข. Elements
ค. Security descriptor
ง. token








เฉลย
1.ค 2. ก 3. ข 4. ก 5. ง 6.ข 7.ง
8.ก 9.ง 10.ก 11. ข 12.ข 13.ข 14.ก 15. ค

คำถามบทที่ 14

1. Linux เป็นระบบหนึ่งในหลายระบบที่คล้ายกับระบบอะไร
ก. XENIX ข. UNIX
ค. KERNEL ง. MINIX

2. จุดเด่นของ Linux มีกี่ข้อ
ก. 9 ข. 10
ค.11 ง. 12
3. หัวใจของ Linux เรียกว่าอะไร
ก.Kernel ข.Shared
ค.Unified ง. Mailing
4. ข้อใดต่อไปนี้ไม่ได้อยู่ในส่วนของคอมโพเนนต์ของ Linux system
ก. kernel ข. ไลบรารีระบบ
ค. ยูทิลิตี้ระบบ ง.Binary
5. เนื่องจาก Linux Kernel อยู่ภายใต้ GPL license คุณไม่สามารถเพิ่มอะไรได้
ก. ไฟล์ ข. คอมโพเนนต์
ค. ดีไวซ์ไดร์เวอร์ ง. ไดร์เวอร์
6. Module Management มีหน้าที่อะไร
ก. เป็นคอมโพเนนต์ที่จัดการโมดูล เช่นโหลดโมดูลลงหน่วยความจำ
ข. เป็นคอมโพเนนต์ที่ใช้ในการลงทะเบียนไดร์เวอร์ใหม่
ค. เป็นคอมโพเนนต์ที่ช่วยแก้ปัญหาดีไวซ์ไดร์เวอร์ที่ต่างกัน
ง. ดูแลตารางสัญลักษณ์ภายในของ kernel
7. Driver Registratration มีหน้าที่อะไร
ก. เป็นคอมโพเนนต์ที่จัดการโมดูล เช่น โหลดโมดูลลงหน่วยความจำ
ข. เป็นคอมโพเนนต์ที่ใช้ในการลงทะเบียนไดร์เวอร์ใหม่
ค. เป็นคอมโพเนนต์ที่ช่วยแก้ปัญหาดีไวซ์ไดร์เวอร์ที่ต่างกัน
ง. ดูแลตารางสัณลักษณ์ภายในของ Kernel
8. Conflict-resolution Mechanism มีหน้าที่อะไร
ก.เป็นคอมโพเนนต์ที่จัดการโมดูล เช่น โหลดโมดูลลงหน่วยความจำ
ข. เป็นคอมโพเนนต์ที่ใช้ในการลงทะเบียนไดร์เวอร์ใหม่
ค. เป็นคอมโพเนนตืที่ช่วยแก้ปัญหาดีไวซ์ไดร์เวอร์ที่ต่างกัน
ง. ดูแลตารางสัญลักษณ์ของ Kernel
9. การโหลดโมดูลมีกี่ขั้นตอน
ก. 2 ขั้นตอน
ข. 3 ขั้นตอน
ค. 4 ขั้นตอน
ง. 5 ขั้นตอน
10. คอมโพเนนต์ในการจัดการโมดูลตัวสุดท้ายคืออะไร
ก. Resolved ข. Packet filtering
ค. Module requestor ง. Network Firewall
11. ระบบไฟล์มาฐานสำหรับดิสก์ของ Linux เรียกว่าอะไร
ก. Davison ข. Wayne
ค. ext2fs ง. Remy Card
12. ระบบไฟล์มีข้อจำกัดที่ชื่อไฟล์ไม่เกิน 14 ตัวอักษรและขนาดไฟล์ที่ไม่เกินกี่เมกะไบต์
ก. 46 เมกะไบต์
ข. 50 เมกะไบต์
ค. 56 เมกะไบต์
ง. 64 เมกะไบต์
13. สำหรับระบบอินพุต/เอาต์พุต มีสัญลักษณ์อย่างไร
ก. O,I
ข. I/O
ค. I*O
ง. (O*I)

14. เน็ตเวิร์คใน Linux Kernel แบ่งซอฟต์แวร์เป็นกี่เรเยอร์
ก. 2 เรเยอร์
ข. 3 เรเยอร์
ค. 6 เรเยอร์
ง. 8 เรเยอร์
15. ส่วนที่เกี่ยวข้องกับการรักษาความปลอดภัยแบ่งออกเป็นกี่กลุ่ม ได้แก่อะไรบ้าง
ก. 1 กลุ่ม คือ การรับรอง
ข. 1 กลุ่ม คือ การควบคุมการแอ็กเซส
ค. 2 กลุ่ม คือ หน่วยความจำ , ออปเจ็กต์ที่เป็นหน่วยความจำรวม
ง. 2 กลุ่ม คือ การรับรอง , การควบคุมการแอ็กเซส








เฉลย
1. ข 2. ค 3. ก 4.ง 5. ข 6.ก 7.ข 8.ค 9.ก
10.ค 11.ค 12.ง 13.ข 14.ข 15.ง


คำถามบทที่ 13

1 security หมายถึงอะไร
1 การให้ความสะดวก
2 การรักษาความปลอดภัย
3 การป้องกัน
4 การสร้าง
2 การรักษาความปลอดภัย ระบบคอมพิวเตอร์มีเป้าหมายกี่เป้าหมาย
1 1 เป้าหมาย
2 2 เป้าหมาย
3 3 เป้าหมาย
4 4 เป้าหมาย
3 email ชื่อเรียกเป็นภาษาไทยว่าอย่างไร
1 ข้อความ
2 แชท
3 การดาวโหลด
4 จดมายอิเล็กทรอนิค
4 pc ข้อใดต่อไปนี้มีการล็อกอินเป็นครั้งแรก
1 ppp-
2 Apple
3 Ibm pc
4 ถูกทั้งข้อ 2 และข้อ 3

5. ไวรัสชนิตใดที่มีรูปแบบที่แน่นอนและซ่อนตัวจากการป้องกันจากโปรแกรมตรวจหา
1 . Parasitic virus
2 . Stealth virus
3 . Boot Sector virus
4 Polymorphic virus





เฉลย
1) 2 2)3 3)4 4) 4

วันอังคารที่ 27 มกราคม พ.ศ. 2552

สรุปเนื้อหาบทที่ 15

ประวัติของระบบปฏิบัติการ Window 2000Microsoft 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 managerProcess 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 หรือ SMBNetBEUI : โปรโตคอล 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) และสนับสนุน NetBIOSPPTP : โปรดตคอล 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/IPNamed 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 stackRPC (Remote Procedure Protocol)• เป็นกลไกลแบบไคลเอ็นต์เซิร์ฟที่ทำให้แอปพลิเคชันจากเครื่องหนึ่งเรียกโปรซีเดอร์ไปอีกเครื่องหนึ่งได้ ไคลเอ็นต์จะเรียกโปรดซีเดอร์ของตนเอง (รูทีนย่อย) ที่แพ็กอาร์กิวเมนต์ลงในแมสเสจเล้วส่งข้ามเน็ตเวิร์คไปยังโปรเซสที่กำหนด เมื่อถึง ฝั่งเซิร์ฟเวอร์จะขยายแพ็กออกเรียกโปรซีเดอร์ แล้วแพ็กผลลัพธ์ลงในแมสเสจแล้วส่งกลับไปฝั่งไคลเอ็นต์ เมื่อไลเอ็นต์ได้รับแมสเสจแล้วจะขยายแพ็กผลลัพธ์ RPC ออก แล้วส่งผลลัพธ์นั้นไปให้ผู้เรียก แพ็กของอาร์กิวเมนต์นี้บางครั้งเรียกว่า marshalling กลไกล RPC ของ Windows 2000 นี้นำมาใช้อย่างกว้างขวางในสภาพวะแล้วล้อมแบบกระจายมาตรฐานแมสเสจแบบ RPC ดังนั้นโปรแกรมที่เขียนเพื่อใช้ RPC ของ Windows 2000 จะเคลื่อนย้ายได้ง่าย มาตรฐาน RPC มีรายละเอียดปลีกย่อยมาก มันซ่อนความแตกต่างด้านสถาปัตยกรรมคอมพิวเตอร์ไว้ โดยการกำหนดรูปแบบข้อมูลมาตรฐาน RPC ใน Windows 2000 สามารถส่งแมสเสจ RPC โดยใช้ NetBIOS, winsock บนเน็ตเวิร์ค TCP/IP หรือ named pipes บนเน็ตเวิร์ค LAN/ManagerMIDL (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 ที่อนุญาตเท่านั้น

สรุปเนื้อหาบทที่ 14

นุกซ์คืออะไร ลีนุกซ์ระบบปฏิบัติการแบบ 32 บิต ที่เป็นยูนิกซ์โคลน สำหรับเครื่องพีซี และแจกจ่ายให้ใช้ฟรี สนับสนุนการใช้งานแบบหลากงาน หลายผู้ใช้ (MultiUser-MultiTasking) มีระบบ X วินโดวส์ ซึ่งเป็นระบบการติดต่อผู้ใช้แบบกราฟฟิก ที่ไม่ขึ้นกับโอเอสหรือฮาร์ดแวร์ใดๆ (มักใช้กันมากในระบบยูนิกซ์) และมาตรฐานการสื่อสาร TCP/IP ที่ใช้เป็นมาตรฐานการสื่อสารในอินเทอร์เนตมาให้ในตัว ลีนุกซ์มีความเข้ากันได้ (compatible) กับ มาตรฐาน POSIX ซึ่งเป็นมาตรฐานอินเทอร์เฟสที่ระบบยูนิกซ์ ส่วนใหญ่จะต้องมีและมีรูปแบบบางส่วนที่คล้ายกับระบบปฏิบัติการยูนิกซ์จากค่าย Berkeley และ System V โดยความหมายทางเทคนิคแล้วลีนุกซ์ เป็นเพียงเคอร์เนล (kernel) ของระบบปฏิบัติการ ซึ่งจะทำหน้าที่ในด้านของการจัดสรรและบริหารโพรเซสงาน การจัดการไฟล์และอุปกรณ์ I/O ต่างๆ แต่ผู้ใช้ทั่วๆไปจะรู้จักลีนุกซ์ผ่านทางแอพพลิเคชั่นและระบบอินเทอร์เฟสที่เขาเหล่านั้นเห็น (เช่น Shell หรือ X วินโดวส์) ถ้าคุณรันลีนุกซ์บนเครื่อง 386 หรือ 486 ของคุณ มันจะเปลี่ยนพีซีของคุณ ให้กลายเป็นยูนิกซ์เวอร์กสเตชันที่มีความสามารถสูง เคยมีผู้เทียบประสิทธิภาพระหว่างลีนุกซ์บนเครื่องเพนเทียม และเครื่องเวอร์กสเตชันของซันในระดับกลาง และได้ผลออกมาว่าให้ประสิทธิภาพที่ใกล้เคียงกัน และนอกจากแพลตฟอร์มอินเทลแล้ว ปัจจุบันลีนุกซ์ยังได้ทำการพัฒนาระบบเพื่อให้สามารถใช้งานได้บนแพลตฟอร์มอื่นๆด้วย เช่น DEC Alpha , Motorolla Power-PC , MIPS เมื่อคุณสร้างแอพพลิเคชันขึ้นมาบนแพลตฟอร์มใดแพลตฟอร์มหนึ่งแล้ว คุณก็สามารถย้ายแอพพลิเคชันของคุณไปวิ่งบนแพลตฟอร์มอื่นได้ไม่ยาก ลีนุกซ์มีทีมพัฒนาโปรแกรมที่ต่อเนื่อง ไม่จำกัดจำนวนของอาสาสมัครผู้ร่วมงาน และส่วนใหญ่จะติดต่อกันผ่านทางอินเทอร์เนต เพราะที่อยู่อาศัยจริงๆของแต่ละคนอาจจะอยู่ไกลคนละซีกโลกก็ได้ และมีแผนงานการพัฒนาในระยะยาว ทำให้เรามั่นใจได้ว่า ลีนุกซ์เป็นระบบปฏิบัติการที่มีอนาคต และจะยังคงพัฒนาต่อไปได้ตราบนานเท่านาน ประวัติของลีนุกซ์ ลีนุกซ์ถือกำเนิดขึ้นในฟินแลนด์ ปี คศ. 1980 โดยลีนุส โทรวัลด์ส (Linus Trovalds)นักศึกษาภาควิชาวิทยาการคอมพิวเตอร์ (Computer Science) ในมหาวิทยาลัยเฮลซิงกิ ลีนุส เห็นว่าระบบมินิกซ์ (Minix) ที่เป็นระบบยูนิกซ์บนพีซีในขณะนั้น ซึ่งทำการพัฒนาโดยศ.แอนดรูว์ ทาเนนบาวม์ (Andrew S. Tanenbaum) ยังมีความสามารถไม่เพียงพอแก่ความต้องการ จึงได้เริ่มต้นทำการพัฒนาระบบยูนิกซ์ของตนเองขึ้นมา โดยจุดประสงค์อีกประการ คือต้องการทำความเข้าใจในวิชาระบบปฏิบัติการคอมพิวเตอร์ด้วยเมื่อเขาเริ่มพัฒนาลีนุกซ์ไปช่วงหนึ่งแล้ว เขาก็ได้ทำการชักชวนให้นักพัฒนาโปรแกรมอื่นๆมาช่วยทำการพัฒนาลีนุกซ์ ซึ่งความร่วมมือส่วนใหญ่ก็จะเป็นความร่วมมือผ่านทางอินเทอร์เนต ลีนุสจะเป็นคนรวบรวมโปรแกรมที่ผู้พัฒนาต่างๆได้ร่วมกันทำการพัฒนาขึ้นมาและแจกจ่ายให้ทดลองใช้เพื่อทดสอบหาข้อบกพร่อง ที่น่าสนใจก็คืองานต่างๆเหล่านี้ผู้คนทั้งหมดต่างก็ทำงานโดยไม่คิดค่าตอบแทน และทำงานผ่านอินเทอร์เนตทั้งหมด ปัจจุบันเวอร์ชันล่าสุดของระบบลีนุกซ์ที่ได้ประกาศออกมาคือเวอร์ชัน 2.0.13 ข้อสังเกตในเรื่องเลขรหัสเวอร์ชันนี้ก็คือ ถ้ารหัสเวอร์ชันหลังทศนิยมตัวแรกเป็นเลขคู่เช่น 1.0.x,1.2.x เวอร์ชันเหล่านี้จะถือว่าเป็นเวอร์ชันที่เสถียรแล้วและมีความมั่นคงในระดับหนึ่ง แต่ถ้าเป็นเลขคี่เช่น 1.1.x, 1.3.x จะถือว่าเป็นเวอร์ชันทดสอบ ซึ่งในเวอร์ชันเหล่านี้จะมีการเพิ่มเติมความสามารถ ใหม่ๆลงไป และยังต้องทำการทดสอบ หาข้อผิดพลาดต่างๆอยู่ Linux Version 0.01 ถูกแจกจ่ายให้ทดลองใช้ประมาณปลายเดือน ส.ค. 1991 โดยมีเฉพาะ Harddisk Driver และระบบไฟล์ขนาดเล็ก ให้ใช้เท่านั้น ไม่มีแม้แต ่ Floppy Disk Driver และต้องมีระบบ Minix อยู่แล้ว จึงจะสามารถทำการคอมไพล ์ และทดลองใช้งานได้ เนื่องจากยังไม่มีโหลดเดอร์ และคอมไพเลอร ์ ต้องอาศัยการคอมไพล์ข้ามระบบ และบูตระบบผ่าน Minix Linus เปิดตัว Linux อย่างเป็นทางการในวันที่ 5 ตุลาคม 1991 ด้วย Version 0.02 ซึ่งยังคงเป็นระบบปฏิบัติการ สำหรับผู้พัฒนาโปรแกรมระบบอยู่ จนกระทั่ง ได้เปิดตัว Version 1.0 ในเดือนมีนาคม 1994 และเริ่มมีผู้ใช้กันอย่างแพร่หลาย เนื่องจากเป็นระบบปฏิบัติการคล้าย UNIX ที่สมบูรณ์แบบ มีความสามารถสน ันสนุนกราฟิก X Window สนับสนุนระบบเครือข่าย TCP/IP สามารถรับส่งอีเมล์ ทำหน้าที่เป็น News, WWW, FTP Server ได้ และความสามารถอื่นๆ อีกมาก สำหรับจุดเด่นที่น่าสนใจของ Linux ได้แก่ *เป็นระบบปฏิบัติการที่ใช้งานได้ฟรี *ทำงานได้บนเครื่องพีซีทั่วไป ที่มีหน่วยประมวลผลกลางตั้งแต่ 80386 ขึ้นไป รวมถึง Motora 680x0, Compaq (Digital) Alpha, PowerPC, SPARC เป็นต้น จึงเป็นระบบปฏิบัติการที่มีความต้องการทรัพยากรของระบบในขั้นต่ำ *สามารถทำงานได้รวดเร็ว เนื่องจากมีระบบการจัดการหน่วยความจำเสมือน (Virtual Memory) การจัดทำงานแบบ Multitasking และระบบป้องกันการรบกวน การทำงานระหว่าง Process ต่างๆ *มีกลุ่มผู้ใช้งานบนอินเทอร์เน็ตค่อนข้างสูง ทำให้ข้อบกพร่องต่างๆ ถูกค้นพบ และหาวิธีแก้ไขได้อย่างรวดเร็ว ทำให้เป็นระบบปฏิบัติการที่มีคุณภาพสูงระบบหนึ่ง *มีความสามารถแบบ UNIX * สามารถใช้งานร่วมกับดอส (DOS) และ Microsoft Windows โดยการแบ่งพาติชั่น *ความสามารถในการใช้งานไฟล์ร่วมกับระบบปฏิบัติการอื่นๆ ไม่ว่าจะเป็น DOS, Microsoft Windows, NetWare, OS/2, Minix, NFS, System V Linux เป็นระบบปฏิบัติการแบบ UNIX - compatible ตัวหนึ่งที่ทำงานบนเครื่อง คอมพิวเตอร์ ตั้งแต่ระดับพีซี (PC) พัฒนาขึ้นเป็นครั้งแรก ในปี ค.ศ. 1991 โดยนักศึกษาชื่อ Linus B. Torvalds ณ University of Helsinki ประเทศฟินแลนด์ ในลักษณะของงานอดิเรก โดยมีแรงบันดาลใจมาจากระบบ Minix ซึ่งเป็นระบบปฏิบัติการคล้ายๆ UNIX เล็กๆ ตัวหนึ่งที่พัฒนาโดย Andy Tanenbaum เพื่อประกอบการเรียนรู้ ในหนังสือเกี่ยวกับ การออกแบบระบบปฏิบัติการ คอมพิวเตอร์ Linux Version 0.01 ถูกแจกจ่ายให้ทดลองใช้ประมาณปลายเดือน ส.ค. 1991 โดยมีเฉพาะ Harddisk Driver และระบบไฟล์ขนาดเล็ก ให้ใช้เท่านั้น ไม่มีแม้แต ่ Floppy Disk Driver และต้องมีระบบ Minix อยู่แล้ว จึงจะสามารถทำการคอมไพล ์ และทดลองใช้งานได้ เนื่องจากยังไม่มีโหลดเดอร์ และคอมไพเลอร ์ ต้องอาศัยการคอมไพล์ข้ามระบบ และบูตระบบผ่าน Minix Linus เปิดตัว Linux อย่างเป็นทางการในวันที่ 5 ตุลาคม 1991 ด้วย Version 0.02 ซึ่งยังคงเป็นระบบปฏิบัติการ สำหรับผู้พัฒนาโปรแกรมระบบอยู่ จนกระทั่ง ได้เปิดตัว Version 1.0 ในเดือนมีนาคม 1994 และเริ่มมีผู้ใช้กันอย่างแพร่หลาย เนื่องจากเป็นระบบปฏิบัติการคล้าย UNIX ที่สมบูรณ์แบบ มีความสามารถสน ันสนุนกราฟิก X Window สนับสนุนระบบเครือข่าย TCP/IP สามารถรับส่งอีเมล์ ทำหน้าที่เป็น News, WWW, FTP Server ได้ และความสามารถอื่นๆ อีกมาก สำหรับจุดเด่นที่น่าสนใจของ Linux ได้แก่ *เป็นระบบปฏิบัติการที่ใช้งานได้ฟรี *ทำงานได้บนเครื่องพีซีทั่วไป ที่มีหน่วยประมวลผลกลางตั้งแต่ 80386 ขึ้นไป รวมถึง Motora 680x0, Compaq (Digital) Alpha, PowerPC, SPARC เป็นต้น จึงเป็นระบบปฏิบัติการที่มีความต้องการทรัพยากรของระบบในขั้นต่ำ *สามารถทำงานได้รวดเร็ว เนื่องจากมีระบบการจัดการหน่วยความจำเสมือน (Virtual Memory) การจัดทำงานแบบ Multitasking และระบบป้องกันการรบกวน การทำงานระหว่าง Process ต่างๆ *มีกลุ่มผู้ใช้งานบนอินเทอร์เน็ตค่อนข้างสูง ทำให้ข้อบกพร่องต่างๆ ถูกค้นพบ และหาวิธีแก้ไขได้อย่างรวดเร็ว ทำให้เป็นระบบปฏิบัติการที่มีคุณภาพสูงระบบหนึ่ง *มีความสามารถแบบ UNIX * สามารถใช้งานร่วมกับดอส (DOS) และ Microsoft Windows โดยการแบ่งพาติชั่น *ความสามารถในการใช้งานไฟล์ร่วมกับระบบปฏิบัติการอื่นๆ ไม่ว่าจะเป็น DOS, Microsoft Windows, NetWare, OS/2, Minix, NFS, System V หลักการออกแบบ 1. Direct blocks 2. Indirect blocks 3. Double indirect blocks 4. Triple indirect blocks ผู้เริ่มพัฒนาลินุกซ์ เคอร์เนลเป็นคนแรก คือ ลินุส โตร์วัลดส์ (Linus Torvalds) ชาวฟินแลนด์ เมื่อสมัยที่เขายังเป็นนักศึกษาคอมพิวเตอร์ ที่มหาวิทยาลัยเฮลซิงกิ โดยแรกเริ่ม ริชาร์ด สตอลแมน (Richard Stallman) ได้ก่อตั้งโครงการกนูขึ้นในปี พ.ศ. 2526 จุดมุ่งหมายโครงการกนู คือ ต้องการพัฒนาระบบปฏิบัติการคล้ายยูนิกซ์ที่เป็นซอฟต์แวร์เสรีทั้งระบบ ราวช่วงพ.ศ. 2533 โครงการกนูมีส่วนโปรแกรมที่จำเป็นสำหรับระบบปฏิบัติการเกือบครบทั้งหมด ได้แก่ คลังโปรแกรม คอมไพเลอร์ โปรแกรมแก้ไขข้อความ และเปลือกระบบยูนิกซ์ ซึ่งขาดแต่เพียงเคอร์เนลเท่านั้น ในพ.ศ. 2533 โครงการกนูได้พัฒนาเคอร์เนลชื่อ Hurd เพื่อใช้ในระบบกนูซึ่งในขณะนั้นมีปัญหาเกี่ยวกับความเร็วในการประมวลผล ในพ.ศ. 2534 โตร์วัลดส์เริ่มโครงการพัฒนาเคอร์เนล ขณะศึกษาในมหาวิทยาลัยแล้ว โดยอาศัย Minix ซึ่งเป็นระบบที่คล้ายกับ Unix ซึ่งมากับหนังสือเรื่องการออกแบบระบบปฏิบัติการ มาเป็นเป็นต้นแบบในการเขียนขึ้นมาใหม่โดย Torvalds เขาพัฒนาโดยใช้ IA-32 assembler และภาษาซี คอมไพล์เป็นไฟล์ไบนารี่และบูทจากแผ่นฟลอปปี้ดิสก์ เขาได้พัฒนามาเรื่อยๆจนกระทั่งสามารถบูทตัวเองได้ (กล่าวคือสามารถคอมไพล์ภายในลินุกซ์ได้เลย) และในปัจจุบันมีนักพัฒนาจากพันกว่าคนทั่วโลกได้เข้ามามีส่วนรวมในการพัฒนาโครงการ Eric S. Raymond ได้ศีกษากระบวนการพัฒนาดังกล่าวและเขียนบทความเรื่อง The Cathedral and the Bazaar ในรุ่น 0.01 นี้ถือว่ามีเครื่องมือที่เพียงพอสำหรับระบบ POSIX ที่ใช้เรียก ลินุกซ์ ที่รันกับ กนู Bash Shell และมีการพัฒนาอย่างต่อเนื่องและอย่างรวดเร็ว โตร์วัลดส์ยังคงมุ่งมั่นพัฒนาระบบต่อไป ซึ่งต่อมาก็สามารถรันบน X Window System และมีการเลือกนกเพนกวินที่ชื่อ Tux ให้เป็นตัวนำโชคหรือ Mascot ของระบบลินุกซ์>