CS40 Midterm Part I

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

What are the 4 aspects of Information Protection and Security?

1. Availability 2. Confidentiality 3. Data integrity 4. Authenticity

OS Objective

1. Efficiency 2. Convenience 3. Ability to evolve

Hardware features desirable during batch OS and monitor are?

1. Memory protection: While user program is executing, it must not alter the memory area containing the monitor. Batch OS, processor time alternates between execution of user program and monitor. 2. Timer: prevents a single job from monopolizing the system. 3. Privileged instructions: certain machine level instructions are designated and can be executed only by the monitor. (kernel mode/ user mode) 4. Interrupts: Gives OS more flexibility in relinquishing control to and regaining control from user programs

What were the developments leading to modern OS's?

1. Microkernel architecture: 2. Multithreading 3. Symmetric Multiprocessing 4. Distributed OS 5. Object Oriented Design Most OS's until recently feature monolithic kernel (implemented in a single process) with all elements sharing the same address space. - A microkernel architecture assigns only a few essential functions to the kernel including address spaces, interprocess communication (IPC) and basic scheduling. Other OS services are provided by processes, sometimes called servers that run in user mode. This decouples the kernel and server development. - Multithreading is a technique in which process, executing an app is divided into threads that can run concurrently. -- Thread: dispatch-able unit of work, includes a processor context, (which includes the PC, and stack pointer). A thread executes sequentially and is interruptible so that the processor can turn to another thread -- Process: Collection of one or more threads, and system resources. This corresponds closely to the concept of a program in execution. By breaking a single application into multiple threads, the programmer has control over modularity of the app and timing of app related events. -- Symmetric multiprocessing (SMP) refers to hardware architecture, and also to the OS behavior that exploits that architecture. The OS of an SMP schedules processes or threads across all processors affecting uniprocessor architecture in a. performance, b. availability, c. incremental growth, d. scaling.

Describe the monitor and processor points of view from Simple Batch System

1. Monitor point of view: controls sequence of events and so then monitor must always be in main memory and available for execution aka resident monitor. Remaining consist of subroutines and utilities required. It performs a scheduling function, and setup. Instructions are are included in a JCL (job control language) special kind of lang to provide instructions to the monitor. 2. Processor point of view: A processor is executing instructions from portion of main memory containing the monitor. These instructions cause another job to be loaded into another portion of main memory. Once read, a processor will encounter a branch instruction in monitor instructing processor to continue execution at the start of the user program. It's either fetching and executing from the user program OR the monitor.

What are the 5 principle storage management responsibilities of Memory Management?

1. Process isolation: the OS must prevent indie processes from interfering with each other's memory both data and instructions 2. Automatic allocation and management: Programs should be dynamically allocated across memory hierarchy as required. Thus the programmer can be relieved of concerns relating to memory limitations. 3. Support of modular programming: Programmers should be able to define module, and create, destroy, alter size of modules. 4. Protection and access control: Sharing of memory, at any level of memory hierarchy, creates potential for one program to address memory space of another to allow sharing but other times this can be threatening. 5. Long-term storage: Many app programs require means for storing and information for extended periods of time after computer has powered down. - Typically OS meets these requirements with virtual memory.

What were the 4 major achievements of OS's

1. Processes 2. Memory Management 3. Information protection and security 4. Scheduling and resources management

OS as a User /Computer Interface

1. Program development, 2. Program execution, 3. Controlled Access to files, 4. Access to I/O devices, 5. Error detection, 6. Accounting, 7. ISA (instruction set architecture), 8. ABI (application binary interface), 9. API

Two main problems of Serial Processing

1. Scheduling: resulted in wasted processing time 2. Setup time: If error occurred during setup of mounting or dismounting tapes or card decks, this caused lots of wasted time. This was when users would have to access to the computer in series.

Evolution of the OS

1. Serial Processing (a. scheduling b. setup time) 2. Simple Batch Systems 3. Multiprogrammed Batch Systems 4. Time Sharing Systems

