Operating system: Difference between revisions

Content deleted Content added
m See also: lowercase
m link added.
Line 18:
 
There are three main purposes that an operating system fulfills:{{sfn|Anderson|Dahlin|2014|p=7}}
*Operating systems allocate resources between different applications, deciding when they will receive [[central processing unit]] (CPU) time or space in [[computer memory|memory]].{{sfn|Anderson|Dahlin|2014|p=7}} On modern [[Personal computer|personal computers]], users often want to run several applications at once. In order to ensure that one program cannot monopolize the computer's limited hardware resources, the operating system gives each application a share of the resource, either in time (CPU) or space (memory).{{sfn|Anderson|Dahlin|2014|pp=9–10}}{{sfn|Tanenbaum|Bos|2023|pp=6-7}} The operating system also must isolate applications from each other to protect them from errors and security vulnerabilities in another application's code, but enable communications between different applications.{{sfn|Anderson|Dahlin|2014|p=10}}
*Operating systems provide an interface that abstracts the details of accessing [[Computer hardware|hardware]] details (such as physical memory) to make things easier for programmers.{{sfn|Anderson|Dahlin|2014|p=7}}{{sfn|Tanenbaum|Bos|2023|p=5}} [[Virtualization]] also enables the operating system to mask limited hardware resources; for example, [[virtual memory]] can provide a program with the illusion of nearly unlimited memory that exceeds the computer's actual memory.{{sfn|Anderson|Dahlin|2014|p=11}}
*Operating systems provide common services, such as an interface for accessing network and disk devices. This enables an application to be run on different hardware without needing to be rewritten.{{sfn|Anderson|Dahlin|2014|pp=7, 9, 13}} Which services to include in an operating system varies greatly, and this functionality makes up the great majority of code for most operating systems.{{sfn|Anderson|Dahlin|2014|pp=12–13}}