CIS 345 Operating Systems Chapter 1 Vocabulary

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

Process table

An array of structures, one for each process currently in existence

Distributed operating systems

An operating system that appears to its users as a traditional uniprocessor system, even though it actually composed of multiple processors.

Special file

Another important concept in UNIX is the special file. Special files are provided in order to make I/O devices look like files.

Block special files

Are used to model devices that consist of a collection of randomly addressable blocks, such as disks.

Character special files

Are used to model printers, modems, and other devices that accept or output a character stream.

working directory

At every instant, each process has a current working directory, in which path names not beginning with a slash are looked for

SCSI (Small Computer System Interface)

A high-performance bus intended for fast disks, scanners, and other devices needing considerable bandwidth.

cache miss

A request for data from the cache that cannot be filled because the data is not present in the cache.

root file system

Before the mount call, the root file system, on the hard disk, and a second file system, on a CD ROM, are separate and unrelated.

X Window System

Many UNIX users, especially experienced programmers, prefer a command based interface to a GUI, so nearly all UNIX systems support a windowing system called the X Window System (also known as X11) produced at M.I.T.

UNIX shared libraries

Many operating systems support loadable extensions, such as an I/O device-drivers and file systems. In Windows they are called DLLs

User friendly

Meanign that it was intended for uses who not only knew nothing about computers but furthermore had absolutely no intention whatsoever of learning.

shared bus architecture

Means that multiple devices use the same wires to transfer data. Thus, when multiple devices have dat to send, you need an arbiter to determine who can use the bus.

Parallel bus architecture

Means that you send each word of data over multiple wires

Windowos Me (Millennium Edition)

Microsoft came out with yet another version of Windows 98 called Windows Me. In 2001 a slightly upgraded version of Windows 2000, called Windows XP was released.

POSIX

Most versions of UNIX now support . POSIX defines a minimal system-call interface that conformant UNIX systems must support.

Superscalar CPU

Multiple execution units are present, for example, one for integer arithmetic, one for floating point arithmetic, and one for Boolean operations. Two or more instructions are fetched at once, decoded, and dumped into a holding buffer until they can be executed. As soon as an execution unit becomes available it looks in the holding buffer to see if there is an instruction it can handle, and if so, it removes the instruction from the buffer and executes it.

Stack pointer

Points to the top of the current stack in memory. The stack contains one frame for each procedure that has been entered but not yet exited.

stack segment

Portion of memory used by a program to hold procedure call frames. grows downward

RIM's

RIM's Blackberry OS (introduced for smartphones in 2002) and Apple's iOS (released for the first iPhone in 2007) started eating into Symbian's market share.

Interprocess Communication

Related processes that are cooperating to get some job done often need to communicate with one another and synchronize their activites

Cloud computing

Relatively small computers (including smartphones, tablets, and the like) are connected to servers in vast and distant data centers where all the computing is done, with the local computer just handling the user interface

Type 1 hypervisor

Software to manage virtual machines that is installed before any operating system is installed. A type 1 hypervisor has no underlying support and must perform all these functions itself. Type 1 hypervisors cannot do this because there is no host operating system to store files on. They must manage their own storage on a raw disk partition.

MULTICS

The designers of this system, known as MULTICS (MULTiplexed Information and Computing Service), envisioned one huge machine providing computing power for everyone in the Boston area. The idea that machines 10,000 time faster than their GE-645 mainframe would be sold (for well under $1000) by the millions only 40 years later was pure science fiction.

Device driver

The software that talks to a controller, giving it commands and accepting responses.

SATA

To make this point more concrete, consider modern SATA hard disks used on most computers.

directory

To provide a place to keep files, most PC operating systems concept of a directory as a way of grouping files together

Job

To run a job(i.e. , a program or set of programs), a programmer would first write the program on paper (in FORTRAN or assembler), then punch it on cards.

file descriptor

before a file can be read or written, it must be opened at which time the permissions are checked. If the access is permitted, the system returns a small integer called a file descriptor to use in subsequent operations

Execve

has three parameters: the name of the file to be executed, a pointer to the argument array, and a pointer to the environment array

L2 cache

holds several megabytes of recently used memory words.

EEPROM (Electrically Erasable PROM) and flash memory

nonvolatile but can be erased and rewritten

partitions or minor devices

portions of hard disk

Text segment

program code

data segment

the variables, grows upward

x86

