1 / 22

Operating systems – ICOM 5007

Operating systems – ICOM 5007. Webpage - http://ece.uprm.edu/~noack/icom5007 Includes Project Labs Standard methodology – lectures and exams. Purpose and Objectives. Purpose:

Pat_Xavi
Download Presentation

Operating systems – ICOM 5007

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating systems – ICOM 5007 Webpage - http://ece.uprm.edu/~noack/icom5007 Includes Project Labs Standard methodology – lectures and exams ICOM 5007 - Noack

  2. Purpose and Objectives • Purpose: • To introduce the principal concepts of operating systems and to give experience in programming concurrent processes as used in developing operating systems • Objectives: • After completing this course you should be able to: • Understand the basic concepts of operating systems and concurrent interacting processes • Be able to use these concepts either in programming operating systems or in designing and implementing other systems using concurrency ICOM 5007 - Noack

  3. The ABET outcomes for ICOM 5007 • Understand the five resource types of an operating system • Analyze the differences between Linux and Windows operating system structure • Analyze the organization of Linux source code and describe how it accomodates various platforms and I/O devices • Program and analyze performance of representative concurrency examples • Relate memory management techniques to process structure and reliable OS functioning • Analyze a typical device driver, understanding methods to link it to the OS as a whole • Program a threaded application in a language supporting monitors such as Java • Relate system security aspects to OS internals • Analyze malware and hacking attacks as they relate to OS • Define, implement and test a significant OS project • Coordinate group accomplishment of the project • Prepare and give oral and written project reports ICOM 5007 - Noack

  4. Operating Systems - Administrivia • Prontuario - Please time-share and ask questions • Info is in my homepage http://ece.uprm.edu/~noack • Make bookmark for ICOM5007 • Page contains • prontuario • Links to old exams and labs • Links to author’s webpage and resources • Links to current assignments, writeups, and slides as developed • Course includes • Exams and lecture material • Lab work • Project (described in course page) • Lab • Partly in OS/Networking lab • Individual programs, often using Linux source or Java threads ICOM 5007 - Noack

  5. More Administrivia • Office hours: • Tuesday, Thursday 9:00 am – 10:30 am, 12:30 pm – 2:00 pmAlso I am often available in the universal hour Tuesday and Thursday 10:30 am – 12:30 pm • For in-office consultation I suggest calling on X3652 or emailing and will normally see you any time I am in the office).  • I will answer questions after class or between classes in the classroom, but not when it interferes with the next class given by another professor. • Email is often the best way to resolve detailed or short questions. I am easily available by email, even at odd times such as evenings and weekends. ICOM 5007 - Noack

  6. More Administrivia • Save a tree. • Except for exams, the prontuario is the last piece of paper to be passed out in class. • All other material will be distributed through my web page http://ece.uprm.edu/~noack. You are responsible for checking this page at least once per week, and when changes are announced in class • Similarly, homework and projects are to be handed in as email enclosures and not hardcopy. • Exams • The exams will be held from 7:30-9:30 PM, February 17, March 17, and April 28, in S-227 or S-228, or S-229. • If you have a conflict with a regular class or with an exam announced before this document is distributed please contact me. If an exam is announced for another class after this date, the other instructor is responsible for resolving the conflict. • One compensatory free period will be given for each night exam. ICOM 5007 - Noack

  7. Operating Systems - More Trivia • Lab instructor – to be announced • Projects • Info on course page • Try to form groups soon - three or four people • Project can be: • Device driver or module • Operating system utility • Operating system modification/improvement • More information on course page ICOM 5007 - Noack

  8. More Administrivia • New textbook edition appeared in December 2007 • Do not buy the second edition (dark blue book) • The older edition was six years old – good but outdated • Link to the text page “coming soon to your neighborhood” • Email addresses and project names • Please send an email with your name • When you form a project group please give it an easily recognizable name – put that name as part of any file you email. Also, send an email with the project name and copy it to all the group members • In any document you turn in please put all your names and email addresses – that allows me to put comments in the document and return them in email. • Be kind to trees – use email, not paper. ICOM 5007 - Noack

  9. Operating Systems - Basics • An OS is a program that controls and shares the • resources of a computing system, which are: • CPU time (or allotment in distributed systems) • Memory allocation and swapping to background • I/O device handling - the dirty details • File systems • Network devices, layers and protocols • An OS is (after initial setup) an interrupt-driven program • Interrupts may come from: • I/O devices • Timer interrupts - time slicing and hangup recovery • Software interrupts - system call mechanism ICOM 5007 - Noack

  10. Operating Systems - Structures • Monolithic • One big complicated layer between users and hardware • Unix is a typical monolithic system • Layered - with microkernel • Example - Mach contains • Processes • Threads • Messages • Memory blocks • and everything else is implemented in higher layers using these highly protected basics • Virtual Machine • VM360 (IBM) is an example • The virtual machine layer is: • between hardware and client machines • emulates a separate machine for each user session ICOM 5007 - Noack

  11. The basic layered structureof all operating systems Application layer System call interface Operating system Hardware/software interface Hardware components The concentric shell picture Layers – as usually drawn ICOM 5007 - Noack

  12. More OS Structures • The main OS program is often called the kernel • The Kernel • operates in privileged mode • contains the device drivers and modules • contains process, memory and file management • is protected by the system call interface - the INT instruction in 80x86 architecture • The system call interface • Is implemented by the INT (in i386) or similar instruction • Is used when a user program makes a system call • Is the transition from user to kernel mode • Keeps users from running kernel code ICOM 5007 - Noack

  13. Monolithic operating system structuree. g. Unix/Linux Application layer System call interface Process handling File system routines Memory management Intermediate routine Device driver Device driver Hardware ICOM 5007 - Noack

  14. Microkernel-based systeme. g. Mach (used for distributed systems) Application layer Outer kernel I Could be Posix Compliant layer Outer kernel II Could be VMS emulator Outer kernel III Experimental OS? Microkernel layer Hardware entities (can be several) ICOM 5007 - Noack

  15. User I Application layer User II Application layer User III Application layer Kernel image For User I Kernel image For User II Kernel image For User III Virtual machine systemVM – first secure OS for IBM 360/370 Virtual machine layer Hardware ICOM 5007 - Noack

  16. Inside Windows 2K ICOM 5007 - Noack

  17. Inside the Linux kernel ICOM 5007 - Noack

  18. The shell is not the kernel • The shell is an ordinary user program • It operates by creating processes that in turn do system calls or run programs • It is the equivalent of COMMAND.COM in MS/DOS • Shell programming is possible and is often done in OS utilities • Extensions of shell programming include: • PERL • awk and sed • ksh, csh, bash and other enhanced shells ICOM 5007 - Noack

  19. The standard lies of OS • There is a separate processor for each process • The CPU is time-shared • You really have all that memory • Memory is loaded only when needed - demand paging • You are really doing all those disk operations • The operations are done when and if the OS pleases - the disk block cache idea • That remote file system is really there • Remote file system utilities are a little unpredictable • The OS is really secure • Ask the big kids ICOM 5007 - Noack

  20. Concurrency • The theoretical core of OS • An OS creates a set of processes that run concurrently • A process is like a person - it has • a stream of consciousness • possessions - memory, files, data • is created, reproduces, dies • interacts with other processes • In actuality, it is a program in execution • Concurrent process misbehaviors • Race conditions - unpredictable results because processes simultaneously modify data or devices • Deadlocks - Each has what the other wants, nobody gets anywhere • Starvation - some processes go hungry - others eat well ICOM 5007 - Noack

  21. Some operating system ideas • Everything is a file - even devices • This allows a program to work with human input, or a device, or a temporary or permanent file or even a network connection • The file system provides access control for devices also – protects raw disk operations from users • Interrupt-driven behavior • Example - windows - process is simultaneously sensitive to events from mouse, keyboard, process subsystem, and window manager • Caching - Foreground and background copies • Used in • Cache memory • Swapping • The disk block cache - recent transactions are in memory • Networking utilities • Advantage – operations take place at memory speeds ICOM 5007 - Noack

  22. What is changing in OS • Applications • More varieties of systems now need OS • Embedded systems • Mobile computing (cellphones, PDA’s • Desktop systems • Servers and small enterprise systems • Large distributed systems • Hardware • Multicore processors • Gadgets • Mobile computing (usually wireless) • Server complexes • Large distributed and redundant systems ICOM 5007 - Noack

More Related