This is a complete guide going over what is an embedded and desktop operating system (OS), their differences, examples of them, and the advantages and disadvantages of each.
The desktop operating system is in charge of the computer’s software and hardware. Several computer programmes are usually operating at the same time, and they all require access to your computer’s central processing unit (CPU), memory, and storage. All of this is coordinated by the operating system to ensure that each software receives the resources it requires . A graphical user interface, or GUI, is used in modern operating systems. A graphical user interface (GUI) allows you to click icons, buttons, and menus using your mouse, and everything is shown clearly on the screen using a combination of images and text . Examples of desktop operating systems include Windows and Linux.
An embedded operating system is a computer operating system designed for use in embedded systems. These operating systems are designed to be small, resource-efficient, and dependable, and therefore forego many of the features that regular desktop operating systems offer, which may or may not be needed by the specialised applications they run . Examples of embedded operating systems include digital watches and electronic calculators.
This paper will discuss the background of desktop operating systems and embedded operating systems, the similarities and differences of both operating systems, and the pros and cons of each operating system.
Table of Contents
- Background of Desktop and Embedded Operating Systems (OS)
- Similarities Between Desktop and Embedded Operating Systems
- Differences Between Desktop and Embedded Operating Systems
- Pros and Cons of Desktop and Embedded Operating Systems
Background of Desktop and Embedded Operating Systems (OS)
Desktop Operating System
Desktop operating systems are also known as client operating systems. They involve using a desktop computer that does not need a network connection or any third party components to perform normally . Desktop operating systems are programmed to work within computer desktops and other portable devices such as laptops which have to handle various amounts of automated processes consistently and systematically . These systems are meant to multitask different components such as printers, monitors, and cameras at the same time.
Examples of desktop operating systems are Windows, Mac, and Linux among many other desktop operating systems. Some computers are able to run more than one operating system. The process of running more than one system simultaneously on the same device is known as dual boot configuration . In this method, specific devices can be set so that they run differently on different systems. This allows the user to have more accessibility and flexibility when running specific programs.
Desktop operating systems are important as they manage the device’s memory and ongoing processes along with controlling services that handle functional software and connected hardware devices. In a sense, these desktop operating systems allow the user to interact with their devices without having a deep knowledge regarding computer language. These systems handle the logic needed to maintain optimal performance while also providing an easy to use graphical user interface for users to have a more lenient experience when handling said systems .
Embedded Operating System
An embedded operating system is an operating system for embedded computer systems such as mobile phones and video game consoles. It is quite limited in terms of functionality; it may only run a single application depending on the device. Hence, it must be reliable and able to run with constraints on processing power and size since that single application is crucial to the device’s operation . For example, an embedded operating system that always boots up when the mobile phone is in running condition consists of mobile phones. It has several important characteristics such as it offers high reliability and stability, only minimal user interface is needed and it has limited memory, fewer power consumptions and low cost . It is also frequently referred to as a real-time operating system (RTOS).
Applications of embedded operating systems can be seen commonly in our everyday life. The BlackBerry Operating System which is particularly used in BlackBerry phones, IOS which is used in Mac and Apple phones apply embedded operating systems . Besides that, many devices in our cars now have embedded systems such as entertainment and multimedia in our car and the motor and cruise control systems.
Embedded operating systems are usually used due to hardware having a slow CPU and little computing power , hence why they need to be specific in their scope and application. Assembly language is used to make them take advantage of the limited computing resources and can make use of every computing power available. The most common example of devices that fit that description would be cell phones and house appliances.
Nowadays embedded devices are used in the system of Internet of Things which can be found in almost all the smart devices today. One of the common uses of embedded operating systems is the navigation system of an airplane. The main computer of an airplane that is interconnected with most of the control systems uses a real-time operating system. Hence, airplane operations such as take-off, landing and emergency situations are specifically designed for the system to perform and operate. Furthermore, in the medical department, the system is used in equipment such as infusion pumps, cardiac monitors, and prosthetic devices .
Block Diagram of Embedded Systems
The diagram above displays the general composition or connection between devices in an embedded system. Thus, most embedded systems contain the following generic devices with the corresponding relationship to ensure its specific functionality is performed. Here is the purpose of each of these devices within the embedded system:
Input devices: Receive or detect changes in the environment, especially electrical signals. Thus, it transfers data inputted by the user to the system to the CPU or computer section for further processing. Examples of input devices include, sensors, keyboards, mouse, microphone, switches, etc.
Computer/CPU: Contains the OS, in this case the embedded OS, which manages the process execution and memory management in the system. It’s considered to be the most important part of the system, acting as the “brain”, which processes the data input from the input device, and coordinates the production of a specific output or functionality to be performed by the output devices.
Output Devices: From receiving the instructions from the CPU, it’ll perform its specific function, for instance displaying a result to the user in the form of text, image or sounds. Examples of output devices include, printers, monitors, motors, relays, speakers, etc.
Memory: The primary purpose of memory is to store data in an embedded system. It should also provide means to access these data. In the case of embedded systems, small-sized, light-weight storage and fast retrieval options are ideal. Hence, examples of typical memory devices in embedded systems include SD cards, hard disks, and flash memory.
Similarities Between Desktop and Embedded Operating Systems
Generally, operating systems (OS), regardless whether deployed in desktops or embedded systems, possess a common purpose. In brief, the main functions of an OS can be seen to manage processes, memory, and storage in a particular computer system. It performs program execution, through loading executable programs into the system memory. Then, it runs and stops the program accordingly. During execution, it may involve I/O (input and output) operations as well, hence, most operating systems have access to such peripherals.
1. Perform Abstraction
Additionally, it serves an abstraction purpose where it masks or hides the hardware complexity of the system, and allows user access through a user-friendly interface either a Graphical User Interface (GUI) or Command Line User Interface (CLI). Besides that, it acts as the primary resource manager within a system, including memory, storage, hence, ensuring each process gains sufficient access to resources which allows for an efficient utilisation of these resources, for optimal productivity. So, it can also act as a file manipulation system for most computer systems.
2. Possess a UI
Besides that, most operating systems typically have some form of User Interface (UI), although to a different extent of user-friendliness. This will be explained further in the following Differences section.
3. Ensure Protection and Security of the Computer System
Furthermore, an OS typically ensures the protection and security of its computer system . Thus, it keeps the system secure from breaches that can harm its operation or data integrity, mainly by controlling the authorisation of different resources effectively.
4. Detects and Troubleshoots System Errors
Along with that, an OS detects and troubleshoots errors within a system. Hence, during its operation it’s constantly attentive or aware of potential errors, whether in the CPU, Memory, I/O devices, User Programs or another component. This allows the computing operation of the system to progress smoothly and error-free.
Overall, regardless of whichever type of computer system it’s employed on, whether embedded or non-embedded (desktop), an OS is a fundamental essential aspect to these systems.
Differences Between Desktop and Embedded Operating Systems
Despite the common and similar traits and functionalities seen between the two operating systems, there are a number of notable distinguishing factors between Desktop and Embedded Operating Systems (OS).
For starters, looking at the abstract tree of computer systems, appliances powered by a Desktop OS, fall under General Purpose Systems, whereas embedded systems are categorised as Special Purpose Systems.
What this means is that in terms of functionality, embedded devices are considered “simple” devices that perform specific or dedicated tasks. Often they only serve a sole purpose or a smaller number of functions. By performing single and specific tasks, this enhances the functionality, performance and reliability of these systems in accomplishing that certain task. Especially considering that all or most of the computing power is being channeled to produce that certain output and isn’t being siphoned by less priority background processes like on Desktop systems.
In contrast, desktops are robust and complex general-purpose systems that perform a wider range of tasks often simultaneously, oftentimes even with tasks running in the background . Thus, a desktop OS is considered “complex” as it handles multiple concurrent tasks. In the absence of such an OS, it’ll be drastically challenging for desktop systems to handle, manage and schedule multi-task concurrency.
Therefore, different embedded systems possess different functionalities, depending on the nature of the system and the requirements it’s meant to fulfil. The operating system of the device will be developed accordingly as well. For example, a smart watch’s OS manages and executes processes for a regular watch, such as displaying the time, alerts and notifications, and often side functions like monitoring users’ health. However, unlike on desktop OS, the watch OS can’t be programmed to carry out general or any functions, like writing documents or opening desktop applications.
Hence, the embedded system has a predefined set of tasks in a specific application to accomplish, with their associated time constraints . So, each embedded OS is unique in that they’re customized and configured to fulfil the specific demands of that particular range of devices they operate on. From there, these individual systems running an embedded OS, cooperate to form a network of devices, known as Internet Of Things. Despite there being a specific purpose, embedded systems may possess a range of secondary functions as well. For example, for smartphones, although the main function is making calls, it can also be used to surf the web and take pictures. However, desktop OS on desktops can be used for various purposes as its main purpose. In fact, desktop OS can be further reprogrammed for a new purpose .
Along with that, embedded OS typically have less application features compared to desktop OS. Thus, embedded OS are configured to operate dedicated applications that sometimes utilise a fixed set of hardware and peripheral components as well. Meanwhile, desktop OS can possess a wider range of applications and features.
a) Effect of User Intervention on Functionality
Additionally, while still in the topic of the differences in functionality, operating systems in both desktop and embedded systems differ in terms of the effect of human interaction and intervention and the systems’ operation.
For systems running an embedded OS, often they’re in an infinite execution loop, as long as it’s connected to an electrical source. So, the embedded OS and its kernel are loaded into the main memory constantly, ensuring that the system is always in operation and runs code to carry out its functionality. This is especially the case in real-time embedded systems, that are run eternally and respond to electrical changes in the environment as picked up by it’s I/O devices. Plus, most of these devices running an embedded OS aren’t user programmable.
Therefore, in an embedded OS, generally they don’t require human interaction to execute processes or carry out tasks . So, they’re usually pre-programmed with a defined set of tasks, and for most systems they can be in a constant execution loop without the need of human involvement once it’s set in motion. An example of this would be an ATM machine system, pacemaker, or a satellite navigation system that’s constantly in execution based on their pre-programmed instructions.
Conversely, desktop OS, typically require users to intervene or interact with the system regularly, actively and directly. This allows the system to respond to the users interactions, and it’s tools or components can cooperate or coordinate accordingly. These responses of the system may be in the form of sound from the speakers, graphical changes in the screen or display based on human interactions. For instance, when you access a web page with a video through your desktop’s web browser, the application will display a motion picture and produce sounds from the video. Different from embedded OS, the program in desktop OS only executes for a limited period and can be shut down by users once the system has accomplished its task.
Thus, it’s also clear to see that a standard desktop OS creates an environment where the user and desktop interact with each other to carry out various jobs . On the other hand, systems with an embedded OS, typically execute a singular type of task, and do so automatically, often without the user prompting it.
This sheds light on another crucial distinction, where typically in embedded OSs the applications and OS are statically linked or bundled together into a singular executable . Thus, like in an ATM machine, the system can’t carry out other functions outside of its scope and runs it’s sole operation which is dispensing cash etc. So, this particular application is constantly in execution and loaded in the system memory straight from boot. Meanwhile for a desktop OS, there’s no fixed application that the system is forced to run solely. Instead, it can load a variety of applications at the users’ request.
b) Time Specificity of Functionality
Moving on, in its functionality, desktop OS’s aren’t time specific. This is because the execution of certain processes aren’t time bound or dependent. Hence, we can see some resource-intensive or large processes requiring more time to complete . The time allocated for process execution isn’t consistent and may experience fluctuations.
Meanwhile, embedded devices are time specific. This means that it executes tasks that are assigned to it within the predetermined specific time frame. This makes the embedded systems reliable as they’re output is consistent.
Additionally, this makes the embedded systems suitable for a “real-time” environment as it can respond to external triggers or electrical input from sensors, switches, communications, etc. typically geared for a “real-time” environment where they can respond to externally triggered events such as sensors, switches, communications, etc. These OS are called real-time operating systems (RTOS). Examples include embedded Linux, QNX, VxWorks etc.
2. User Interface (UI) in Systems
Typically, the OS on embedded devices have lesser to no implementation of user interfaces compared to devices with desktop OS. This is mainly because desktop OS needs to be user-friendly as it’s intended to be used by the average user with little to no programming knowledge or knowledge of commands in a Command Line Interface (CLI). Thus, on Desktop OS, regardless of whether it’s Windows, macOS, or Linux, users can access almost everything on their desktop through a Graphical User Interface (GUI), which is far more intuitive and easy-to-use.
Besides that, users will also find the Command Line Interface (CLI) on desktop OS as well, although it’s employed less since the average user wouldn’t prefer using a predefined set of commands. However, this GUI found on a desktop system, can be resource intensive which might be a burden for embedded systems. Hence, since the UI on embedded systems are little to none, especially GUI, the developer, engineer or user may only work with the embedded system through a CLI. This CLI or Terminal User Interface (TUI) is more prioritised on embedded systems since they’re significantly faster and less resource-hungry.
Along with that, embedded systems possess a minimalistic or light-weight kernel that’s compiled with only the necessary or specific drivers of the hardware components it uses. Hence, further limiting to only the required software being installed on the embedded system’s OS. So, the OS doesn’t permit additional installations of software, aside from updating the native system OS or software. This is because the embedded OS is less compatible with certain software additions.
3. Structure and Size of the System
Another differentiating factor between systems utilising desktop and embedded operating systems is the overall size and general structure of the system. Generally, both are a combination of hardware (CPU, IO peripheral devices, other components) and software (Operating System, OS). The hardware between different desktop systems are similar but the hardware between different embedded systems and applications differ as it’s tailored to cater to its specific function and to achieve its desired purpose under its predefined constraints.
An embedded system can be a singular standalone device or part of a larger system. Thus, making it a crucial component of Internet Of Things (IOT), a system or network of interrelated, interoperable physical objects, which includes technologies such as computing devices, mainly embedded systems . On the other hand, desktop operating systems are used with systems that are standalone devices, which are general purpose computers. This technological advancement, IOT, in embedded technology can be influential and beneficial for many sectors. One such evident example is in smart homes, where various embedded systems in your home, such as a smart TV, voice assistant, speakers, home security system, etc. can work together to automate various house tasks.
Typically, the hardware and resources running an embedded system is more constrained and are very limited in resources . On the other hand, systems that use a desktop OS, are built to utilise high amounts of resources. More specifically, an embedded system uses lesser storage, CPU cores, RAM than desktop systems. As mentioned before under functionality, this is mainly because embedded devices have a clear, dedicated, specific and predefined purpose, letting it get away with lesser system resources and making an embedded OS the preferable choice for primitive systems that serve limited or specific functions. This is to keep the overall cost and price of the system as well. So, resource efficiency is a trade-off that comes with losing some functionality and granularity that desktop OS would otherwise provide. For example, one important real-world application of embedded OS is as a singular task based system or a singular constant looping system. It can also be found in a scaled down Linux environment, especially in servers and network devices, such as routers . As mentioned before, this is not possible for desktop OS as they require higher amounts of resources.
So, it’s not the preferable choice to be used with a larger system, as it requires more resources, such as more CPU cores, as it more often needs to handle and execute multiple and various tasks concurrently than embedded systems which serve a simpler purpose and often singular tasks. Hence, why servers also prefer utilising an embedded OS than desktop OS, as it doesn’t have to channel a lot of its power and resources for the desktop OS GUI or various processes.
a) Storage in Systems
In terms of storage an embedded system typically only requires lesser storage and memory. This includes low-sized and moderate-speed hard disks or small SD cards, which are especially more portable packages, with longer battery life and occupy a lower volume of space. A desktop system can be seen to utilise high-storage and larger-sized hard disks and even faster solid state disks (SSD) . This is because it needs to hold more program files and quickly load these program files for rapid execution. Embedded systems place more importance on temporary storage for run-time data manipulations, and this can be in the form of ROM or RAM. Plus, they have lesser program files, and are usually already loaded and running when the system is turned on and booted up. Hence this is one reason why desktop systems have a lesser boot time than embedded systems, as they have faster storage disks.
b) Display Size in Systems
In terms of size and display size, typically an embedded system utilises a smaller sized display or none at all than desktop OS, which requires display for it to be more user-friendly.
c) Cost of Systems
Considering that both systems utilising embedded and desktop OS use a different amount of system resources, the cost involved with both systems vary as well. The embedded OS costs less in terms of power consumption and for the pricing of applications compared to desktop OS systems, which are priced higher and pose a higher power consumption . Additionally the hardware and additional devices required by desktop systems contribute to its higher cost, since embedded systems are more minimal in terms of hardware and required resources. Overall, desktop OS devices and applications cost more than embedded OS.
d) Development Tools
For developments of such systems, an embedded OS has a specific and smaller set of development tools and languages, whereas a desktop OS has a wider range of choices. This is because these desktop systems (e.g. Windows, macOS) are user configurable and upgradable . At the same time, it needs to provide development support, so that developers can develop additional programs for that OS. However, an embedded OS does not require additional functionality, so development support isn’t a necessity.
4. Performance of system
Moving on, as a result of this difference in system resources, a key differentiating factor between desktop and embedded OS is their performance.
Firstly, desktop OS typically has faster boot up time than embedded OS. This is because the added CPU cores and improved system resources allows apps to run concurrently and takes less time to run apps. Thus, even web browsers on desktop OS take a lesser time to load up websites compared to the web browser on embedded OS (if it exists). However, if you take a break from a certain task and aim to resume it, an embedded OS will restart the process almost instantly than a desktop OS which takes a longer time to resume tasks. This is because in embedded OS, the task is constantly running, whereas for desktop OS it has to conserve battery and resources, so it’ll temporarily pause the task till its resumed.
Additionally, owing to the desktop OS ability to handle and execute various processes, often concurrently, this contributes to a higher power consumption in desktop systems than in embedded systems. This is because the desktop computers or systems require additional operation power than embedded devices, which only need to execute a single or lesser number of tasks. This increase in operational power in desktop systems, results in a lower battery life in desktop operating system devices than in embedded devices that have longer battery life.
This longer battery life in embedded OS systems is important to improve its reliability. Also, by focusing on a dedicated function and having limited hardware and software resources, this further improves the reliability and performance of embedded OS systems. So, these factors ensure that it’s both easy to avoid and troubleshoot errors in an embedded OS. Overall, by being more reliable and error-free or fail-proof than desktop OS, it’s more required or preferred to perform very critical real-world functions. For instance, pacemakers which are an example of embedded devices in the healthcare industry have a critical need to perform consistently and with reliability for heart patients. Besides that, the Maneuvering Characteristics Augmentation System (MCAS) system is an embedded device which is critical to the flight and security of these aircrafts . Looking at desktop OS, these are less reliable considering there’s more potential areas of bugs or issues within the programs, which are often only discovered and patched later in updates.
5. Flexibility and Hardware Compatibility/Support
Now in terms of flexibility or how desktop and embedded OS respond to different hardware components or even software updates, typically, desktop OS is more flexible than embedded OS. Along with that, it’s said that desktop OS has more hardware compatibility and support than embedded OS. This means that, since embedded OS is used for a specific functionality or purpose this is accompanied by a specific set of hardware as well. Thus, it’s not easy to incorporate additional or external hardware devices to an embedded device, without custom configuring or upgrading first. Therefore, in the lifetime of an embedded system, the hardware rarely changes, except for repairs, but the software can continue to receive updates, although it involves lesser updates than in desktop OS, and sometimes no updates at all. This is because embedded systems have a critical need to be already functional and bug-free from production, so it’s safe and fail-proof.
However, a desktop OS, especially like Linux, is built to support a wider range of hardware add-ons or components, making it more flexible and hardware compatible . Simultaneously, a desktop OS is said to be more software compatible than embedded OS as well, as it needs to support or easily handle the installation or uninstallation of additional software. These additions are so that it can execute and handle various types of tasks, including remote adminstrivate control, security, encryption, peripheral devices, displays, and audio or media, unlike an embedded system.
Overall, compared to an embedded OS, a desktop OS requires a higher degree of flexibility for variations in hardware and software.
Pros and Cons of Desktop and Embedded Operating Systems
Desktop Operating System
Desktop operating systems provide ease of use as it is user-friendly. This is because they provide clients with a Graphical User Interface (GUI) that enables easy resource access. Because the GUI interface incorporates various symbols, buttons, menus, and other graphical representations, it is significantly more user friendly than the command line interface used in embedded system operating systems . As a result, users can interact with the machine more easily. One example is Microsoft Windows, all versions share common aspects which make it simple for users to transfer from one version to the next. For instance, users of Windows 7 will have little trouble transitioning to Windows 10, as most of the features of Windows 10 are identical to those of Windows 7 .
Additionally, desktop operating systems have an advantage over other operating systems as it has a huge selection of software programs and apps . There are numerous software packages available for various consumers and use-case scenarios such as office productivity softwares like Microsoft Excel and Microsoft Word . Meanwhile, a desktop operating system such as macOS comes preinstalled with various apps that are useful for work and productivity such as Pages, Numbers, and Keynote, which are useful for writing documents, presentations and storing data . Not only that, macOS also brings apps that are suited for creative professionals such as iMovie for video editing and GarageBand for music production . Furthermore, macOS comes with apps such as FaceTime and Messages which connect people from all over the world .
However, one of the cons of desktop operating systems is fragmentation. Fragmentation is the division of memory storage into fragments. Internal operating system fragmentation is also a problem. Insufficient storage space will result if the process consumes more space than was allocated. As a result, the process consumes far less space than is required, resulting in internal fragmentation . The process is allocated a memory block that is larger than the process’s size in this fragmentation resulting in unused memory.
The figure above shows internal fragmentation as it displays the difference between assigned memory space and required space or memory in the operating system .
Additionally, the risk of virus infection is always greater in a desktop operating system compared to embedded systems operating systems. This is because users unknowingly download malicious programmes, visit malicious websites, or open viruses disguised as email attachments, all of which can make a computer vulnerable to viruses.
Embedded Operating System
One of the advantages of embedded operating systems is that they do not accept user-installed software on control devices that are normally not considered computers such as television sets, MP3 devices, microwave ovens, vehicles, and traditional phones . In this case, any untrusted and non-secure software will not be able to run on it. For instance, it is impossible to download new applications in televisiones as all the software is in the form of read-only memory . Hence, protection between applications is not necessary and this helps in design simplification, unlike desktop operating systems who are more prone to security issues .
Another benefit of embedded operating systems is it saves cost and time by allowing devices to share the same functions. For example, an integrated embedded operating system software like iOS and Android is installed in every mobile phone and it boots up when the phone is switched on . Without the operating system, it would be a waste of time and effort to implement an app into every single mobile phone with different hardware . Thus, it allows devices to be managed easier as developers only need to build a unified application especially for the operating system. Not only that, devices using embedded operating systems can be interfaced with other systems as they have a simple format which makes it very easy to handle and use.
Furthermore, embedded operating systems also allow devices to be more precise as they are created and designed using advanced softwares. The accuracy of a device is crucial in performing its operation correctly such as an insulin injection pump, as the amount of insulin to be injected must be correctly measured to prevent from negatively impacting human lives .
One disadvantage of embedded operating systems is the lack of multitasking performance. This is due to the fact that embedded operating systems usually carry out a single task-specific function only, meaning that it will repeatedly perform the specialized task given by the programmer throughout its lifespan. For instance, a navigation system will operate exclusively as a navigation system, while an MP3 player will operate exclusively as an MP3 player.
Moreover, embedded operating systems are more difficult to upgrade and receive updates compared to desktop operating systems. This is because a desktop operating system such as macOS has new versions of updates every few months, keeping most Apple devices up-to-date regularly while embedded operating systems have limited to no room for technological improvements, making them easily outdated .
To sum up, this artickle provides a detailed review and discussion on the background of embedded and desktop OS, their differences, as well as the advantages and disadvantages of each. All in all, it’s clear to see that both embedded and desktop OS have their own advantages, disadvantages, and specifications that differentiate themselves from one another and makes that OS suited to that particular system.
In fact, embedded OS are different from one another as well, and highly depends or is specialised for the system it’s applied on. Therefore, one cannot label one OS type as “superior” or better to another. Instead, when determining which type of OS to implement in a particular system, they need to analyse and see the system’s requirements before landing on an OS of choice.
Typically, we see that embedded OS are suited and implemented for appliances/devices/systems that perform a specific and dedicated function, that has UI requirements that are minimal to none and has to be resource conservant. Meanwhile, desktop OS are implemented for systems that perform a wide range of tasks, some of which the user can easily install and configure themselves, which require a GUI and can be resource-hungry due to this sophisticated UI and for running various concurrent processes.
Overall, from our analysis, we have highlighted the differences between both OS, namely in terms of functionality, effect of user intervention on this functionality, time specificity, structure and size, storage usage, display size, cost in systems, development tools supported, performance and flexibility or hardware/software support. Along with that, we’ve highlighted the benefits and disadvantages of each OS. So, one would have to take all these factors into consideration and deduce the system’s requirements when choosing an OS to implement.
Check out more programming and tech-related guides at our content outlets, GuidingCode.com and Pletaura.com.
Feel free to share this post if you learned something new about desktop and embedded operating systems.
 “Computer Basics: Understanding Operating Systems”, GCFGlobal.org. [Online]. Available: https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/.
 “What is an Embedded OS?,” DSL, 15 January 2021. [Online]. Available: https://www.dsl-ltd.co.uk/support/embedded-os/.
 Certiology. (n.d.). What is Client Operating System? Definition and brief description of Client Operating System by Certiology. Certiology. [Online]. Available: https://www.certiology.com/tech-terms/what-is/client-operating-system.html.
 University of Wollongong (n.d.). Understanding Operating Systems. University of Wollongong Australia. [Online]. Available: https://www.uow.edu.au/student/learning-co-op/technology-and-software/operating-systems/
 Posey, B. (2019). What is an embedded operating system? Definition from WhatIs.com. IoT Agenda. [Online]. Available: https://internetofthingsagenda.techtarget.com/definition/embedded-operating-system.
 Embedded Systems Tutorial: What is, Types, History & Examples. Guru99.com. [Online]. Available: https://www.guru99.com/embedded-systems-tutorial.html.
 What is an Embedded Operating System? – Definition from Techopedia. Techopedia.com. [Online]. Available: https://www.techopedia.com/definition/30014/embedded-operating-system.
 Valcázar, G. (2021). What Is an Embedded Operating System?. Digi.com. [Online]. Available: https://www.digi.com/blog/post/what-is-an-embedded-operating-system.
 Gaikwad, R. Introduction to Embedded Operating Systems. Microcontrollers Lab. [Online]. Available: https://microcontrollerslab.com/embedded-operating-system/.
 “What is an Embedded Operating System?,” TotalPhase, 11 February 2020. [Online]. Available: https://www.totalphase.com/blog/2020/02/what-is-an-embedded-operating-system-and-the-different-types/.
 S. Saxena, “Difference between Computer and Embedded System,” GeeksforGeeks, 16 June 2021. [Online]. Available: https://www.geeksforgeeks.org/difference-between-computer-and-embedded-system/.
 W. Stallings, Operating Systems Internals and Design Principles, Pearson Education, 2019.
 A. Silberschatz and P. B. Galvin, Operating System Concepts, Wiley Publishers, 2014.
 B. Lutkevich, “Embedded Systems,” IOT Agenda, 15 December 2020. [Online]. Available: https://internetofthingsagenda.techtarget.com/definition/embedded-system.
 W. P. Hays, “Aviation Software: Is Safety Flying 2nd Class?,” Magellan TV, 28 August 2019. [Online]. Available:
 M. Roomi, “5 Advantages and Disadvantages of Operating System | Limitations & Benefits of Operating System”, HitechWhizz – The Ultimate Tech Experience, 2021.