to refer to all modern processors based on the family of instruction-set architectures that started with the 8086 in the 1970s.

USB (Universal Serial Bus)

was invented to attach all the slow I/O devices, such as keyboard and mouse, to the computer

x86-32 and x86-64

32-bit and 64-bit variants

Process

A program in execution

CMS (Conversational Monitor System)

A single-user interactive system for interactive timesharing users.

PDA (Personal Digital Assistant)

A small computer that can be held in your hand during operation.

Windows NT

(where the NT stands for New Technology), which was compatible with Windows 95 at a certain level, but a complete rewrite from scratch internally

Pipeline

A CPU might have separate fetch, decode, and execute units, so that while it is executing instruction n, it could also be decoding instruction n+1 and fetching instruction n+2.

Prompt

A character such as a dollar sign, which tells the user that the shell is waiting to access a command.

MINIX

A clone of UNIX for educational purposes

Command interpreter

A process called the command interpreter or shell reads commands from a terminal.

pipe

A sort of pseudofile that can be used to connect two processes

PCIe (peripheral component interconnect express)

An expansion bus architecture that uses serial communications rather than the parallel communications of PCI. Also called PCI Express and PCI-E. (1)

rwx bits

Each filed has a bit for read access, a bit for write access, and a bit for execute access. These 3 bits are know as the rwx bits

Child processes

Each process can start an unlimited number of other processes. These new processes are called

Address space

Each process has an address space, a list of memory locations from 0 to some maximum, which the process can read and write.

Path name

Every file within the directory hierarchy can be specified by giving its path name from the top of the directory hierarchy, the root directory

Basic cycle for CPU

Fetch the first instruction from memory, decode it to determine its type and operands, execute it, and then fetch, decode, and execute subsequent instructions.

BIOS (Basic Input Output System)

Firmware that can control much of a computer's input/output functions, such as communication with the keyboard and the monitor.

Context switch

In a multiprogramming system, when switching from one program to another, sometimes called a context switch, it may be necessary to flush all modified blocks from the cache and change the mapping registers in the MMU.

User mode

In which only a subset of the machine or do I/O Input/Output are forbidden to user mode programs

Disk driver

Instead a piece of software, called a disk driver, deals with the hardware and provides and interface to read and write disk blocks, without getting into the details

ROM (Read Only Memory)

Nonvolatile memory does not lose its contents when the power is switched off. ROM is programmed at the factory and cannot be changed afterward.

Servers

Provide some service

RAM

Random Access Memory; temporary memory. RAM is expandable, and resides on the motherboard.

Multiplexing

Resource management includes multiplexing (sharing) resources in two different ways: in time and in space

DMI (Direct Media Interface)

The CPU talks to memory over a fast DDR3 bus, to an external graphics device over PCIe and to all other devices via a hub

ICs (Integrated Circuits)

The IBM 360 was the first major computer line to use ICs (Integrated Circuits), thus providing a major price/performance advantage over the second-generation machines, which were built up from individual transistors.

I/O port space

The collection of all device registers

Kernel Mode

The operating system, the most fundamental piece of software, runs in kernel mode also called supervisor mode. In this mode it has complete access to all the hardware and can execute any instruction the machine is capable of executing.

Clients

Use services

Alarm signal

When the specified number of seconds has elapsed, the operating system sends an alarm signal to the process. The signal causes the process to temporarily suspend whatever it was doing, save its registers on the stack, and start running a special signal-handling procedure, for example, to retransmit a presumably lost message

Off line

When the whole batch was done, the operator removed the input and output tapes, replaced the input tape with the next batch, and brought the output tape to a 1401 for printing off line (i.e., not connected to the main computer).

Soft real-time system

Where missing an occasional deadline, while not desirable, is acceptable and does not cause any permanent damage.

System call

Which traps the kernel and invokes the operating system. The TRAP instruction switches from user mode to kernel mode and starts the operating system.

Busy waiting

While a process is in its critical section, any other process that tries to enter its critical section must loop continuously in the call to acquire().

Reincarnation server

Whose job is to check if the other servers and rivers are functioning correctly. In the event that a faulty one is detected, it is automatically replaced without any user intervention.

chdir

changes the current working directory

LSI (Large Scale Integration)

circuits chips containing thousands of transistors on a square centimeter of silicon the age of the personal computer dawned.

Create Process (Windows)

