With the advancement of technology and the immense progress in computer programming and a wide range of software generation, the design of an operating system for multi-purpose communications, intelligence gathering and dissemination device platform for US Ground Forces, may increase efficiency in most of the warfare operations. In the administration process, the number of processes that can be seen when the device is in heavy use is approximately 50; iPhone-like Google Maps, web-browser, virtual keyboard, video display, comms, GPS tracking, voice and text based communication, video capturing, and Bluetooth-evolution wireless links among other processes. Assuming that each process creates a single thread, approximately 50 threads will be created.
The trade-off choice for the design in light of process only lies in the simplicity since User Level Thread (ULT) and Kernel Level Thread (KLT) will have no much interference to the system. However, concerning threaded model, the device will be much better with KLT considering that KLT can schedule another thread for a blocked process. However, in most cases KLT does not block process will execute other system calls. In this light, it is pertinent to note that the major advantage that ULT has over KLT is that it can be used in any OS.
For the memory subsystem, the amount of memory that the VM page tables of the device might use is about 4 Mb; the system is 32 bit, 256 MB RAM, and assuming a 4 KB page size;
256 MB = 228 bytes main memory, 4 KB = 212 page size =>216 addressable pages
20 bits (32-12) available to address memory, ~ 1 million address spaces available with no physical location (lead in to virtual memory)
Using 4-byte words, and a range of 220 addressable pages, each process should consume ~4 MB
The technique that can be used to prevent the page tables from consuming too much of the main memory is to store the page tables in virtual memory instead of the real memory, conventionally known as paging. Moreover, Increasing the page size is another way of preventing the page tables for consuming too much of the main memory; doubling the page size would remove ~32,000 addressable pages and doubling again would remove ~225,000 addressable pages. Considering the intended use of this phone, one would readily encourage the use of virtual memory considering the advantages virtual image. VM would enable the use of many processes at once. Again, VM will capacitate the system to run large applications. However, care should be taken so that the system is not designed to depend wholly on the VM as this can significantly lead to performance drop hence jeopardizing a mission’s effectiveness.
Based on synchronization, the monitors are easier and more reliable than semaphores because monitors offer mutual exclusion in the sense that only one thread can execute a given procedure at any time. It also guarantees conditional synchronization, and all the synchronization functions are confined to it (Dohtre, 2009). However, semaphores might be used in the devise at some point to enforce the mutual exclusion discipline, and further preventing deadlocks and starvation (Stallings, 2008).
In scheduling, real-time tasks will be taken into consideration first, and the list will include, IFF, Voice communication (Units Aircraft, Satcom), GPS (may not need to update position unusually often since human travel speed is low, but when it is in use, should be handled quickly) and Bluetooth. On the other hand, a list of non-real tine task may include Video recording, Notes, Text communication, and Intel Browser. Round robin scheduling would work well if real time tasks were not an issue. Shortest Job first would work well too, but the extra overhead involved in the algorithm does not yield much benefit. Competing situations in the device can be handled in this device can be handled the “Round robin” style.
With regards to file handling, the main data to Store
Intel downloads
Notes (voice/text)
Audio/Video captures
Maps/Charts
Stream
GPS
Text communication
Audio/Video captures
References
Dohtre, A. I. (2009). Operating Systems (8th Ed.). Pune: Technical Publications Tune
Stallings, M. (2008). Operating Systems Internal and Design Principles (7th Ed.). New Jersey: Pearson Education Inc.