[Online]. Available: https://www.hitechwhizz.com/2021/02/5-advantages-and-disadvantages-limitations-benefits-of-operating-system.html.
 K. Bonheur, “Advantages and Disadvantages of Windows | Profolus”, Profolus, 2021. [Online]. Available: https://www.profolus.com/topics/advantages-and-disadvantages-of-windows/.
 K. Bonheur, “Advantages and Disadvantages of macOS | Profolus”, Profolus, 2021. [Online]. Available: https://www.profolus.com/topics/advantages-and-disadvantages-of-macos/.
 “Difference between Internal and External fragmentation – GeeksforGeeks”, GeeksforGeeks, 2020. [Online]. Available: https://www.geeksforgeeks.org/difference-between-internal-and-external-fragmentation/.
 A. Tanenbaum and H. Bos, Modern Operating Systems, 4th ed. Upper Saddle River, New Jersey: Pearson Education, Inc., 2015, p. 37.
 G. Valcázar, “What Is an Embedded Operating System?”, Digi.com, 2021. [Online]. Available: https://www.digi.com/blog/post/what-is-an-embedded-operating-system.
 PT Institure, “Advantages Of Embedded Systems – PTInstitute”, PTInstitute, 2021. [Online]. Available: https://ptinstitute.in/advantages-of-embedded-systems/.
 K. Haslam, “List of all macOS versions – including the latest macOS”, Macworld UK, [Online]. Available: https://www.macworld.co.uk/feature/os-x-macos-versions-3662757/.