A process consists of which 3 components:

1. executable 2. associated data needed by the program 3. execution context of the program - the execution context or process state, is the internal data by which the OS is able to supervise and control the process. The context includes all of the information that the OS needs to manage /execute the process, holds various process registers (process index), such as the PC (points to next instruction) and data registers (base and and limit registers define region in memory occupied by the process), plus priority of process, and whether process is waiting on an I/O event. - process is realized as a data structure, either is awaiting execution or executing. - base register is the starting address of the region in memory and the limit is the size of the region in bytes or words - PC and other data references are interpreted relative to the base register, and must not exceed the value in the limit register. - a thread is a single process

What is virtual memory?

A facility that allows programs to address memory from a logical point of view, without regard to the amount of main memory physically available. Thus, met from having multiple users jobs reside in main memory concurrently, so that there would not be a hiatus between the execution of successive processes while one process was written out to secondary store and the successor process was read in. Because processor switches among a # of processes it is difficult to pack them compactly into main memory. - Paging systems were introduced which allow processes to be comprised of a # of fixed sized blocks called pages. - A program references a word by means of virtual address consisting of a page number and an offset within a page - Each page of a process may be located anywhere in main memory - The page system provides for a dynamic mapping between the virtual address used in the program and real address in main memory.

ABI

Application Binary Interface: Defines a standard for binary portability across programs, defines the system call interface to the OS & hardware resources & services available in a system through user ISA.

Describe the Multiprogrammed Batch System

Even with batch OS the processor is often idle, so to combat that, the approach is multiprogamming or multitasking. Relies on hardware such as the I/O interrupts, and DMA (direct memory access). These are sophisticated OS's where several jobs are ready to run, they must be kept in main memory, with memory management, and decisions on which to run using an algorithm.

When a processor is executing some its pages are in main memory... how is virtual memory then implemented?

If a reference to a page that is not in main memory, the memory management hardware detects this and arranges for missing page to be loaded. This is referred to as virtual memory. Figure page 66 shows "Disk" or "Secondary memory" can hold many fixed pages. A user program consists of some # of pages. Pages for all programs plus the OS are on disk, as are files.

Of the 4 achievements describe "Processes"

Includes: 1. program in execution 2. instance of a program running on a computer 3. entity that can be assigned and executed on a processor 4. unit of activity characterized by a single sequential thread of execution, state, and associated set of system resources

Describe the Time-Sharing Sytems

Just as multiprogramming allows the processor to handle multiple batch jobs at a time, multiprogramming can also be used to handle multiple interactive jobs using a technique called time sharing. Because processor time is shared among users, here, multiple users simultaneously access the system through terminals with the OS interleaving execution of each user program in a short burst or quantum computation. Both batch processing and time sharing use multiprogramming: 1. Batch Multiprogramming - objective: maximize processor use - source: JCL 2. Time Sharing - objective: minimize response time - source: commands at terminal

OS as a Resource Manager

Kernel/nucleus: A portion of the OS is in main memory, this includes the kernel, which contains most frequently used functions in the OS.

Describe the Simple Batch System

To improve utils batch OS scheme was developed which used a piece of software called a monitor. Here the user no longer has direct access to the processor instead, user submits job on cards or tape to a batch on an input device for use by monitor.


Kaugnay na mga set ng pag-aaral

Chapter 41 Drugs for peptic ulcer disease

View Set

HIST 1301 Final Exam Questions 20-30

View Set

Linear Equations in Standard Form

View Set

Diagnostic Imaging_01, Diagnostic Imaging_Lecture 02_Spine 1 and Spine 2, Diagnostic Imaging_Lecture 03_Chest and Thorax, Diagnostic Imaging_Lecture 02, Diagnostic Imaging_03 Back Pain, Diagnostic Imagining_20161116_Knee, Diagnostic Imaging_Imaging o...

View Set