COSC 4330 FINAL Name: _______________________ Closed Book. You can have one sheet of notes. 1. Answer the following questions in one or at most two sentences: (6*5 points) a) What is the purpose of the dirty bit in virtual memory systems? THE DIRTY BIT KEEPS TRACK OF ALL PAGES THAT HAVE BEEN MODIFIED SINCE THEY HAVE BEN BROUGHT INTO MAIN MEMORY. THESE "DIRTY" PAGES NEED TO BE WRITTEN BACK TO DISK WHEN THE PAGE IS EXPELLED FROM MAIN MEMORY. b) What is the major disadvantage of linked allocation for storing file blocks on disk? WITH LINKED ALLOCATION, IT IS IMPOSSIBLE TO ACCESS A GIVEN LOCATION IN THE FILE WITHOUT TRAVERSING THE LINKED LIST OF BLOCKS. HENCE DIRECT ACCESS BECOMES TOO SLOW TO REMAIN PRACTICAL. c) What is the difference between little endian and big endian computer architectures? THE WAY BYTES ARE ORDERED WITHIN WORDS. d) Give one example of starvation without deadlock. SOME SOLUTIONS TO THE READERS AND WRITERS PROBLEM WILL PREVENT WRITER PROCESSES TO ACCESS THE SHARED DATA WHILE THERE IS A CONTINUOUS FLOW OF NEW READER PROCESSES. e) What is the major disadvantage of letting the kernel handle TLB misses? TLB MISSES ARE BECOMING MUCH COSTLIER: TWO CONTEXT SWITCHES INSTEAD OF AN EXTRA MEMORY ACCESS. f) What is the major limitation of semaphores? THEY ARE LOW-LEVEL CONSTRUCTS AND DO NOT PROTECT DATA AGAINST PROGRAMMER'S ERRORS. 2. A computer has 256 Megabytes of main memory, 32 bit addresses and a page size of two kilobytes. (2*5 points) a) How many page frames are there in main memory? 256 MB / 2 KB = 128 PAGE FRAMES (THE ADDRESS SIZE IS IRRELEVANT.) b) On the average, how much memory is lost to internal fragmentation? HALF A PAGE THAT IS 1 KB __ per process 3. Explain why deadlocks occurring in client/server systems cannot be prevented. (5 points) BECAUSE YOU CANNOT DENY ANY OF THE FOUR CONDITIONS FOR DEADLOCKS: -- CANNOT GIVE ACCESS TO A MESSAGE THAT IS NOT SENT -- CANNOT FORCE A PROCESS TO SEND MESSAGES -- CANNOT FORCE PROCESSES TO GET HOLD OF ALL THE MESSAGES THEY WILL RECEIVE BEFORE STARTING -- CANNOT IMPOSE A LINEAR ORDERING ON MESSAGES IN CLIENT/SERVER SYSTEMS 4. Describe the page replacement policies of VMS and Mach. (10 points) What are their respective strong points (2*5 points) SINCE IT ALLOCATES A FIXED PARTITION TO EACH PROCESS, VMS HANDLES VERY WELL REAL-TIME PROCESSES. SINCE MACH DOES NOT DO IT, IT IS MUCH EASIER TO TUNE. 5. Explain the differences between an access control list and a ticket (2*5 points) and give examples of both in the UNIX file system. (2*5 points) AN ACCESS CONTROL LIST ENUMERATES WHO CAN DO WHAT WITH AN OBJECT. A TICKET GIVES TO THE PROCESS OWNING THE TICKET A SPECIFIC RIGHT TO ACCESS THE OBJECT. IN UNIX, -- EACH FILE HAS A FIXED SIZE ACCESS CONTROL LIST WHERE ONE CAN SPECIFY THREE CLASSES OF USERS (OWNER, ALL MEMBERS OF ONE OF THE GROUPS SPECIFIED IN /ETC/GROUPS, ALL USERS) AND Three ACCESS RIGHTS (READ, WRITE AND EXECUTE), -- ONCE A FILE HAS BEEN OPENED, THE FILE DESCRIPTOR ACTS LIKE A TICKET TO THE FILE. 6. What is thrashing and what should we do to avoid it? (10 points) THRASHING IS WHAT HAPPENS WHEN A VIRTUAL MEMORY SYSTEM BECOMES OVERLOADED AND THE SYSTEM THROUGHPUT FALLS DOWN BECAUSE THE SYSTEM SPENDS NOW MOST OF THIS TIME MOVING PAGES IN AND OUT MAIN MEMORY. TO VOID THRASHING, WE NEED TO MONITOR THE PAGE FAULT RATE AND SUSPEND ONE OR MORE PROCESSES WHENEVER THERE IS NOT ENOUGH PHYSICAL MEMORY FOR ALL OF THEM. 7. What is the difference between a notify and a signal? (5 points) A MONITOR PROCEDURE THAT ISSUES A NOTIFY() WILL NOT RELEASE THE MONITOR WHEN THERE IS ANOTHER PROCEDURE WAITING ON THE CONDITION THAT wAS NOTIFIED --IMPORTANT----IMPORTANT----IMPORTANT----IMPORTANT----IMPORTANT-- Please do not try to answer these questions by yourself BEFORE having a clear idea of what's on the test for which you are studying. Materials covered in each test DO VARY from semester to semester because the pace of the course can change, some materials are be added and other deleted almost every semester. ----------------------------------------------------------------