1 / 44

Welcome CSCI530-1810 Professor David Saloman

Welcome CSCI530-1810 Professor David Saloman. Instructor: Professor David Saloman E-mail: 1 dsaloman.faculty@unva.edu 2 davidsaloman@hotmail.com

addo
Download Presentation

Welcome CSCI530-1810 Professor David Saloman

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. Welcome CSCI530-1810 Professor David Saloman

  2. Instructor: Professor David Saloman E-mail: 1 dsaloman.faculty@unva.edu 2 davidsaloman@hotmail.com SUBJ: CSCI530-section year term (I require you use this subject format) CSCI530 Operating Systems

  3. CSCI530 Operating Systems Operating System is a set of software modules that provide a layer of interface between user application and computer hardware, and coordinate the sharing of computer hardware resource among all the applications within the computer system.

  4. Basic Requirements: Prerequisite: CSCI512 Computer Architecture Programming: C or another major lang. OS Experience: minimal Unix/Linux, shell, Windows

  5. Textbook and Reference 1. Operating Systems: Internal and Design Principles, William Stallings, 4th to 6th ed., Published by Prentice Hall, 2000-2006. ISBN: 0-13:978-0-13-600632-9 for 6th) 2. The two PDF files on Window 2000 and Unix from the website: http://www.williamstallings.com

  6. 3 Class Notes distributed weekly before each class 4 Other supplemental materials on C and Unix Shell programming will be available when project is assigned 5 Reference: see Syllabus

  7. A. understand the basic concepts and mechanisms that OS manages process, memory, I/O, file system, and security (local host and network) B. be able to distinguish kernel, server, and utility in an OS product C. be able to understand and distinguish process and thread Objectives

  8. D. distinguish system call, API standard library call, and user defined function call E. hand-on experience on: process generation, execution; implementation of mutual exclusion through monitor, semaphore, or message passing Objectives

  9. F. observe interleave of multi-tasking through multi-process program G. observe and understand thread generation, execution, implementation of mutual exclusion through (Java) monitor H. hand-on experience on message passing among processes local & remote Objectives:

  10. I. understand Client-Server architecture, Remote Procedure Call and TCP/IP stack in OS, server clustering J. be able to develop basic Unix shell for file and process management K. be able to use basic utility such as vi, grep, make, gcc, kill, truss, ps, top, ipcs, ipcrm, ping, netstat, nmap, snoop,etc.

  11. L. learn how to do professional research through literature review M. understand the advantage and disadvantage of public key cryptography and shared key cryptography

  12. Two Exams: Midterm 6th week Final 12th week Open Book; True/False, multiple choice, short answer.

  13. List of materials in Web site (see the Syllabus ) .Fill the Academy Background Survey All email to davidsaloman@hotmail.com MUST add subject as “Year: Term: CSCI530:Section# ” Example: “ 2010 Winter CSCI530-105: subject key words”. Same format for assignment doc submitted to me Administration (1)

  14. Letter grade will be assigned to each student based on a mathematical calculation of the points earned on these projects and examinations. The weight ratio are: Quiz + Assignment + HW……..… 30% Midterm ……………… 35% Final …………….. 35% Administration (2): Grading Formula

  15. Programming projects are for student to learn key OS concepts through hands-on experience, the following project will be demonstrated or assigned : Generate multi-process and observe multitasking 2 Generate and observe multithreading Administration (3): Programming Assignment

  16. Create shared memory and observe race condition Use semaphore to enforce mutual exclusion Use monitor to enforce mutual exclusion 6 Use message passing among multiple processes for mutual exclusion or communication

  17. Ch.1-2: Computer Overview and OS Overview Ch. 3-4: Process, Thread Ch. 5: IPC, Concurrency, Synchronization Ch. 7-8: Virtual Memory (option) Ch. 11-12: I/O and File System (option) Ch. 13: Distributed Computing Ch. 15: Host and Network Security Course Content Outline

  18. Session 1 Discussion of Syllabus. Student academic background survey Computer Architecture and Operating System Overview, Course Overview, Interrupt, Layered Memory, I/O; Distinguish Kernel, Server, and Utility Research Paper Assignment Class Schedule, Topics

  19. Session 2 Multi-programming, Process State and Process Image, Unix/Linux Basic and Programming (in C, Shell) Program Assignment 1 on fork system call (independent) Session 3 Thread and Process, Concurrency and Mutual Exclusion

  20. Session 4 Semaphore, Monitor, Local and Remote Message Passing Program Assignment 2 on shared memory and race condition in C Demo 1: multitasking and instruction execution interleave in C

  21. Session 5 Message Passing, Distributed System and Processing, TCP/IP stack. and Computer Network Midterm Demo 2: Multithread and synchronization by monitor (in Java)

  22. Session 6 Client-Server, RPC, Middle-ware, Networking Operation System and NT/Window 2000 Program Assignment 3 on message passing Demo 3: Remote Procedure Call (Java RMI)

  23. Session 7 Virtual Memory, I/O Buffering, File System, Host and Network Security Tech Review Paper due Demo 4: message passing Demo 5: mutual exclusion through semaphore in C ( optional )

  24. Session 8 Networking Security, Unix Shell Programming, Some Advanced Topics on Window NT and UNIX, OS Review and Course Review Final Student Research Paper Presentation

  25. Special Purpose OS: . PDA kernel . Cellular, Digital Equipment, etc ( Firmware) General Purpose OS: . DOS, OS/2, Window/NT . Linux, Unix, FreeBSD, . Mainframe OS Overview

  26. Three functional components of a General OS Product: Kernel Utility Server Textbook refers OS as kernel only. Distinguish this will help understand the interface. Client-Server and Peer 2 Peer structure. General OS: Three Components

  27. 1 Kernel: the most generic OS functions that manage . Process/thread administration . File system (local security) . Memory system and management . CPU processor scheduling . I/O (include network, network security) system System Call: a function call request kernel to do generic work for application. Read /Write from/to socket/disk/keyboard file Receive/Send from/to

  28. 2 Utility: the user interface layer and programming environment, tools that help access/invoke/trigger kernel functions: . Shell (command interpreter), . host admin tools ( TaskManager) or commands, local or network (ps, ping, kill) . API, compiler, browser (http client) Oracle db client, etc. . Office tools (MS Word, Excel, PPT,Outlook, etc)

  29. Server: standard client-server protocol based application provide service to remote clients from same or different OS and of different programming language: FTPD ( file transfer), TELNETD, SSHD(secure shell), HTTPD (web),NFS (file), DNS (domain), TIME, STMP(Mail server), Oracle DB, SQL Server, LDAP (Lightweight Directory Access Protocol )server...

  30. Review of Slide No. 2 of Session 1 Part 1 : OS plays two roles (two sides of one coin) Vertically, as a layer of interface between user application and computer hardware Horizontally, as a coordinator of the sharing of computer hardware resource among all applications OS Roles

  31. Resource allocation and coordination what are the major resources? CPU: 1 to n processors Memory: layered memory: cache, main memory ( system buffer, kernel and user stack) virtual memory I/O: disk file system, network interface, socket, hard drive, CD drive, tape display devices, keyboard, printer, etc. OS: A Resource Coordinator (1)

  32. Who use the resource? Agents. Agents: those entities who use the above computer resources. Such as processes, threads, applications, tasks, users, jobs, software, service, etc Application -> process-thread: Substance -> molecular-atom OS: A Resource Coordinator (2)

  33. . Agent use more than one type of resource: I/O resource and Memory resource . More than one agent use the same type of Resource: process A and process B compete for memory . More than one agent use the same resource: WiFi, Modem-Dial up, LAN, multiple network I/O interface each can be shared by web based application . Resource Sharing Complexity:

  34. . Each Resource is limited (memory space, network I/O bandwidth, number of processor, etc) . Computer Resource is shared among “agents”. . Processes as “live” agents will compete with each other to use all these limited resource.

  35. Resource Sharing Complexity: A General OS MUST supports: multi-processes application, multi-thread application, multi-applications, multi-users concurrently

  36. . How to share? Priority (Flexibility) and Fairness (Queue) ( later we can address efficiency, security, scalability, reliability…..) OS: A Resource Coordinator (3)

  37. CPU (processor): timer ( time slot allocated to each agent), interrupt, context switch Memory: process paging, swap, memory framing, I/O block I/O Devices: queue and lock

  38. Two Basic Queue Control Methods: 1 Busy-wait 2 Sleep-and-wake up

  39. Important Remark on Security: OS also need check the access permission /right of an agent to a particular type of resource OR a portion of that resource when OS is doing the queue control . Later, we talk about secure ( safety), scalability, efficiency

  40. Distinguish the entities within a computer system: Resource usually is static. It has capacity limitation, performance concern, and security issue Agent is a dynamic entity. It has a life cycle, come and go, use resource and release it OS: A Resource Coordinator (4)

  41. 2010 Summer Term Paper • LAMP technology (Linux, Apache, MySQL, PHP) • WAMP Window version of LAMP • Software Test/QA technology, test strategy, type of test, test plan and test case development. Case Study

  42. DNS ( Domain Name Service) • IP Management (IPv6) • DNSSEC ( DNS Security Extension) • Web Service is a technology (J2EE , .NET) • SOA is concept, framework • Cloud Computing

  43. Why software test is a creative job? X brains/developers did the dev work, with average IQ=90% Y brains/users use the software to serve real world scenarios Z, with average IQ=75% W testers tested the software with IQ=90%, and test U You can still find bug in real world

  44. Why? X >>W Y >> X, Y>>U Z >> X*Y*W*U Conclusion: It is never enough to do a test with case number =U Test/QA is endless work with your creative imagnation

More Related