Windows NT 4.0 RTOS Evaluation Report - Abstract
The Windows NT RTOS Evaluation Report serves as example of what you may expect from any RTOS Evaluation Report drafted by Real-Time Consult. The report explains why Windows NT can not be used a RTOS. This is proved upon a study of the OS architecture and illustrated with extensive benchmarks.
To get this document for free, go to the Visitor's Center.
![]() |
The Windows NT 4.0 report evaluates Windows NT 4.0 Workstation SP 3, Build 1381 from Microsoft Corporation.
Part I of this report is the technical evaluation, in which design and architectural issues of Windows NT 4.0 are studied. The second part of the report is the practical evaluation, in which the performance and results for various tests are discussed.
In order to clarify the content of the table of contents and the table of
figures, the reader is referred to the documents
"Report
definition and test plan" and
"What
makes a good RTOS?".
| Page | ||
| 1 | Summary | 6 |
| 1.1 | Product | 6 |
| 1.2 | Essentials | 6 |
| 1.3 | Positive points | 6 |
| 1.4 | Negative points | 6 |
| 1.5 | Ratings | 6 |
| 1.6 | Pricing | 6 |
| 2 | Technical evaluation | 7 |
| 2.1 | Installation and Configuration | 7 |
| 2.1.1 | Installation | 7 |
| 2.1.2 | Configuration | 7 |
| 2.2 | RTOS Architecture | 7 |
| 2.2.1 | System Architecture | 8 |
| 2.2.2 | Basic System Facilities | 11 |
| 2.3 | RTOS Richness | 15 |
| 2.3.1 | POSIX | 15 |
| 2.3.2 | Task Management | 15 |
| 2.3.3 | Clock and Timer | 16 |
| 2.3.4 | Memory Management | 17 |
| 2.3.5 | Interrupt Handling | 19 |
| 2.3.6 | Synchronisation and Exclusion Objects | 19 |
| 2.3.7 | Communication and Message Passing Objects | 22 |
| 2.4 | Internet Support | 23 |
| 2.5 | Tools | 24 |
| 2.5.1 | Editor | 24 |
| 2.5.2 | Debugger | 24 |
| 2.5.3 | Compilers | 24 |
| 2.5.4 | System Analysis Tools | 24 |
| 2.5.5 | Summary of Available Tools | 24 |
| 2.6 | Documentation and Support | 26 |
| 3 | Practical evaluation | 27 |
| 3.1 | System under test | 27 |
| 3.1.1 | Operating system configuration | 27 |
| 3.1.2 | Test configuration | 27 |
| 3.2 | Interrupt handling - Without rescheduling | 27 |
| 3.2.1 | Interrupt latency (IL-a-1.d) | 29 |
| 3.2.2 | Interrupt dispatch latency (IDL-a-1.d) | 30 |
| 3.2.3 | ISR to DPC - without load | 31 |
| 3.2.4 | ISR to DPC - with load | 32 |
| 3.3 | Interrupt handling Rescheduling | 33 |
| 3.3.1 | Interrupt dispatch latency (IDL-b-1.d) | 34 |
| 3.3.2 | Interrupt dispatch latency (IDL-b-10.d) | 35 |
| 3.3.3 | Interrupt dispatch latency (IDL-b-128.d) | 36 |
| 3.4 | Thread | 37 |
| 3.4.1 | Creation (TF-a-1.d) | 38 |
| 3.4.2 | Deletion (TF-b-1.d) | 39 |
| 3.4.3 | Deletion - after use (TF-c-2.d) | 40 |
| 3.5 | Thread switch latency - same process | 41 |
| 3.5.1 | Thread switch latency - cache enabled (TSL-a-2.d) | 42 |
| 3.5.2 | Thread switch latency - cache disabled (TSL-a-2.d) | 43 |
| 3.5.3 | Thread switch latency - cache enabled (TSL-a-10.1d) | 44 |
| 3.5.4 | Thread switch latency - cache disabled (TSL-a-10.d) | 45 |
| 3.5.5 | Thread switch latency - cache enabled (TSL-a-128.d) | 46 |
| 3.5.6 | Thread switch latency - cache disabled (TSL-a-128.d) | 47 |
| 3.6 | Thread switch latency - different processes | 48 |
| 3.6.1 | Thread switch latency (TSL-b-2.d) | 49 |
| 3.6.2 | Thread switch latency (TSL-b-10.d) | 50 |
| 3.6.3 | Thread switch latency (TSL-b-90.d) | 51 |
| 3.7 | Counting semaphore | 52 |
| 3.7.1 | Creation (SEO-a-1.d) | 53 |
| 3.7.2 | Deletion (SEO-b-1.d) | 54 |
| 3.7.3 | Deletion - after use (SEO-c-1.d) | 55 |
| 3.7.4 | No contention - Acquire (SEO-d-1.d) | 56 |
| 3.7.5 | No contention - Release (SEO-e-1.d) | 57 |
| 3.7.6 | Synchronisation (SEO-f-max.d) | 58 |
| 3.8 | Binary semaphore | 59 |
| 3.9 | Mutex | 60 |
| 3.9.1 | No contention - Acquire (SEO-d-1.d) | 61 |
| 3.9.2 | No contention - Release (SEO-e-1.d) | 62 |
| 3.10 | File system - proprietary | 63 |
| 3.10.1 | Creation (FS-a-1.d) | 64 |
| 3.10.2 | Deletion (FS-b-1.d) | 65 |
| 3.10.3 | Read (FS-c-1.d.1) | 66 |
| 3.10.4 | Read (FS-c-1.d.1b) | 67 |
| 3.10.5 | Read (FS-c-1.d.10b) | 68 |
| 3.10.6 | Write (FS-d-1.d.1) | 69 |
| 3.10.7 | Write (FS-d-1.d.1b) | 70 |
| 3.10.8 | Write (FS-d-1.d.10b) | 71 |
| 3.10.9 | Flush | 72 |
| 3.10.10 | Flush | 73 |
| 3.10.11 | Flush | 74 |
| 3.10.12 | Write Total | 75 |
| 3.10.13 | Write Total | 76 |
| 3.10.14 | Write Total | 77 |
| 4 | License policies and pricing | 78 |
| 5 | Conclusion | 79 |
| 5.1 | Positive Points | 79 |
| 5.2 | Installation | 79 |
| 5.3 | Priority Levels | 79 |
| 5.4 | Priority Inversion | 79 |
| 5.5 | FIFO Semaphore | 79 |
| 5.6 | FIFO DPC Queue | 80 |
| 5.7 | Thread Switch Latency | 80 |
| 6 | References | 81 |
| 7 | Abbreviations | 82 |
| Figure 1 | Client-Server model of operating system design | 8 |
| Figure 2 | Windows NT hardware interfacing | 9 |
| Figure 3 | Windows NT priority spectrum | 11 |
| Figure 4 | Windows NT IRQLs | 14 |
| Figure 3.2-1 | IL-a-1.d | 29 |
| Figure 3.2-2 | IL-a-1.d - frequency distribution | 29 |
| Figure 3.2-3 | IDL-a-1.d | 30 |
| Figure 3.2-4 | IDL-a-1.d - frequency distribution | 30 |
| Figure 3.2-5 | ITD-a-1.d | 31 |
| Figure 3.2-6 | ITD-a-1.d - frequency distribution | 31 |
| Figure 3.2-7 | ITD-a-1.d | 32 |
| Figure 3.2-8 | ITD-a-1.d - frequency distribution | 32 |
| Figure 3.3-1 | IDL-b-1.d | 34 |
| Figure 3.3-2 | IDL-b-1.d - frequency distribution | 34 |
| Figure 3.3-3 | IDL-b-10.d | 35 |
| Figure 3.3-4 | IDL-b-10.d - frequency distribution | 35 |
| Figure 3.3-5 | IDL-b-128.d | 36 |
| Figure 3.3-6 | IDL-b-128.d - frequency distribution | 36 |
| Figure 3.4-1 | TF-a-1.d | 38 |
| Figure 3.4-2 | TF-a-1.d - frequency distribution | 38 |
| Figure 3.4-3 | TF-b-1.d | 39 |
| Figure 3.4-4 | TF-b-1.d - frequency distribution | 39 |
| Figure 3.4-5 | TF-c-2.d | 40 |
| Figure 3.4-6 | TF-c-2.d - frequency distribution | 40 |
| Figure 3.5-1 | TSL-a-2.d | 42 |
| Figure 3.5-2 | TSL-a-2.d - frequency distribution | 42 |
| Figure 3.5-3 | TSL-a-2.d | 43 |
| Figure 3.5-4 | TSL-a2-2.d - frequency distribution | 43 |
| Figure 3.5-5 | TSL-a-10.d | 44 |
| Figure 3.5-6 | TSL-a-10.d - frequency distribution | 44 |
| Figure 3.5-7 | TSL-a-10.d | 45 |
| Figure 3.5-8 | TSL-a-10.d - frequency distribution | 45 |
| Figure 3.5-9 | TSL-a-128.d | 46 |
| Figure 3.5-10 | TSL-a-128.d - frequency distribution | 46 |
| Figure 3.5-11 | TSL-a-128.d | 47 |
| Figure 3.5-12 | TSL-a-128.d - frequency distribution | 47 |
| Figure 3.6-1 | TSL-b-2.d | 49 |
| Figure 3.6-2 | TSL-b-2.d - frequency distribution | 49 |
| Figure 3.6-3 | TSL-b-10.d | 50 |
| Figure 3.6-4 | TSL-b-10.d - frequency distribution | 50 |
| Figure 3.6-5 | TSL-b-90.d | 51 |
| Figure 3.6-6 | TSL-b-90.d - frequency distribution | 51 |
| Figure 3.7-1 | SEO-a-1.d | 53 |
| Figure 3.7-2 | SEO-a-1.d - frequency distribution | 53 |
| Figure 3.7-3 | SEO-b-1.d | 54 |
| Figure 3.7-4 | SEO-b-1.d - frequency distribution | 54 |
| Figure 3.7-5 | SEO-c-1.d | 55 |
| Figure 3.7-6 | SEO-c-1.d - frequency distribution | 55 |
| Figure 3.7-7 | SEO-d-1.d | 56 |
| Figure 3.7-8 | SEO-d-1.d - frequency distribution | 56 |
| Figure 3.7-9 | SEO-e-1.d | 57 |
| Figure 3.7-10 | SEO-e-1.d - frequency distribution | 57 |
| Figure 3.7-11 | SEO-f-max.d | 58 |
| Figure 3.7-12 | SEO-f-max.d - frequency distribution | 58 |
| Figure 3.9-1 | SEO-d-1.d | 61 |
| Figure 3.9-2 | SEO-d-1.d - frequency distribution | 61 |
| Figure 3.9-3 | SEO-e-1.d | 62 |
| Figure 3.9-4 | SEO-e-1.d - frequency distribution | 62 |
| Figure 3.10-1 | FS-a-1.d | 64 |
| Figure 3.10-2 | FS-a-1.d - frequency distribution | 64 |
| Figure 3.10-3 | FS-b-1.d | 65 |
| Figure 3.10-4 | FS-b-1.d - frequency distribution | 65 |
| Figure 3.10-5 | FS-c-1.d.1 | 66 |
| Figure 3.10-6 | FS-c-1.d.1 - frequency distribution | 66 |
| Figure 3.10-7 | FS-c-1.d.1b | 67 |
| Figure 3.10-8 | FS-c-1.d.1b - frequency distribution | 67 |
| Figure 3.10-9 | FS-c-1.d.10b | 68 |
| Figure 3.10-10 | FS-c-1.d.10b - frequency distribution | 68 |
| Figure 3.10-11 | FS-d-1.d.1 | 69 |
| Figure 3.10-12 | FS-d-1.d.1 - frequency distribution | 69 |
| Figure 3.10-13 | FS-d-1.d.1b | 70 |
| Figure 3.10-14 | FS-d-1.d.1b - frequency distribution | 70 |
| Figure 3.10-15 | FS-d-1.d.10b | 71 |
| Figure 3.10-16 | FS-d-1.d.10b - frequency distribution | 71 |
| Figure 3.10-17 | Flush | 72 |
| Figure 3.10-18 | Flush - frequency distribution | 72 |
| Figure 3.10-19 | Flush | 73 |
| Figure 3.10-20 | Flush - frequency distribution | 73 |
| Figure 3.10-21 | Flush | 74 |
| Figure 3.10-22 | Flush - frequency distribution | 74 |
| Figure 3.10-23 | Flush and Write | 75 |
| Figure 3.10-24 | Flush and Write - frequency distribution | 75 |
| Figure 3.10-25 | Flush and Write | 76 |
| Figure 3.10-26 | Flush and Write - frequency distribution | 76 |
| Figure 3.10-27 | Flush and Write | 77 |
| Figure 3.10-28 | Flush and Write - frequency distribution | 77 |
To get this document for free, go to the Visitor's Center.




