-
Three low-level P2P interprocess communication standards
- Sockets
- Named pipe
- Remote procedure Calls (RPC)
-
differences between static and dynamic connections to remote resources
- static connection- difficult ot administer, initialize, and maintain because OS must be configured to establish a connection each time it starts; when resources are added, moved, renamed, or deleted, all users’ resource registries must be updated to reflect the changes
- dynamic connection- flexible, more complex, the complexity of the protocol and its software implementation in the client, a potentially large collection of servers
-
three-layer application
- data layer
- business logic layer
- view layer
-
cloud computing also refer as
outsourcing
-
Benefit and Risk of software as a service (SaaS)
- benefit: for business: eliminate the need to purchase and maintain app software, sys software, and supporting hardware; only IT function remain is mgmt of destop and other enduser computing devices, the local network, and Internet connections; for consumers: freed from the need to purchase, maintain, and upgrade app software, users no longer purchase software or upgrades; user computing devices simpler and cheaper because app software no longer resides on them
- risk: concerns over ownership and privacy of data, use of custom-developed app software that provides a competitive advantage, concerns about locking up important IT resources with a single vendor
-
Benefit and Risk of Platform as a Service (PaaS)
advantage: avoiding the need to operate its own servers and sys software, flexibility to scale the Web site up or down in size rapidly, if the web site is inunadated with accesses, the customer can simply rent a more powerful plaform, avoid the cost of purchasing, maintaining, and supporting related sys software
-
Benefit and Risk of Infrastructure as a Service (IaaS)
advantage: avoid fewer internal costs, able to respond rapidly to changing demands by scaling capacity up or replicating capacity to new geographic locations, capacity can be increased by upsizing or cloning virtual servers, additional capacity can be purchased as needed
-
Instruction explosion
the one-to-many (1:N) relationship between later-generation programming statements and the CPU actions implementing them.
-
source code
instructions or statements in a high-level programming language; normally stored in a file that’s named to indicate both its function and programming language such as .java, .cpp
-
object code
the output of an assembler or a compiler; contains a mixture of CPU instructions, library calls, and other info the link editor needs such as .o, .obj
-
executable code
a program consisting entirely of CPU instructions that are ready to be loaded and run such as .exe
-
assembler
a program that translates an assembly-language program into binary CPU instructions.
-
compiler
translates some source code instructions into executable code and others into library calls and link editing
-
interpreter
reads a single source code instruction, translates it into CPU instructions or a DLL call, and executes the instructions or DLL call immediately, before the next program statement is read
-
Data (manipulation) operations
it translates the data operation instructions into an equivalent sequence of data movement and data transformation instructions for the target CPU.
-
Control structures
it reads a label, stores it in the symbol table along with the address of the first CPU instruction generated for the corresponding source code instruction, when the label is used as the target of a instruction, the compiler retrieves the corresponding memory address from the symbol table and uses it as the operand of the corresponding CPU BRANCH or JUMP instruction.
-
link editor
searches an object code file for external function calls; a program that combines object code files into an integrated set of executable code with a consistent scheme of memory addresses and references.
-
compiler library
a file containing related executable functions and an index of the library contents.
-
static linking or early binding
a linking process in which library calls and other functions can’t be changed after they’re inserted into executable code, the execution speed is faster than dynamic linking, it improves the reliability and predictability of executable programs
-
dynamic linking
a linking process performed during program loading or execution, it is a smaller program executable files than static linking, it avoids redundant storage of service routines in program executable files, it’s more flexible
-
computer-assisted software engineering (CASE) tool
a tool that supports the UP requirements and design disciplines.
-
front-end CASE tool
tool suite that primarily supports model development
-
back-end CASE tool
tool suite that primarily supports application development based on specific analysis and design models.
-
kernel
the OS portion that manages resources and interacts directly with computer hardware
-
service layer
contains thousands of resusable components that provide functions ranging from file and folder manipulation to accessing I/O devices, starting and stopping programs, and creating, moving, and resizing GUI windows.
-
Command layer
the shell, is the user interface to the OS, in which user or system administrator can run application and OS utility programs and manage system resources, such as files, folders, and I/O devices
-
real resource
a computer’s physical devices and associated system software
-
virtual resource
resources that are apparent to a program or user, OS make virtual resourcs appear to be equal to or greater than real resources
-
bare-metal hypervisor
hypervisors are installed much like OSs but provide only minimal OS-type functions, such as the capability to start and stop VMs and manage physical resources on behalf of VMs.
-
process control block (PCB)
a data structure containing info about an active process; used by the OS to keep track of each process
-
thread
a portion of a process that can be scheduled and executed independently.
-
first come first served (FCFS)
scheduling, the scheduler always dispatches the ready thread that has been waiting the longest
-
explicit priority
scheduling assigns a priority level to each process or thread
-
shortest time remaining (STR)
scheduling chooses the next thread to be dispatched based on the expected amount of CPU time needed to complete the process.
-
Absolute addressing
method which uses memory address operands that refer to actual physical memory locations.
-
Indirect addressing
method of computing physical memory addresses automatically
-
Command layer or application program
users perform common file mgmt functions such as copying, moving, and renaming files.
-
File control layer
provides service functions for manipulating files and directories
-
Storage I/O control layer
the part of the kernel that accesses storage locations and manage data movement between storage devices and memory
-
Secondary storage devices
views as a collection of files organized in directories and storage volumes
-
allocation unit
the smallest number of secondary storage bytes that can be allocated to a file.
-
heirarchical directory structures
directories can contain other directories, but a directory can’t be contained in more than one parent
-
Transaction logging or journaling
a form of automated file backup in which all changes to file content and attributes are recorded automatically in a log file in addition to being written to the file’s I/O buffer; provides a high degree of protection against data loss caused by program or hardware failure by imposes a performance penalty
-
storage area networks (SAN)
a high-speed interconnection between general-purpose servers and a separate storage serve
-
network-attached storage (NAS)
describes any architecture with a dedicated storage server attached to a general-purpose netowork to handle storage access requests from other servers
|
|