This course explains the importance of scheduling and memory management as key features of Windows and Linux, the operating systems widely used in personal computers and various electronic devices, and emphasizes the need to understand operating systems as an engineering student.
In the age of personal computers, often referred to as the personal computer age, it is difficult to find a person who has not heard the words “Windows” and “Linux”. Windows and Linux are two of the most popular operating systems in use today. Windows is an operating system developed by Microsoft and is widely used around the world due to its intuitive user interface and wide software compatibility. Linux, on the other hand, is an open source operating system developed as part of the free software movement, allowing users to freely modify and distribute the source code. For this reason, Linux is very popular among developers and server environments.
However, while many people know that they are operating systems, they don’t know what they do. Of course, there’s nothing wrong with not knowing what an operating system does, but the number of devices that use operating systems is growing, not just computers, but cell phones, cars, digital cameras, and even home appliances like TVs and refrigerators. As an engineering student, it’s important to have at least a cursory understanding of operating systems. In this article, we’re going to talk about two of the most important features of operating systems: scheduling and memory management.
Scheduling is exactly what it sounds like: the ability to divide the CPU’s time between running programs, or processes. When you use a computer, there are tons of processes running at the same time. However, there’s only one CPU to handle them, so it’s important to distribute the CPU’s time efficiently so that each process appears to run smoothly and simultaneously, maximizing the efficiency of CPU usage. Using the example of making fried rice as an example, the processes are cooking rice, chopping vegetables, and slicing ingredients, and the CPU is the chef. You could wash the rice, cook the rice, wait for the rice to cook, chop the vegetables, grab the rest of the ingredients from the fridge, chop them, and stir-fry them, but it would be much faster and more efficient to pre-cut the vegetables while the rice cooks, and then find and chop the ingredients while the vegetables are stir-frying. It’s like the concept of multitasking, which is handling multiple tasks at the same time. It seems so natural that we can listen to music on our computers, write a document, and chat with friends on instant messengers all at the same time, but this is only possible because of the efficient scheduling of the operating system.
Another important feature of the operating system is memory management. When processes run, each process is allocated its own memory area. This is analogous to how each home is given its own residential area. But what if your home was being used by your neighbors? You wouldn’t be able to live normally if someone barged in unannounced to cook in your kitchen, use your bathroom, or have a party in your living room in the middle of the night. The same is true for processes. If other processes were allowed to use the memory you allocated to them, you’d find that the document you wrote overnight was replaced with something unrecognizable in a matter of moments, or that your music player was playing unidentifiable noises instead of music. To prevent this from happening, operating systems allocate an appropriate amount of memory to each process, and then closely monitor each process to ensure that it only uses the memory it is given. Modern operating systems also introduce memory virtualization technology to overcome the limitations of physical memory and allow for more efficient memory usage. This allows processes to flexibly allocate and use as much memory as they need, which helps improve the overall performance of the system.
These are two important features of the operating system. As mentioned above, operating systems have become so ingrained in our lives that having a good one has a tremendous impact on market dominance. Even Samsung’s famous Galaxy series wouldn’t be as successful as it is without the Android operating system. Specifically, Android is a Linux-based operating system that is optimized for mobile devices like smartphones and tablets. It allows users to freely install various applications and create a personalized experience.
However, Korea has yet to develop a well-made operating system. This is due to a combination of factors, including the lack of resources and infrastructure required to develop an operating system. For the development of Korea’s IT industry and for personal wealth and honor, it would not be a bad choice to go into operating system development. In particular, as artificial intelligence and Internet of Things (IoT) technologies become more advanced in the future, new types of operating systems that can support them will be needed. Therefore, developing innovative operating systems that meet the needs of the times will be an important competitive advantage in the IT industry in the future.