creates a new process. It does the combined work of fork and execve in UNIX. It has many parameters specifying the properties of the newly created process. Windows does not have a process hierarchy as UNIX does so there is no concept of a parent process and a child process. After a process is created, the creator and createe are equals.

FreeBSD

is also a popular UNIX derivative, originating from the BSD project at Berkeley.

WaitForSingleObject

is used to wait for an event. Many possible events can be waited for.

kill

stops a process

Digital Rights Management

techniques that made it harder for users to copy protected material

cache hit

the request is satisfied from the cache and no memory request is sent over the bus to the main memory.

Type 2 hypervisors

A type 2 makes uses of a hosting operating system and its file system to create processes, store files, and so on. After a type 2 hypervisor is started, it reads the installation CD-ROM for the chosen guest operating system and installs the guest OS on a virtual disk, which is just a big file in the host operating system's file system.

Timesharing

A variant of multiprogramming, in which each user has an online terminal. In a timesharing system, if 20 users are logged in and 17 of them are thinking or talking or drinking coffee, the CPU can be allocated in turn to the three jobs that want service.

Interrupt vector

Address where the CPU starts executing to service an interrupt

Symbian

After all most smartphones in the first decade after their inception were running Symbian OS.

Service packs

All of these versions of Windows forked off their variations in the form of service packs.

L1 cache

Always inside the CPU and usually feeds decoded instructions into the CPU's execution engine. Typically 16 KB each.

DMA (Direct Memory Access)

Chip that can control the flow of bits between memory and some controller without constant CPU intervention.

Program counter

Contains the memory address of the next instruction to be fetched. After that instruction has been fetched, the program counter is updated to point to its successor.

operating system

For this reason computers are equipped with a layer of software called the operating system, whose job is to provide user programs with a better, simpler, cleaner, model of the computer and to handle managing all the resources just mentioned.

DOS (Disk Operating System)

Gates realized that a local computer manufacturer Seattle Computer Products, had a suitable operating system DOS. He approached them and asked to buy it (allegedly for $75,000), which they readily accepted.

Dedicated hosting

Gives them their own machine, which is very flexible but not cost effective for small to medium Websites.

GPU

Graphics Processing Unit. A GPU is a processor with, literally thousands of tiny cores. They are very good for many small computations done in parallel, like rendering polygons in graphics applications.

Network operating systems

In a network operating system, the users are aware of existence of multiple computers and can log in to remote machines and copy files from one machine to another. Each machine runs its on local operating system and has its own local user (or users).

Microcomputers

In terms of architecture, personal computers (initially called microcomputers) were not all that different from minicomputers of the PDP-11 class, but in terms of price they certainly were different.

Shared hosting

Just gives users a login account on a Web server, but no control over the server software

UNIX

Ken Thompson, subsequently found a small PDP-7 minicomputer that no one was using and set out to write a stripped-down, one-user version of MULTICS. This work later developed into the UNIX operating system, which became popular in the academic world, with government agencies, and with many companies.

CP/M (Control Program for Microcomputers)

Kildall then wrote a disk-based operating system called CP/M

Object file

Object files, which have the suffix .o, contain binary instructions for the target machine. They will later be directly executed by the CPU.

Gnome or KDE

Often a complete GUI, such as Gnome or KDE, is available to run on top of X11, giving UNIX a look and feel something like the Macintosh or Microsoft Windows, for those UNIX users who want such a thing.

linker

Once all the .o files are ready, they are passed to a program called the linker to combine all of them into a single executable binary file.

Superuser

One UID, called the superuser (in UNIX) or Administrator (in Windows), has special power and may override many of the protection rules.

Virtual machine monitor

Runs on the bare hardware and does the multiprogramming, providing not one, but several virtual machines to the next layer up

SSD's (Solid State Disks)

SSDs do not have moving parts, do not contain platters in the shape of disks, and store data in (Flash) memory.

Serial bus architecture

Sends all bits in a message through a single connection, known as a lane, much like a network packet.

SATA

Serial AT Attachment

Hard real time system

The action absolutely must occur at a certain moment (or within a certain range)

Architecture

The architecture (instruction set, memory organization, I/O, and bus structure) of most computers at the machine-language level is primitive and awkward to program, especially for input/output.

CTSS

The first general-purpose timesharing system, CTSS (Compatible Time Sharing System), was developed at M.I.T. on a specially modified 7094.

