CS252: Systems Programming Ninghui Li Final Exam Review.

Slides:



Advertisements
Similar presentations
Operating Systems ECE344 Midterm review Ding Yuan
Advertisements

Tutorial 5 Test1 Review. Q1: Which of the following is an operating system theme or model as defined in lectures?
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Cpr E 308 Spring 2004 Recap for Midterm Introductory Material What belongs in the OS, what doesn’t? Basic Understanding of Hardware, Memory Hierarchy.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Chapter 4: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads.
Review: Process Management Objective: –Enable fair multi-user, multiprocess computing on limited physical resources –Security and efficiency Process: running.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Precept 3 COS 461. Concurrency is Useful Multi Processor/Core Multiple Inputs Don’t wait on slow devices.
CMPT 300: Operating Systems Review THIS REIVEW SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
Concurrency: Mutual Exclusion, Synchronization, Deadlock, and Starvation in Representative Operating Systems.
CSE451 Section 6: Spring 2006 Web server & preemption.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
Client Server Design Alternatives© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid.
CS-3013 & CS-502, Summer 2006 Network Input & Output1 CS-3013 & CS-502, Summer 2006.
Race Conditions CS550 Operating Systems. Review So far, we have discussed Processes and Threads and talked about multithreading and MPI processes by example.
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
Phones OFF Please Processes Parminder Singh Kang Home:
1 Thread-specific Storage (TSS) Storage/space (a variable) per thread. –A variable is associated with a thread. –The per-thread variable is never touched.
I/O Systems ◦ Operating Systems ◦ CS550. Note:  Based on Operating Systems Concepts by Silberschatz, Galvin, and Gagne  Strongly recommended to read.
Socket Programming -What is it ? -Why bother ?. Basic Interface for programming networks at transport level It is communication end point Used for inter.
1 CS503: Operating Systems Part 1: OS Interface Dongyan Xu Department of Computer Science Purdue University.
Exam Review cs550 Operating Systems. Preliminary Information Exam will focus on new content, but old content is still fair game. Exam format will be the.
General What is an OS? What do you get when you buy an OS? What does the OS do? What are the parts of an OS? What is the kernel? What is a device.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CS252: Systems Programming Ninghui Li Based on Slides by Prof. Gustavo Rodriguez-Rivera Topic 10: Threads and Thread Synchronization.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
Chapter 3 Parallel Programming Models. Abstraction Machine Level – Looks at hardware, OS, buffers Architectural models – Looks at interconnection network,
Cpr E 308 Spring 2004 Real-time Scheduling Provide time guarantees Upper bound on response times –Programmer’s job! –Every level of the system Soft versus.
Chapter 1 Computer System Overview Sections 1.1 to 1.6 Instruction exe cution Interrupt Memory hierarchy Cache memory Locality: spatial and temporal Problem.
Threads.
Chapter 2 Applications and Layered Architectures Sockets.
The Socket Interface Chapter 21. Application Program Interface (API) Interface used between application programs and TCP/IP protocols Interface used between.
3.1 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8 th Edition Chapter 3: Processes.
CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
CS252: Systems Programming
414/415 Review Session Emin Gun Sirer. True/False Multiprogramming offers increased response time Instructions to access a raw disk device need to be.
CS252: Systems Programming Ninghui Li Based on Slides by Prof. Gustavo Rodriguez-Rivera Topic 11: Thread-safe Data Structures, Semaphores.
Discussion Week 2 TA: Kyle Dewey. Overview Concurrency Process level Thread level MIPS - switch.s Project #1.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
1 Rutgers UniversityCS 416: Operating Systems Final exam details December 22, pm-3pm. Venue: SEC 118. Tips: Spend time reading the questions before.
CS510 Concurrent Systems Jonathan Walpole. RCU Usage in Linux.
CS252: Systems Programming Ninghui Li Based on Slides by Prof. Gustavo Rodriguez-Rivera Topic 13: Condition Variable, Read/Write Lock, and Deadlock.
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
C H A P T E R E L E V E N Concurrent Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
Implementing Remote Procedure Call Landon Cox February 12, 2016.
Netprog: Client/Server Issues1 Issues in Client/Server Programming Refs: Chapter 27.
R Some of these slides are from Prof Frank Lin SJSU. r Minor modifications are made. 1.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Processes and threads.
Sarah Diesburg Operating Systems COP 4610
Processes and Threads Processes and their scheduling
Section 10: Last section! Final review.
ICS Principles of Operating Systems
Lecture 2 Part 2 Process Synchronization
Concurrency: Mutual Exclusion and Process Synchronization
Operating Systems Lecture 1.
CSE 333 – Section 10 Final Review.
February 5, 2004 Adrienne Noble
CSE 451: Operating Systems Autumn 2003 Lecture 7 Synchronization
CSE 451: Operating Systems Autumn 2005 Lecture 7 Synchronization
CSE 451: Operating Systems Winter 2003 Lecture 7 Synchronization
CSE 451 Section 1/27/2000.
CSE 153 Design of Operating Systems Winter 2019
CSE 542: Operating Systems
Sarah Diesburg Operating Systems CS 3430
Presentation transcript:

