COP4600 Midterm Exam Questions With 100% Correct Answers
COP4600 Midterm Exam Questions With 100% Correct Answers Chapter 4 - The Abstraction: The Process / Processes Process / Job - answerA running program. The abstraction provided by the OS of a running program. Virtualizing - answerThe process of running a virtual instance of a computer system in a layer abstracted from the actual hardware. Time Sharing (CPU) - answerBy running one process, then stopping it and running another, and so forth, the OS can promote the illusion that many virtual CPUs exist when in fact there is only one physical CPU (or a few). This basic technique allows users to run as many concurrent processes as they would like; the potential cost is performance, as each will run more slowly if the CPU(s) must be shared. The basic idea is simple: run one process for a little while, then run another one, and so forth. By time sharing the CPU in this manner, virtualization is achieved. Space Sharing (CPU) - answerWhere a resource is divided (in space) among those who wish to use it. For example, disk space is naturally a spaceshared resource; once a block is assigned to a file, it is normally not assigned to another file until the user deletes the original file. Mechanisms - answerLow-level methods or protocols that implement a needed piece of functionality. Context Switch - answerA time-sharing mechanism employed on all modern OSes. It gives the OS the ability to stop running one program and start running another on a given CPU Policies - answerAlgorithms for making some kind of decision within the OS. For example, given a number of possible programs to run on a CPU, which program should the OS run? A scheduling policy in the OS will make this decision, likely using historical information (e.g., which program has run more over the last minute?), workload knowledge (e.g., what types of programs are run), and performance metrics (e.g., is the system optimizing for interactive performance, or throughput?) to make its decision. Machine State - answerWhat a program can read or update when it is running. At any given time, what parts of the machine are important to the execution of this program? Memory - answerA component of machine state that comprises a process. Instructions lie in memory; the data that the running program reads and writes sits in memory as well. Thus the memory that the process can address (called its address space) is part of the process. Address Space - answerThe memory that the process can address. Registers - answerPart of the process's machine state. Many instructions explicitly read or update registers and thus clearly they are important to the execution of the process Program Counter (PC) / Instruction Pointer (IP) - answerA special register that form part of a machine state. Tells us which instruction of the program will execute next. Stack Pointer & Frame Pointer - answerUsed to manage the stack for function parameters, local variables, and return addresses. Modularity - answerA general software design principle. A common design paradigm to separate high-level policies from their low-level mechanisms. Separating the two allows one easily to change policies without having to rethink the mechanism and is thus a form of modularity. Process API - answerCreate: An operating system must include some method to create new processes. When you type a command into the shell, or double-click on an application icon, the OS is invoked to create a new process to run the program you have indicated. Destroy: As there is an interface for process creation, systems also provide an interface to destroy processes forcefully. Of course, many processes will run and just exit by themselves when complete; when they don't, however, the user may wish to kill them, and thus an interface to halt a runaway process is quite useful. Wait: Sometimes it is useful to wait for a process to stop running; thus some kind of waiting interface is often provided. Miscellaneous Control: Other than killing or waiting for a process, there are sometimes other controls that are possible. For example, most operating systems provide some kind of method to suspend a process (stop it from running for a while) and then resume it (continue it running). Status: There are usually interfaces to get some status information about a process as well, such as how long it has run for, or what state it is in. Load - answerThe first thing that the OS must do to run a program is to load its code and any static data (e.g., initialized variables) into memory, into the address space of the process. Disk / Disc / Flash-Based SSD - answerWhere a program initially resides in some kind of executable format. The process of loading a program and static data into memory requires the OS to read those bytes from disk and place them in memory somewhere.
École, étude et sujet
- Établissement
- COP4600
- Cours
- COP4600
Infos sur le Document
- Publié le
- 5 juin 2024
- Nombre de pages
- 23
- Écrit en
- 2023/2024
- Type
- Examen
- Contient
- Questions et réponses
Sujets
-
cop4600 midterm exam questions with 100 correct a