Operating Systems. What is an Operating System? A layer of software between users/applications and the hardware. The first program loaded onto a computer.
Published byModified over 6 years ago
Presentation on theme: "Operating Systems. What is an Operating System? A layer of software between users/applications and the hardware. The first program loaded onto a computer."— Presentation transcript:
What is an Operating System? A layer of software between users/applications and the hardware. The first program loaded onto a computer when it is turned on. By using an OS, users and programmers don’t need to know anything about the computer hardware. The story of a keyboard…
Operating System Diagram Applications User Operating System CPURAMDisksMonitor …
Application -> Hardware: API’s Application program interface This is the set of functions that the OS provides to application programmers. The functions are called system calls. For example mkdir() is the Linux system call to create a directory.
User -> Hardware: UI’s User interfaces. We are all familiar with the Windows Graphical User interface. In lab this week we will look at the Unix command line interface.
Two main families of OS’s Microsoft Windows: –MS-Dos, Windows 3.1, Windows 95, Windows 98, Windows ME, Windows NT, Windows XP. Unix –Solaris, Linux (Fedora, SuSE, Debian, Gentoo…), OpenBSD, FreeBSD, NetBSD, Mac OS X, and on and on and on. OS’s within each family have similar API’s.
Ebedded OS’s OS’s that are built into special purpose devices: cell phone’s, pda’s, etc. Designed to be reliable, and to work with limited resources. –Palm OS –Windows CE –Symbian OS –…
OS vs. Kernel Kernel - The core part of the operating system that handles interacting with the hardware. OS - the kernel, plus a basic set of applications that make it possible to use the computer. Mac OS X example… To make things even more complicated: micro-kernels.
OS Tasks: Memory Management Our Pippin programs access memory directly. What if.. –Two programs try to write to the same memory location? –We don’t have enough memory for all the programs we want to run?
Virtual Memory In a modern OS, every application believes that it has lots of memory all to itself. In fact, the OS translates every memory request from the application’s address space, to a real physical address. –This protects different applications from overwriting each other’s memory. The information may even on disk instead of in RAM. –This allows applications to use more addresses than the computer can store in RAM.
OS Tasks: Scheduling What if multiple applications want to run at the same time? Only one CPU. Answer: the OS allows them to take turns. Every 10ms (for example) a new program is allowed to run. P1P2P3P1P2P3 … TIME
Scheduling The program doesn’t notice. We don’t notice - 10 ms is not much time. In 10ms the computer can get a lot done. –for a 1Ghz Computer 10,000,000 clock ticks in 10ms.
OS Tasks: File System Managemement Hard drives don’t know anything about files and directories. Just one big place to put 1’s and 0’s. The OS is responsible for organizing the disk into a usable system of files and directories.
OS Tasks: Security What if I decide to log into Henson and delete your home page? What if I decide to log into Henson and turn it off? The OS is responsible for protecting users from each other, from the outside world, and from themselves. One example: file permissions.