Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
The Operating System Getting to Know What an OS Does Software Types • Applications a.k.a. Software: – Word Processor – Spreadsheet – Accounting – Database – Internet – Utilities • Operating Systems: – Windows – Linux – DOS… Why we need an Operating System (OS) • Manages the computer hardware so programs can use it • OS provides consistent environment for applications to run in varied hardware configurations – To accommodate different hardware, ‘Device Drivers’ tell the OS how to communicate with devices What does the OS do? • • • • • • • • • Provides user interface (GUI vs CLI) Manages system hardware for the applications Manages memory allocation and protection Manages processor resources e.g. multitasking Manages programs loaded into the computer Manages files and storage resource I/O Manages additional peripheral devices Manages system security, integrity Returns messages to user as needed about the system Operating System Interfaces • User Interface: – Allows user to communicate and interact with computer – Command Line Interface (CLI) – Input via keyboard – Graphical User Interface (GUI) – Input via mouse Multitasking • PCs spend most of their time idle while waiting for input. – They could use that time to run multiple programs ‘simultaneously’, given enough memory. – Problem: • CPU is limited to only doing one thing at a time – Solution: • Processor runs one process for short period of time, then switches to next process, and so on… (pre-emptive) – As processor executes billions of instructions per second, it appears many processes are running at same time. – With multi-core processors this becomes even easier Threads / Multi-Threading • Within programs, individual tasks can run independently • Independent ‘threads’ can handle separate parts of a process – Load different elements of a web page – Manage screen redraws or mouse input while other work is happening in the background • Each of these threads can in turn be multi-tasked Multi-processing • Modern OS’ support computers with multiple CPUs – Traditionally via motherboard with multiple processor slots – Multiple processors are now incorporated into single packages containing multiple ‘cores’ • Single core, dual core, quad core, etc.. – Individual processes, threads can run simultaneously on each processor/core Virtualization • Virtualization technology allows us to take the efficiency of our computer one step further • Can create a ‘virtual computer’ within a computer – Useful for testing and maximizing resource usage • In this class we will use a product called VMware – Creates a ‘virtual’ instance of Windows for you to play with without worrying about corrupting the computer settings