C preprocessor

The first pass of the C compiler is called the C preprocessor. As it reads each .c file, every time it hits a #include directive, it goes and gets the header file named in it and processes it, expanding macros, handling conditional compilation (and certain other things) and passing the results to the next pass of the compiler as it they were physically included.

PID

The fork call returns a value, which is zero in the child and equal to the child's PID (Process IDentifier) in the parent

OS/360

The greatest strength of the "single-family" idea was simultaneously its greatest weakness. The original intention was that all software, including the operating system

Fork

The only way to create a new process in POSIX. It creates an exact duplicate of the original process, including all the file descriptors, registers--everything. After the fork, the original process and the copy (the parent and child) go their separate ways.

Interrupt

The operating system then blocks the called if need be and looks for other work to do. When the controlled detects the end of the transfer, it generates an interrupt to signal completion.

Shell and GUI (Graphical User Interface)

The program that users interact with, usually called the shell when it is text based and the GUI (Graphical User Interface) which is pronounced "gooey" when it uses icons, is actually not part of the operating system, although it uses the operating system to get its work done.

MS-DOS (MicroSoft Disk Operating System)

The revised system was renamed MS-DOS (MicroSoft Disk Operating System) and quickly came to dominate the IBM PC market. A key factor here was Gates' (in retrospect, extremely wise) decision to sell MS-DOS to computer companies for bundling with their hardware, compared to Kildall's.

Batch system

The solution generally adopted was the batch system. The idea behind it was to collect a tray full of jobs in the input room and then read them onto a magnetic tape using a small (relatively) inexpensive computer, such as the IBM 1401, which was quite good at reading cards, copying tapes, and printing output, but not at all good at numerical calculations.

Plug and play

The system automatically collect information about the I/O devices, centrally assign interrupt levels and I/O addresses, and then tell each card what its numbers are.

Mainframes

These machines now called mainframes, were locked away in large, specially air-conditioned computer rooms, with staffs of professional operators to run them

Multiprogramming

They also popularized several key techniques absent in second-generation operating systems. Probably the most important of these was multiprogramming.

PSW

This register contains the condition code bits, which are set by comparison instructions, the CPU priority, the mode (user or kernel), and various other control bits.

Spooling

This technique is called spooling (from Simultaneous Peripheral Operation on Line) and was also used for output. With spooling, the 1401s were no longer needed, and much carrying of tapes disappeared.

Mac OS X

Thus Mac OS X is a UNIX-based operating system, albeit with a very distinctive interface.

Core image

Thus, a (suspended) process consists of its address space, usually called the core image (in honor of the magnetic core memories used in the days of yore), and its process table entry, which contains the contents of its registers and many other items needed to restart the process later.

System V and BSD (Berkeley Software Distrubtion)

Two major versions developed, System V, from AT&T, and BSD (Berkeley Software Distribution) from the University of California at Berkeley.

Cache lines

Typically 64 bytes, with addresses 0 to 63 in cache line 0, 64 to 127 in cache line 1, and so on.

GID (Group Identification)

Users can be members of groups, each of which has a GID (Group Identification)

Client-Server model

a distributed approach in which a client makes requests of a server and the server responds

MMU (Memory Management Unit)

a hardware device that handles the details of address translation in a system with virtual memory inside the CPU

Virtual memory

a portion of a storage medium functioning as additional RAM

Multithreading or hyperthreading

allow the CPU to hold the state of two different threads and switch back and forth on a nanosecond time scale.

Linux

an open-source version of the UNIX operating system

SetFilePointer and GetFileAttributesEx

call set the file position and get some of the file attributes

Waitpid

can wait for a specific child, or for any old child by setting the first parameter to -1. When waitpid completes, the address pointed to by the second parameter, statloc, will be set to the child process' exit status (normal or abnormal termination and exit value).

chmod

change the mode of a file

UID (User IDentification)

each person authorized to use a system is assigned a UID by the system administrator.


Kaugnay na mga set ng pag-aaral

Heath & Wellness Chapters 4, 5, & 6

View Set

Describe how light passes through the eye and how an image is formed on the retina

View Set

Chapter 34: The Dying Child Prep U PEDS

View Set

SEDATIVE- HYPNOTIC & ANTI ANXIETY DRUGS

View Set

Restorative Justice Exam 1 Ch 1-5

View Set

CH. 5 Linear motion of the system

View Set