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
Burroughs MCP wikipedia , lookup
Computer terminal wikipedia , lookup
Process management (computing) wikipedia , lookup
Spring (operating system) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Mobile operating system wikipedia , lookup
Security-focused operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Unix security wikipedia , lookup
Operating System Principles AUA CIS331 Albert Minasyan Operating Systems Principles (Introduction) Sources: • • • • This course structure OS Introduction Processes, Threads, Scheduling, Synchronization Memory management I/O systems Interrupts Operating Systems Yale university UC Berkeley JHU My experience File Systems Protection and Security Distributed Processing Networks Different OS comparison Exercises, Assignments, Project (C, C++) WinAPI Linux API Windows OS Real Workstation Linux OS Virtual Machine Minimal Requirement: Student’s should complete programming assignments on “Unix and Windows Processes and Threads programming on C, C++” Required Textbook: Silberschatz, Galvin, Gagne “Operating System Concepts”, 9th edition. 2012 Recommended Reference Books: Kay A. Robbins, Steven Robbins, Unix Systems Programming, 2003 Herbert Schildt. Windows 95 Programming in C and C++. 1995 Herbert Schildt. Windows 2000 Programming from the Ground Up. 2000. Kate Gregory. Using Visual C++ 6. 1 Operating System Principles AUA CIS331 Albert Minasyan Textbook Silberschatz, Chapter 1 1.1. What is an Operating System The three main purposes of an operating system: To provide an environment for a computer user to execute programs on computer hardware in a convenient and efficient manner (Shells, Windows, Terminals, Executable files concept). To allocate the separate resources (memory, processor, disk space, I/O device usage) of the computer as needed to solve the problem given. The allocation process should be as fair and efficient as possible. As a control program it serves two major functions: o supervision of the execution of user programs to prevent errors and improper use of the computer (protection of OS and programs from user programs). o management of the operation and control of I/O devices (device drivers, file systems) An operating system is a program that manages the computer hardware and acts as an intermediary between the user applications and the computer hardware. The operating system must ensure the correct operation of the computer system. To prevent user programs from interfering with the proper operation of the system, the hardware must provide appropriate mechanisms. The operating system provides certain services to programs and to the users of those programs in order to make their tasks possible and easier. The services differ from one operating system to another, but we identify and explore some common classes of these services. An operating system is an important part of almost every computer system. A computer system can be divided roughly into four components: the hardware, the operating system, the application programs, and the users. User 1 Compiler User 2 Assembler User 3 User n Text editor Database System System and application programs Operating System Computer Hardware 2 Operating System Principles AUA CIS331 Albert Minasyan Abstract view of the components of a computer system. The hardware - the central processing unit (CPU), the memory, and the input/output (I/O) devices provides the basic computing resources. The application programs-such as word processors, spreadsheets, compilers, and web browsers define the ways in which these resources are used to solve the computing problems of the users. The operating system controls and coordinates the use of the hardware among the various application programs for the various users. The operating system provides the means for the proper use of the resources of the computer system. User Application Programs Trying to use Computing Resources Using ready solutions is possible (is effective) API to OS for User Applications Operating System Device drivers Direct usage is possible (but is not effective) Control API to Hardware Computing Resources are provided by Computer Hardware (CPU, Memory, I/O devices) An application programming interface (API) is a set of functions, procedures, methods or classes that an operating system, library or service provides to support requests made by computer programs. The operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work. 3