Operating System Evaluation and Recommendation
- deonnahardaway
- May 8, 2021
- 15 min read
Updated: May 9, 2021
For this project I performed a technical evaluation of an Operating System for a technology company, Top Secret, Inc. (TSI). This evaluation included evaluating organizational needs and technical requirements. After the evaluation I supported my recommendation for upgrading to an alternative Operating System.
Multiprogramming
Tech Description
Multiprogramming is the Operating System’s ability to carry out multiple Input/Output (I/O) operations at one time instead of just one at a time. (Bos & Tanenbaum, 2015)
Business Requirement
TSI is a large company with a lot of customers. Their back-office staff probably carries out hundreds of thousands of I/O operations per second including I/O from peripherals, software programs, and external sources like servers and the internet. TSI OS would not be able to handle these operations because it does not support multiprogramming. Any operation performed would take a relatively long time and multitasking would not be possible.
Application Benefit
Multiprogramming has many benefits for business applications. Multiprogramming allows multiple applications to run simultaneously, so they do not have to wait for I/O of other applications to complete before beginning. This increases throughput, which is the “total number of programs executed over a fixed period of time”. (What are the advantages of multiprogramming?, 2021)If there are applications running, the CPU does not stop processing jobs, organizing them to appear to be running in parallel. This creates a very efficient working environment for applications and for office employees.
Implementation Tasks
An Operating System uses multiprogramming to run multiple programs on a computer, even one with a single processor. The Operating System does the job of prioritizing and organizing the jobs that are executing simultaneously. This requires not only utilization of main memory for loading multiple programs, but also the utilization of Virtual Memory for programs that are too large to load all at once. Modern Operating Systems use Virtual Memory regularly to page in data needed for running or waiting programs. The operating system runs a program until the program ends or issues an interrupt if needed, for a higher priority program. If a program is waiting on I/O, the CPU can run a different program while that one waits. (Difference between multiprogramming, multitasking, multithreading and mulitprocessing, 2019) TSI OS would be much more suited to an office environment if it provided multiprogramming functionality.
Multiprocessing
Tech Description
Multiprocessing is the Operating System’s ability to handle communication and connectivity between multiple Central Processing Units (CPU). That may mean several computers or servers need to communicate, or one computer with a multi-core CPU.
Business Requirement
TSI OS does not support multiprocessing. Meaning, that it would not be equipped to run on modern hardware. Modern computing systems, including servers, have CPUs with multiple cores that are themselves, processors, carrying out their own programs. TSI cannot run their OS on modern computers and must resort to using outdated hardware. This causes their back-office processes to be very slow, inefficient, and, as a result, TSI will have a hard time keeping up with other businesses in their market.
Application Benefit
“Multiprocessing refers to the hardware (i.e., the CPU units) rather than the software (i.e. running processes).” (Difference between multiprogramming, multitasking, multithreading and mulitprocessing, 2019) Multiprocessing helps with work efficiency. Processes can be run simultaneously on multiple processors allowing more work to get done in a much smaller time frame.
Implementation Tasks
The Operating System assigns processes to whichever processor is available on the system. Modern computers and servers are equipped with multiple cores on a single CPU chip, each able to run its own process. Some businesses that need to process a large amount of information very quickly will have shared servers with many processors, up to 64 cores on a single CPU chip. An Operating System needs to be able to communicate with multi-processor systems. TSI OS does not have currently have the capability of communicating with multiple processors at one time, making it impossible for the office computers to have multi-core processors or to connect to servers or other hardware with processors.
Multithreading
Tech Description
Multithreading “allows the CPU to hold the state of two different threads and then switch back and forth on a nanosecond timescale.” (Bos & Tanenbaum, 2015) (Underdtanding basic multithreading conepts, 2010) Each thread appears to the operating system as a separate CPU (Bos & Tanenbaum, 2015). These are sometimes called virtual cores.
Business Requirement
Much like multiprocessing, multithreading would require an OS that can communicate and connect with multiple CPUs. TSI OS does not have multithreading capabilities. Modern software that uses multithreading would cause TSI’s outdated hardware to hang up before they even get a program started. TSI is currently modifying software to fit their needs, which is time consuming for developers and expensive.
Application Benefit
Multithreading doubles the amount of available CPU usage. Each core can make use of two threads. Instead of an eight-core processor being able to carry out eight processes at one time, it can essentially carry out sixteen. The benefit of this is increased responsiveness from the CPU and faster execution of processes. When a new process needs to run, much like programs in multiprogramming, the process does not have to wait for space to run.
Implementation Tasks
“We can think of threads as child processes that share the parent process resource but execute independently.” (Difference between multiprogramming, multitasking, multithreading and mulitprocessing, 2019) The Operating System creates a new thread when a new process needs to run. When threads share resources, like in multithreading, the CPU can easily switch between the processes to make sure they are running efficiently. When a process ends and there is free space, a new process can be loaded into that thread space. Modern software expects an operating system that can utilize multithreading. Because each thread appear to the Operating System as a separate processor, TSI OS would not support software that uses multithreading, for the same reason TSI OS cannot communicate with multiprocessing systems.
Virtual Memory
Tech Description
· Virtual memory is required to run programs that are larger than the available memory in main memory. Virtual memory use most often requires the concept of paging.
· Paging: “When a computer runs out of RAM, the operating system (OS) will move pages of memory over to the computer's hard disk to free up RAM for other processes. This ensures that the operating system will never run out of memory and crash.” (Rouse, 2013) The pages stored on secondary memory are called into main memory when it is required.
· “Virtual memory is useful in a multitasking operating system, where memory available in the main memory for user applications is divided among several user programs and every program has to compete for its memory requirements. (Garg & Verma, 2017)
Business Requirement
We already know that TSI must use outdated hardware in order to run their proprietary software. Older hardware will have a much smaller amount of Random Access Memory then modern hardware systems, so memory management would already be a big problem. That problem is compounded by TSI OS’s flat memory model with no paging. The back office employees will come across two main issues:
1. Without paging and virtual memory to utilize disk space to expand main memory, employees will not be able to run multiple programs without the system becoming overloaded and crashing.
2. Without virtual addressing, all programs will be mapped directly to main memory. This is a security issue, because programs can corrupt the RAM and crash the entire system.
Application Benefit
Without Virtual Memory, an application would have to wait for a long period of time for the previous application to finish running in order to execute. There isn’t enough main memory to run all the programs we need simultaneously, and modern applications can be too large to even fit in main memory at one time. Virtual Memory helps applications by allowing the Operating System to schedule programs and use paging to only bring in small sections of programs when they are needed.
Implementation Tasks
As described earlier, Multiprogramming is only successful when paired with the ability to utilize Virtual Memory. Both are essential for a modern office. Programs that cannot be stored in main memory need the use of Virtual Memory to run. The act of loading multiple programs into memory simultaneously would not work without the use of paging in sections of data for the use by the CPU. Programs are staggered by the Operating System, so the CPU is never idle, but runs continuously and efficiently.
System Call Interface
Tech Description
· “The system call provides an interface between the operating system and its processes. By making a system call, the user program communicates with the OS and requests services from it.” (Garg & Verma, 2017) User programs make system calls to get system data, create a file, attach devices and many other tasks only available by accessing the Operating System.
Business Requirement
The lack of an advanced System Call Interface poses yet another issue for TSI that is related to outdated technology. Without an advanced System Call Interface, TSI OS is not compatible with modern software technologies. It would be very difficult for office employees to perform modern office tasks when they are so limited by the type of software they can use. TSI developers are having to modify open-source software to not only remove multithreading capabilities, but also to “modify traps to kernel mode and develop custom system calls”. (IT 600 Final Project Milestone One Guidelines and Rubric, 2020) Adding, removing, and modifying code for word processors, spreadsheets, or presentation software would be a massive undertaking. It would pull TSI developers away from the more important and lucrative task of developing software for paying clients.
Application Benefit
The Operating System Kernel cannot provide services to programs without the receiving a system call. In User Mode, we access programs through a Graphical User Interface. For these programs and processes to work, they must be able to read and write information to and from various drives. User mode cannot access the system directly and must do so through system calls. Each Application we use has the ability to communicate with the Operating System Kernel through a system call interface, making programs run seamlessly.
Implementation Tasks
TSI OS does not have a system call interface advanced enough to communicate with modern software technology. TSI OS should be able to accept system calls from applications that are common in today’s offices, like Microsoft 365, financial software, cloud computing applications and analytical software. It is essential for TSI OS to be able to handle system calls in these categories according to today’s industry standards (System calls: what are system calls and why are they neccesary?, 2020):
· Process Control – star/run/abort processes
· File Management – create, delete, open, close, read, and write.
· Device Management – hardware resources, i.e. processing power and storage space
· Information Maintenance – manage and maintain system information
· Inter-Process Communication – operating system’s communication with programs
Security
Tech Description
Securing an operating system is a multi-level process that includes:
· Keeping anti-virus software up to date to keep out harmful content
· Monitoring accessibility to sensitive information with the use of a Firewall
· Setting up account accessibility features to limit access and using a two-step authentication process to secure accounts
Business Requirement
TSI OS does not have its own security measures. It relies solely on being protected by the network operating at TSI headquarters. The guidelines state that “anyone with network access at TSI headquarters can log into any TSI OS server in the back office”. (IT 600 Final Project Milestone One Guidelines and Rubric, 2020) TSI should be prioritizing security, not only to keep employee and customer information safe, but also because they work with government entities, who’s information should warrant an even higher level of protection. Failing to secure government information, I imagine, could jeopardize the future of the entire company. Because of the way TSI OS was developed, it does not offer its own security or support the use of third-party security software. As a result, logging into the system is not secure and the OS has no way of notifying employees of a breach in security or unauthorized file modifications.
Application Benefit
When the Operating System is properly secured, private data cannot be accessed by outside sources, for example, hackers that may have malicious intent. When there is a security threat to the Operating System it is called a Program Threat. “It is the job of security to defend a system from external and internal attacks. Such attacks spread across a huge range and include viruses and worms, denial-of-service attacks (which use all of a system’s resources and so keep legitimate users out of the system), identity theft, and theft of service (unauthorized use of a system).” (Galvin, Gagne, & Silberschatz, 2008) Though it may take extra time out of an employee’s day, it is a good idea to use a multi-step authentication process to log into the operating system.
Implementation Tasks
When securing an Operating System, it is important to “consider the critical principles of security known as the confidentiality, integrity, and availability (CIA) triad”. (Operating system security, 2014) Meaning, only authorized Users should be able to access the data, data should be maintained and protected, and Users should have a way to access the system safely. Having no security measures in place, TSI OS would not meet any of these standards for security. TSI can improve these issues by using:
Multiple steps in identity authentication for OS access
Firewalls
Anti-Virus and Anti-Malware software
Discretionary Access Control to grant access to files based on identity authentication
Using User and Group Identifiers and privilege settings
“Protection can improve reliability by detecting latent errors at the interfaces between component subsystems. Early detection of interface errors can often prevent contamination of a healthy subsystem by another subsystem that is malfunctioning.” (Galvin, Gagne, & Silberschatz, 2008)
Device Drivers
Tech Description
A Device Driver is the software that controls external devices connected to the computer. Examples include printers, scanners and other hardware used in I/O. Each device has a controller (a chip that controls the device) and the controller communicates with the kernel of the computer through the Driver software. The software, once uploaded, will exist within the kernel in most operating systems and runs in kernel mode. Each device requires its own driver, developed by the manufacturer in order to work with a computer. (Bos & Tanenbaum, 2015)
Business Requirement
TSI OS does not support device drivers, making it unable to communicate with standard office equipment, such as USB drives, printers, modems, scanners or copiers. TSI developers specialize in creating drivers for TSI equipment like security cameras and sensors, but they cannot make proprietary drivers that would allow TSI OS to connect to devices from other companies. Those companies have proprietary driver software that is specific to their product. Not being able to utilize this equipment would make any office job very difficult.
Application Benefit
Without Device Drivers the OS would not be able to communicate with external I/O devices. Device Drivers create an interface between the device microcontroller and the OS. “Microcontrollers are ‘embedded’ inside some other device (often a consumer product) so that they can control the features or actions of the product.” (Brain, 2021) The benefit to applications is the ability to use I/O devices to help a User access and run applications in User Mode. Word Processors need keyboards to function, and most interfaces need a means of pointing and clicking (a mouse) in order to navigate with ease. Device Drivers also are needed for sending documents to a printer and connecting your personal computer to any other external devices.
Implementation Tasks
TSI OS needs to be compatible with external hardware in order to control basic programs and therefore needs to be compatible with Device Drivers. TSI OS is not compatible currently, meaning the OS cannot receive interrupt signals from I/O devices. Companies that create drivers for their I/O hardware products use a standard interface so they will be compatible with a variety of operating systems. (Bos & Tanenbaum, 2015) TSI OS should adhere to industry standards if they want to achieve maximum connectivity and therefore maximum usability.
Fault Tolerance
Tech Description
A Fault Tolerant System uses redundancy to prevent the total loss of data. Strategies for making a system Fault Tolerant could include:
· Continuously backing up data to the cloud or a second on-site server
· In the case of RAID (Redundant Array of Inexpensive Disks) disks, multiple disks are used to mirror data and prevent a single point of failure. ((Almost) everything you need to know about RAID, 2020) If one disk fails, operations continue on the next disk that holds the mirrored information.
When dealing with software fault tolerance, the software can create a second instance of the data for recovery purposes.
Business Requirement
TSI OS is not fault tolerant. If one computer’s SATA or SCSI drive crashes and loses information, there is no backup and recovery plan in place. Given TSI OS’s inability to use modern hardware, backing up to the cloud would not be a viable option. We have already discussed the OS’s inability to use device drivers, so installing a RAID card would not be beneficial, because the OS would not be able to communicate with the device. The only way for them to create a second instance of their company’s data might be to backup each computer to an external disk. This poses more problems with security and efficiency. Aside from security issues, data loss and fault tolerance issues should be a major concern for TSI.
Application Benefit
If a business loses data due to human error or hardware malfunction it could be detrimental to the business. Best case scenario, they could lose a few days of work, worst case scenario, they could suffer complete data loss. By Data I mean, customer and employee information, inventory, sales, finances, and other records that are now kept on computers. Utilizing RAID or Cloud-based server technology can not only bring peace of mind to businesses, but it could eventually save a business from ruin.
Implementation Tasks
“In addition to incorporating security controls that relate to the CIA triad, three other security features directly affect CIA and aid the overall site security program: access control, auditing, and backups.” (Operating system security, 2014) TSI OS is not currently able to provide fault tolerance. It does not provide security controls in the way of authentication of Users and it is not compatible with systems used for backing up data. Because TSI OS does not support multiprocessing capabilities, it would not be compatible with external RAID technologies used for creating redundancy, parity and fault tolerance. Cloud computing technology would also be too advanced for use with TSI OS. Cloud backup servers would require TSI OS to communicate with external hardware and multi-processor servers, requiring not only multi-processing capabilities, but also compatibility with device drivers. TSI OS would have to implement both of these features to achieve adequate fault tolerance.
Software Recommendation
TSI's proprietary Operating System does not meet the requirements needed in a Modern Operating System(OS). In order to meet the requirements that TSI needs in an operating system, TSI OS would have to undergo a complete overhaul, rewriting everything that makes it the TSI OS. My recommendation for TSI would be to move forward with an operating system that can satisfy the needs of a modern business office environment and let TSI OS do what it was created to do for TSI customers. Adopting a new Operating System designed for TSI’s needs would:
Free up TSI developers to work on customer needs, increasing revenue
Support modern computing equipment, allowing TSI to keep up with competitors
Increase back-office efficiency with multi-tasking capabilities
Create peace of mind for employees and customers with data security and fault tolerance
And erase the frustration that comes with a system that is constantly crashing.
It is time for TSI to live up to its own standards of being a modern technology company and use an Operating System that allows for success and increased productivity.
Windows 10
My specific OS recommendation would be Windows 10 Enterprise, because we are troubleshooting software for an office environment. “Microsoft’s Windows is the most widely used computer operating system in the world, accounting for 72.98 percent share of the desktop, tablet, and console OS market in September 2020. Apple’s macOS and iOS rank as the next most widely used operating systems, with the latter being the standard installation on all iPad devices. Linux OS versions serve as the primary option for users who prefer open-source software and intend to avoid the influence of major OS developers.” (Liu, 2020) TSI’s main issue is OS compatibility. This issue is causing most of the back office problems with hardware and software. Windows has superior compatibility with industry standard hardware and software applications. When an OS dominates the market like Widows does it is in the best interest of tech companies to make sure software applications and hardware drivers can communicate with Windows operating systems. Compatibility is also very important when it comes to customer communication. Office Staff must be able to send invoices, emails, and documents that are compatible with customer computing systems. Beyond compatibility, Windows 10 has all the benefits of a modern OS.
Benefits for TSI include:
· Multiprogramming: Office Staff will be able to run many programs at once and very quickly as Windows 10 will make sure the CPU continues processing jobs efficiently.
· Multiprocessing: All TSI employees will be able to upgrade to modern computers with multiple cores and modern hardware, like servers, will be able to communicate with the system.
· Multithreading: With the support of multiple threads, multitasking will be easy due to increased CPU response and faster processing.
· Virtual Memory: Office Staff will be able to work more efficiently. Programs will not have to wait for long periods of time for another program to finish.
· System Call Interface: The Windows 10 kernel is able to provide services to a wide variety of software applications. TSI Office Staff will be able to use virtually any software.
· Security: “Windows 10 Enterprise gives IT departments more freedom to manage security on their own terms. With these Enterprise features, your IT department can do things like remotely manage devices, deliver virtual desktops using Azure, control OS updates, manage apps, access security analytics through the Microsoft Intelligent Security Graph, identify and manage data breaches, create custom detection alerts, and pull reports.” (Bushnell, 2019) Being a tech company with its own developers, TSI can tailor Security for their Office to satisfy customers with high security needs.
· Device Drivers: TSI Office Staff will be able to use almost any servers, printers, scanners, speakers, I/O devices and other peripherals without worrying about driver compatibility.
· Fault Tolerance: With multiprocessing capabilities and security tailored to their needs, TSI will experience much higher fault tolerance. Being able to back-up personal computers to external servers and use RAID or cloud-based backup technology will give peace of mind to office staff and to TSI customers.
Implementation
TSI can easily purchase Windows 10 for all employees as SaaS (Software as a Service), where each employee has their own account, hosted on Microsoft servers, using Microsoft Azure to manage connectivity and scalability. They can log in remotely or from any TSI computer, accounts can easily be added, and new software applications or hardware drivers can be installed online. They can also use their own host server to create Virtual Machines for each employee. This would allow TSI developers to utilize Linux or Microsoft OS X to test TSI’s software on multiple operating systems for clients, while Office staff could still benefit from the ease of use of Windows 10.
TSI has been struggling to use their proprietary software for back office computing and it is time for a change. Windows 10 is the best option for computing in an office environment. It offers the compatibility and scalability that a growing tech company needs to become even more successful.
References
(Almost) everything you need to know about RAID. (2020, May 26). Retrieved from steadfast.net: www.steadfast.net/blog/everything-you-need-to-know-about-raid
Bos, H., & Tanenbaum, A. (2015). Modern operating systems. Upper Saddle River, NJ: Pearson Education.
Brain, M. (2021). How microcontrollers work. Retrieved from howstuffworks: https://electronics.howstuffworks.com/microcontroller1.htm
Bushnell, M. (2019, May 23). Windows 10 professional vs. enterprise: What's best for business? Retrieved from businessnewsdaily.com: https://www.businessnewsdaily.com/10709-windows-10-professional-vs-enterprise-for-business.html
Difference between multiprogramming, multitasking, multithreading and mulitprocessing. (2019, September 16). Retrieved from geeksforgeeks.org: https://www.geeksforgeeks.org/difference-between-multitasking-multithreading-and-multiprocessing/
Galvin, P., Gagne, G., & Silberschatz, A. (2008). Operating system concepts, 8th edition. Wiley.
Garg, R., & Verma, G. (2017). Operating systems: an introduction. Mercury Learning and Information.
IT 600 Final Project Milestone One Guidelines and Rubric. (2020). Southern New Hampshire University.
Liu, S. (2020, October 14). Market share held by the leading computer operating systems worldwide. Retrieved from statista.com: https://www.statista.com/statistics/268237/global-market-share-held-by-operating-systems-since-2009/
Operating system security. (2014). Retrieved from sciencedirect.com: https://www.sciencedirect.com/topics/computer-science/operating-system-security
Rouse, M. (2013, November). Memory Paging. Retrieved from TechTarget: https://searchservervirtualization.techtarget.com/definition/memory-paging
System calls: what are system calls and why are they neccesary? (2020, June 5). Retrieved from ionos.com: https://www.ionos.com/digitalguide/server/know-how/what-are-system-calls/
Underdtanding basic multithreading conepts. (2010). Retrieved from docs.oracle.com: https://docs.oracle.com/cd/E19455-01/806-5257/6je9h032e/index.html
What are the advantages of multiprogramming? (2021). Retrieved from tutorialspoint.com: https://www.tutorialspoint.com/operating_system/os_process_qa2.htm



Comments