CS252: Systems Programming Ninghui Li Final Exam Review

Topic 1 Understand pointer usage and arithmetic &, *(p+i) Understand argument passing behavior (especially those involving pointers) 2d Array implementation Using function pointers in generic functions that deal with data of different types

Topic 2 Static vs. shared library Program sections: text, stack, heap, data, especially in the context of software security

Topic 3: Unix Systems Overview Hard link vs soft link Processes, setuid, how effective/real/saved uid changes

Topic 4: Regular Expressions Understand what kind of strings are matched by a regular expression Able to write a regular expression to match certain sets of strings

Topic 5: Unix Tools Know the basic functionality of the UNIX commands in the slides Shell programming not required for final exam.

Topic 6: Flex/Bison Nothing in particular required for final exam

Topic 7: Project 3 Write grammar for YACC. What is an open file object? What information does it include? What is the semantics for pipe, dup, dup2, especially how they affect the creation/deletion and reference count of open file object? How to implement pipe and redirection using pipe, dup, dup2?

Topic 8: Kernel Mode, System Calls, etc. User mode vs kernel mode Poling (synchronous) vs asynchronous

Topic 9: Processes and Scheduling What are non-preemptive scheduling and preemptive scheduling? What are the pros & cons of each? Which one is used in modern OS? How does the round robin scheduling work? How response time and overhead are affected by quantum length? What are factors for choosing quantum length? Response time, overhead, CPU burst distribution

Topic 10: Threads Why one wants to use multiple threads? What are the pros and cons of using threads vs. processes? What is an atomic section? Why does disabling interrupt ensure atomicity on a single CPU machine? What is a mutex lock? What is the semantics of lock and unlock calls on a mutex lock? How to use mutex locks to achieve atomicity?

Topic 11 How to implement recursive mutex locks (part of Project 4)? What is a race condition? (When given simple codes, should be able to come up with race condition scenario.) What happens when calling sem_wait(), sem_post? (Should be able to produce pseudo-code.) Different usage of semaphore when initiating it with different values. What are the key difference between binary semaphore and mutex lock? How to implement a synchronized list? Why we need both mutex and semaphore?

Topic 12 What are Condition Variables? What is the behavior of wait/signal on CV? How to implement semaphores using using CV and Mutex? How to implement bounded buffer using semaphores? What is a deadlock? How to prevent deadlocks by enforcing a global ordering of locks? Why this prevents deadlocks?

Topic 12 What are read/write locks? What is the behavior of read/write lock/unlock? How to implement R/W locks using semaphore? Why the implementation given in the slides can cause writer starvation? How to Implement a read/write lock where writer is preferred (i.e., when a writer is waiting, no reader can gain read lock and must wait until all writers are finished)?

Topic 13, 14 Nothing required for final exam

Topic 15 Packet switching networking Layered architecture (application, transport, network, link) Addresses & translation services MAC, IP, Domain names ARP and DNS Additional services of UDP over IP: port number Additional services of TCP over IP: port number Reliable (achieved using acknowledgement and retransmission), connection-oriented communication

Topic 16: Socket Programming Server calls: socket, bind, listen, and accept Behavior of accept, returns a new socket Client calls: socket, connect

Topic 17: Project 5 Implementing five types of server concurrency Iterative Server Fork Process After Request Create New Thread After Request Pool of Threads Pool of Processes

Topic 18: SQL Writing basic SQL SELECT queries SELECT … FROM … WHERE Joining tables when needed Using tuple variables when needed No need for DISTINCT, ORDER BY Give query result when given query and tables INSERT, DELETE not covered in exam

Topic 19: Software Security Able to identify the following vulnerabilities in code, and necessary inputs to exploit them Input validation, buffer overflow, format string, integer overflow Understand stack overflow exploit that overwrite return address to point to injected shell code, and return-to-libc attacks Understand basic idea and limitation of non- executable stack

Topic 20: Computer Security Basics Understand basic security goals: confidentiality, integrity, availability