ITE 221 Test 3
What is a file allocation table?
File Allocation Table (FAT) is a data structure used in MS-DOS and early Microsoft Windows versions to record the allocation of storage device locations to files and directories.
Chapter 12
File Management Systems
What is the file control layer?
File control layer provides a set of service functions for manipulating files and directories.
What is a function call?
Function call is a statement to process a named segment of a high-level language program that is always executed as a unit.
What are some of the functions of an operating system?
Interfacing with the hardware/devices Supervising Processing and Interrupts Allocating resources Providing Services Managing users and security
Describe Scripting Language
Interpreted execution with very high instruction explosion used mainly for web apps.
What is an interpreter?
Interpreter is a program that translates and executes source code instructions that interleaves instruction translation and execution.
What is the difference between an interpreter and a compiler?
Interpreter is a program that translates and executes source code instructions that interleaves instruction translation and execution. Compiler is a program that translates high-level programming language source code instructions into object code.
What levels of access rights can exist for a file?
It depends on the OS. Unix uses Read, Write, and Execute. Windows NTFS permissions are much more complex and use access control lists (ACL) to allow certain groups and users special permissions to allow or deny things like deleting files, creating files and folders, restricting views, creating or deleting subfolders, and so on.
What is a design model?
It includes software feature and functionality requirements and specifications. It serves as a blueprint and roadmap for implementation.
What is the function of a link editor?
It searches object code for external function calls.
What is Java bytecode?
Java bytecode is the instruction set of the Java virtual machine (JVM). Each bytecode is composed of one, or in some cases two bytes that represent the instruction (opcode), along with zero or more bytes for passing parameters.
What are some Object-Oriented Languages?
Java, C++, C#
Which programming languages fit into 5GL?
Lisp and Prolog
What is the difference between a logical record and a physical record?
Logical record is the record formatted and described in terms of logical file structure.
What's the difference between the logical and physical structure of a file? What are the advantages of not having an application program interact directly with the physical file structure?
Logical usually has to do with software interpretation of storage data and physical usually has to do with "real" hardware. By having the system software use the logical instead of physical structures the OS can access a volume that takes up just a portion of one or spans many physical disks.
Which programming languages fit into 1GL?
Machine Language
Missing
Machine independence
What is the difference between multitasking memory allocation and noncontiguous memory allocation?
Multitasking is the ability of an operating system to support multiple active processes.
Describe Fifth Generation Language
Nonprocedural programming language used to develop software the mimics human intelligence.
How is file deletion normally accomplished? What security problems might result from this method?
Normally, when a user deletes a file the FMS marks the allocation units as free and its folder information as unused. It isn't overwritten until another write operation overwrites the data. Security issues that might arise would include the ability to undelete the file or for an intruder bypass the storage allocation table and see the information.
What is Java?
Object-oriented programming language and program execution environment
Chapter 11
Operating Systems
Describe Fourth Generation Language
Programming language that supports nonprocedural programming, database manipulation, and advanced I/O capabilities.
Describe the levels of RAID. What are their comparative advantages and disadvantages?
RAID0 Striping, RAID1 Mirror, RAID10 Striping + Mirror (really RAID0+1). Advantages and explanations at the bottom.
What is a page fault?
Reference to a page held in secondary storage.
What is address mapping?
Resolves references to physical memory.
Compare storage area networks and network attached storage. Which is more common in environments where many servers in the same location access the same data?
SAN is a storage server that is interconnected to the servers directly or through a dedicated switch.
Which programming languages fit into 4GL?
SQL, Visual Basic
What is the difference between sequential access and direct access?
Sequential access is the technique where data items are read and written in any order.
Describe Object-Oriented Language
Software construction method or paradigm that configures software as cooperating instances of a class.
What is the difference between static linking and dynamic linking?
Static linking has faster execution speed and improved the reliability and predictability of executables. Dynamic linking offers flexibility and smaller executables.
What is the difference between the storage I/O control layer and the file control layer?
Storage I/O control layer is the part of the kernel that access storage locations and manages data movement between storage devices and memory. File control layer provides a set of service functions for manipulating files and directories.
What models are usually included in the Unified Process (UP)?
System Requirements Model and the Design Model.
List the FMS Layers and describe their functions
The File management system (FMS) layers include the command layer, storage input/output control layer, the file control layer, and the secondary storage devices themselves.
What is the difference between a real and a virtual resource?
The physical devices are real. The resources that programs are presented are usually virtual.
Describe a hierarchical directory structure. What are its advantages and disadvantages compared with a graph directory structure?
The root directory is the top level and contains files and folders, and those folders can contain files and folders as well. HDS is less susceptible to endless loops and multiple copies/version issues however has a theoretical limit on the character allotment of a full path.
What is the system requirements model?
The system requirements model provides the detail needed to develop a specific system to meet user needs.
What is the purpose of a page table?
They store information about pages, including location, allocated page frames and secondary storage space.
What is the function of a thread control block?
Thread Control Block (TCB) is data structure in which an operating system keeps track of information about a process that can be independently scheduled and executed.
What is a function?
A named instruction sequence, which is also referred to as a procedure or subroutine.
What is a native application?
A native application (native app) is an application program that has been developed for use on a particular platform or device. Because native apps are written for a specific platform, they can interact with and take advantage of operating system features and other software that is typically installed on that platform. Typically, 10x faster than Java Bytecode.
What is the difference between a child, sibling and parent process?
A parent process can "spawn" a child process. Many spawns are referred to a sibling processes and collectively referred to as a process family.
What is executable code?
A program that consists entirely of CPU instructions that are ready to be loaded and executed.
Describe Third Generation Language
A programming language that uses mnemonics to represent instructions, variables, and labels, and has a degree of instruction explosion greater than 1:1. Also known as High level language.
What is a page hit?
A reference to a page held in memory.
What is a page?
A small fixed-size portion of a program or memory. Memory pages called page frames.
What is the function of a symbolic debugger?
A symbolic debugger can report program execution progress and errors in terms of symbolic module and data names used within program source code.
What is transaction logging or journaling? Describe the performance penalty it imposes on file update operations.
A transaction log is a record of transactions (changes) that have been to the system. In the event of a crash or system failure the OS uses the transaction logs to "replay" what occurred to reset the system and repair corrupted files. The tradeoff is a slight performance penalty since it involves an extra write operation to record the entry in the transaction log.
What is the difference between absolute and indirect addressing?
Absolute addressing refers memory address operands to actual physical memory addresses. Indirect addressing computes the addresses.
What are typical access controls for an operating system?
Access control list is the list of users or other groups with access authority to a secured object or service.
What is an external function call?
An Unresolved reference that serves as a placeholder for missing executable code.
What is an allocation unit? What are the advantages of using small allocation units? What are the disadvantages?
An allocation unit size is often referred to as block or cluster size. The Windows default is 4K. The advantages of the smaller allocation unit is that NTFS file compression is still available and there will be less wasted space. The disadvantages are that there will be more allocation units in the storage allocation tables so searching and processing will take longer.
What is swap space?
Another name for the swap or page file.
What is a programming language?
Any language in which computer-processing functions or instructions can be expressed.
Chapter 10
Application Development
Which programming languages fit into 2GL?
Assembly Language
What is the difference between a back-end and a front-end CASE tool?
Back-end CASE tool creates source code instructions from a system model. Front-end CASE tool supports creating and modifying system models.
Which programming languages fit into 3GL?
Basic, FORTRAN, COBOL, Pascal, C
What is the difference between big endian and little endian?
Big Endian stores the most significant byte at the lowest memory address. Little Endian stores the least significant byte there.
Describe the use of buffers in the file I/O operations. When are buffers allocated? When are they released?
Buffers hold data moving to and from programs and secondary storage in temporary storage, which can improve read and write operations efficiency.
What are some Scripting Languages?
VBScript, JavaScript, PHP
What is the difference between virtual and physical memory?
Virtual memory mode of operating system memory management in which secondary storage is used to extend the capacity of primary storage.
What is virtual memory management?
Virtual memory mode of operating system memory management in which secondary storage is used to extend the capacity of primary storage.
What is an assembler?
a program that translates an assembly language program into binary CPU instructions.
What is a message?
a request sent from one object or component to another.
What is an applet?
a very small application, especially a utility program performing one or a few simple functions.
What is dispatching?
act of giving a process or thread control of the central processing unit.
What is a data operation?
any processing operation that uses or alters data content.
Describe the real-time scheduling routine.
any scheduling method that guarantees the complete execution of a program or program cycle within a stated time interval.
What is fault tolerance?
characteristic of a computer system or file management system that enables rapid recovery from the failure of a hardware component without data loss.
What is data declaration?
Defines the name and data type of program variables. Stored as a symbol table in memory.
What is a directory?
data structure that contains information about files and other directories.
What is a graph directory structure?
directory structure in which a file or subdirectory can be contained within two or more directories.
What causes memory fragmentation?
file or storage device characteristic in which noncontiguous storage locations are allocated to one or more files.
What is fragmentation?
file or storage device characteristic in which noncontiguous storage locations are allocated to one or more files.
What is a control structure?
high-level programming or job control language statement that describes the selection or repetition of other program statements, such as an If-Then or While-Do statement.
What is source code?
instructions or statements in a high-level programming language.
Service Layer
large set of utility functions, subroutines, or methods that application programs "call" to perform common tasks
What is dynamic linking?
linking performed during program loading or execution.
What is static linking?
linking process in which library and other subroutines cannot be changed once they are inserted into the executable code.
What is file migration?
management technique for secondary storage in which older versions of a file are moved automatically to less costly storage media or devices such as magnetic tape.
Signal
message sent from one active process to another.
What is the purpose of transaction logging?
method of file system update in which all changes to file and directory content are written immediately to a separate log, or journal, which is used to recover lost data in the event of a system crash.
What is a hierarchical directory structure?
multilevel system of directories in which directories and files may be related to one another in a hierarchy or inverted tree.
What is object code?
output of an assembler or compiler that contains machine instructions and unresolved references to external library routines.
Kernel
portion of the operating system that manages resources and directly interacts with computer hardware and devices.
What is a home directory?
primary directory associated with and owned by a single user.
What is the purpose of compaction?
process of reallocating storage locations assigned to one or more files or programs to eliminate empty storage locations.
Describe the explicit priority scheduling routine.
process scheduling through explicitly stated priority levels and a corresponding scheduling algorithm.
What is a link editor?
program that combines multiple object code modules into an integrated set of executable code with a consistent scheme of memory addresses and references.
What is a compiler?
program that translates high-level programming language source code instructions into object code.
What is a nonprocedural programming language?
programming languages that describe a processing requirement without describing a specific procedure for satisfying the requirement. SQL is a nonprocedural programming language.
Pipe
region of shared memory through which multiple processes executing on the same machine can exchange data.
Describe the shortest time remaining scheduling routine.
scheduling method that assigns highest priority to processes or requests with shortest time remaining until completion.
What are priority-based scheduling routines?
scheduling method that determines which ready thread or process should be dispatched to the central processing unit based on user or process priority.
Describe the first-come first-served scheduling routine.
scheduling method that executes processes in order of their arrival.
What is a compiler library?
set of object-code modules intended to be linked with object-code modules produced by a compiler.
What is an operating system?
set of software programs that manage and control access to computer resources.
What is an allocation unit?
smallest unit of storage that can be allocated to an object such as a file or a program.
Describe the running state (thread).
state of a process or thread that currently is executing within the central processing unit.
Describe the blocked state (thread).
state of a process or thread that is waiting for an event such as completion of another process or thread, arrival of data input, or correction of an error condition.
Describe the ready state (thread).
state of an active process or thread that is waiting only for access to the central processing unit.
What is the purpose of blocking?
storage of multiple data items or data item fragments within a single storage block or allocation unit.
What is disk mirroring?
storage technique that enhances reliability by storing a redundant copy of all data on a second disk drive.
Command Layer
system software component that accepts and processes user commands to manipulate software, stored data, and hardware resources.
What is a storage allocation table?
table that correlates storage device allocation units with specific files, directories, or unallocated space.
What is a blocking factor?
the number of bits, bytes, or logical records grouped within a single physical record, storage block, or allocation unit.
What is instruction explosion?
the one-to-many relationship between later generation programming languages statements and the CPU actions that implement them.
What is instruction explosion? (repeat)
the one-to-many relationship between later generation programming languages statements and the CPU actions that implement them.
What is code?
Program instructions
What is a process?
Program or program fragment that is separately managed and scheduled by the OS.
What is a dynamic-link library?
A DLL is a storage library for Windows OS service routines.
What is a variable?
A Java variable is a piece of memory that can contain a data value.
What is Java Virtual Machine?
A Java virtual machine (JVM) is an abstract computing machine that enables a computer to run a Java program.
What is the function of the symbol table?
A Symbol table is a list of program modules and data names and their allocated primary storage locations.
What is a spawn?
A child.
In what way(s) is storage management with cloud-based storage similar to L2 and L3 memory cache management?
Cloud-based storage management is similar to L2 and L3 memory cache management conceptually because the synchronization that occurs does so in a similar way to memory caching. Using Dropbox as an example, I may create a document on my home computer and when I save it to my dropbox folder it actually is saving it to my home PC hard drive at C:\Users\jvanvoorhees\Dropbox\Meatballs\Cloudy.doc. During the synchronization with Dropbox, a copy is made on the Dropbox servers. When boot up my laptop, it may not have the Cloudy.doc in my Meatballs folder but when it synchronizes with Dropbox the doc is copied to my Laptop's hard drive so that I can access it from my laptop. Accessing directly from the cloud will not be as fast as accessing on my hard drive so in this way the HDD on my home PC and laptop would be like memory held in the L2 cache and the drop servers would be like memory held in the L3 memory cache.
Describe the three System Software Layers
Command Layer, Service Layer, and Kernel
What is the difference between a complete path and a relative path?
Complete path is the named path from the root node of a storage volume or name space to a specific file or object through intervening layers of a hierarchical directory structure.
What is a CASE tool?
Computer Assisted Software Engineering (CASE) tool is a program or integrated set of programs used to analyze, design, and develop computer software.
What file types does a file management system usually support?
Executables and batch commands (EXE, DLL, BAT, CMD) plus file extensions that the OS can associate with installed programs (DOC, TXT, XLS, etc.)
What is typically contained in a process control block?
Process Control Block (PCB) is data structure that contains information about a currently active process.
What is a file management system (FMS)?
The collection of system software that performs file and secondary storage management and access functions.
What is process offset?
The difference between the first address in physical memory and the address of the first process instruction.
Describe First Generation Language
The earliest programming languages using binary code to represent each CPU instruction.
Describe Second Generation Language
Use a short character sequence called a mnemonic to represent each CPU instruction.