490 likes | 766 Views
Operating System. Paper Code : MCA 311 Course: MCA 2nd Year,(3 rd Semester) Faculty: Mrs. Pooja Pandey. Mrs. Rama Chaudhary. Current Technology. video phone. Best friend. Laptop. Personal digital assistant (PDA). Mobile phone / PDA.
E N D
Operating System Paper Code : MCA 311 Course: MCA 2nd Year,(3rd Semester) Faculty: Mrs. Pooja Pandey. Mrs. Rama Chaudhary
Current Technology video phone Best friend Laptop Personal digital assistant (PDA) Mobile phone / PDA
Why Operating System ? • Stand alone Computer …. FOR WHAT ???
Is an OS essential? • Not Necessary • If OS is not available, application code is responsible of conducting duty of OS( Memory Management, Resource Allocation etc) • It is Good Approach to have OS, • this will allow individual programs to perform specific task not to waste time in writing code for management task i.e. • Resource Allocation • Memory management • Manage I/O
Career Avenues • Software Developer, System Architect, Program Manager • RedHat, IBM, Microsoft, Google, Apple, Ubuntu, Solaris • Courses available on Unix, Linux, are major widely recognized by IT industry..
Career Avenues…. • Emerging trend of free OS like Linux, Google Chrome has increased professionals demand • Mobile devices i.e Cell phones, Tablets & Phablets have revolutionized demand of OS, Product i.e. Google’s Android , Apple’s iOS, Blackberry’s RIM are offering huge opportunity for developers. Advantages • Good salary • Innovation @ work Disadvantages • ERROR, can not afford !!!
Pre-requisite • Basic Knowledge of computer Terminology. • Basic Knowledge of Hardware devices.
Objectives Important Objectives of a Operating System are:
Learning Outcomes • Define Operating System • Functions of Operating System. • Evolution of Operating System. • System Components. • Understanding of OS Structure. • Operating System Services. • System Calls. • System Programs. • Virtual Machine
What is a system call? • It provide the interface between a running program and the operating system • Example:- writing a simple program to read data from one file and copy that to another file
Processor Modes • Modern processors typically can operate in 2 modes: "user mode" and "kernel mode " . • User mode • processor executes normal instructions in the user's program. • Kernel mode • processor executes both normal and privileged instructions • Processor can access additional registers and memory address space that are accessible only in kernel mode
Types of system calls • Process control • File operations • Device manipulation • Information maintenance • Communications
Process control:- • End, abort • Load, execute • Create process, terminate process • Get process attributes, set process attributes • Wait for time • Wait event, signal event • Allocate and free memory
File Management:- • Create file , delete file • Open , close • Read , write , reposition • Get file attributes , set file attributes
Device management:- • Request device , release device • Read , write , reposition • Get file attributes , set file attributes • Logically attach or detach device
Information maintenance:- • Get time or date , set time or date • Get system data , set system data • Get process, file, or device attributes • Set process , file or device atributes
Communication:- • Create , delete communication connections • Send , receive message • Transfer status information • Attach or detach remote devices
System calls System calls to the operating system are further classified according to the types of call:- • Normal Termination • Abnormal termination • Status Request • Resource Request • Input\ Output Request
System Programs • System programs provide a convenient environment for program development and execution • Some of them are simply user interfaces to system calls. The can be divided into: • File manipulation • Status information • File modification • Programming language support • Program loading and execution • Communication • Application programs
System Programs • File management: – Create, delete, copy, rename, print, dump, list, and generally manipulate files and directories • Status information:- • Some ask the system for info - date, time, amount of available memory, disk space, number of users • Others provide detailed performance, logging, and debugging information
System Program • File modification:- Several text editors may be available to create and modify the content of files stored on disk or other storage devices • Programming language support:- Compilers , assemblers , debuggers and interpreters for common languages(C, C++…..) are often provided to the user with the OS.
System Program • Program loading and execution:- Once a program is assembled or complied , it must be loaded into memory to be executed • Communication:- These program provide the mechanism for creating virtual connections among processes, users , and computer system(allow user to send message, transfer file from one machine to another) • Application program:-
Virtual Machines • A virtual machine takes the layered approach to its logical conclusion. • The fundamental idea behind a virtual machine is to abstract the hardware of single computer into several different execution environments , thereby creating the illusion that each separate execution environment is running its own private computer. • By using CPU scheduling and virtual memory techniques, an operating system can create the illusion that a process has its own processor with its own (virtual ) memory
Virtual Machines (Cont.) (a) Non virtual machine (b) virtual machine Non-virtual Machine Virtual Machine
Advantages/Disadvantages of Virtual Machines • The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated from all other virtual machines. This isolation, however, permits no direct sharing of resources. • A virtual-machine system is a perfect vehicle for operating-systems research and development. System development is done on the virtual machine, instead of on a physical machine and so does not disrupt normal system operation. • The virtual machine concept is difficult to implement due to the effort required to provide an exact duplicate to the underlying machine