unit 5 (intro to computer software)

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Server Software

Works with hardware to provide a network service (i.e. web servers, email servers and database servers)

Kernal

The core components of the operating system are referred to as the kernel. the kernal sits on top of the hardware and is the interface between hardware and software. the kernel is loaded when the computer is first booted handles process management, resource management, and memory management ---- without these you would not be able to start a new program or have that program run efficiently

productivity software

is sometimes referred to as horizontal software (because the software can be used across all divisions within an organization) vertical software applies instead to software used by select groups with an organization or to a specific discipline

resident monitor

was created to handle input/output operations based on a few commands rather than dozens or hundreds of program instructions

Changes that brought about the need for an OS

1. the development of language translators 2. the availability of computers 3. the improvement in computer hardware

Intranet

A LAN that uses the Internet Protocol Any software application that an organization wishes to make available to its employees via the organization's LAN can utilize IP for managing the communications between the user and the application is referred to as an intranet (e.g. internal email system, discussion boards, chat and access to files via a file server) advantages: applications intended for internet usage (email, web browsing, telnet/ssh) will work internally as easily as they work externally typically include restrictions on access (normally limited to employees of the organization)

Character Representation

ASCII (American Standard Code for Information Interchange) + Unicode

File Server

Is in essence a computer with a large hard disk storing files that users of the network can access. more complex file servers also store software to be run over the network today, many organizations have forgone the use of file servers due to cheaper storage costs Advantageous: supports file sharing, permits easy backup of user files, allows for encryption of data storage, and allows remote access to files.

N-tier architecture

N-tier development is often used to indicate that the number of tiers a system will be broken down into will vary between different software development projects. The tiers are divided between the presentation tier, the logic tier and the data tier

Database Server

Permits database access across a network. Performs tasks such as data analysis, data manipulation, security, and archiving. May/may not store database itself. **MySQL Community** is a popular ope. source database server

Multi-tier Development

Separation of different aspect of a system

local application

Software stored on an individual computer.

Logic Tier

Tier that sits between the user interface and the data. Resides on the server where processing occurs coordinates the application, processes commands, makes logical decisions and evaluations and performs calculations. it also moves and processes data between the two surrounding layers. where a query will be run to determine the quantity of items in an order, the price, the available shipping date, etc. (when a customer browses items within an e-commerce site, this data will be presented to them)

Octal Number System

a base-8 system; every value is represented with some combination of 8 digits (0 through 7).

what is an operating system

a program (that is required to maintain the computer's environment) primary task is to allow a computer user to easily access the hardware and software of a computer system an OS is about control and convenience allows the user to control the actions of the software, and through the software, to control (or access) hardware. provides access in an easy-to-use manner early OS were not easy to use

the numbering system

a writing system for expressing numbers. in mathematics, there's an infinite number of numbering systems (Decimal and Binary are the 2 most popular)

Secure Accounts

an account that requires a login to gain access

3 types of language translators

each produces a different class of programming language: assembly languages high level compiled languages high level interpreted languages the translators are called assemblers, compilers and interpreters

Software supports company goals

improving communications internally and externally sharing resources among employees better integration between functional areas of an organization helping ensure security of a company's confidential information can help management make strategic decisions (by enabling integration among the different functions within an organization). can be used to analyze information and enlighten management on ways to improve business processes.

proprietary (commercial) software

licensed software purchased from a vendor -youre given the rights to use it, but not to own it

A program is represented in 3 languages:

machine language, assembly language, and a high level programming language the high level programming language is far more concise because many tasks require several steps in machine or assembly languages but only one step in a high level language.

Services or Daemons

operating system programs that are usually started when the operating system is loaded and initialized, but they run in the background (and does not take up any CPU time until called upon). there are numerous services in any operating system.

Utility Programs

programs that allow the user to monitor and improve system performance. (utilities greatly range in function) -defragment hard disk, scan files for viruses, etc. usually must be installed separately as they may not come with the OS

IT personnel

should always be aware of when they are logged in as an administrator or a user

cloud services offered

simple storage, database and web services, email, games, and load balancing

Software Licensing

software may be protected via various types of licenses, end-user agreements, copyrights and patents.

the decimal numbering system

the decimal system uses base 10, so the symbols 0-9 (i.e. 10 symbols) to represent numbers: 0,1,2,3,4,5,6,7,8,9

octal and hexadecimal

these two numbering systems make machine code the most readable by humans (easier to view due to a reduced number of binary digits)

Privileged Instructions

used to perform system oriented operations (i.e. create new user accounts, test for security holes, manipulate system files)

ASCLL- American Standard Code for Information Interchange

uses binary sequence in place of the character e.g. "a" is stored as the decimal value 97 or the hexadecimal value 61 e.g. "a" is 01100001 in binary e.g. "A" is decimal 65 and hexadecimal 41 and 01000001 in binary

Shell

"An interface for the user, often personalized for that given user, that provides access to the kernel." (e.g. a GUI shell will translate mouse motions into calls to kernal routines, [such as open a file, start a program, move a file]). Desktop elements include shortcut icons, the theme of the windows, menus and background, the appearance of toolbars and programs on the start menu and desktop gadgets.

Bits and Bytes

A byte is made up of eight bits a byte is a unit of digital information used in computing and telecommunications. a byte is the number of bits (8) used to encode a single character of text in a computer in most computer architectures a byte is the smallest addressable unit of memory today's computers are 32bit (4 bytes) or 64bit (8 bytes) for the typical storage size we refer to the typical storage size as the computer's "word size"

Python

A high-level programming / scripting language

MVC (Model-View-Controller)

A software development technique used in the implemention of user interfaces. Separates the user interface into different components: the model, the view, the controller Similar to N-Tier but has distinct differences - (IN MVC, THE MODEL INTERACTS WITH THE CONTROLLER) This model is useful in separating the programming logic between input logic, business logic and interface logic THE MODEL: can take on different forms depending upon complexity of the application (and is used to retrieve information about the 'product', to add new product information, or to update product information). It is in the model layer that the business logic is designed. THE CONTROLLER: is the part of an application that interacts with the user (via the view) and passes along the user requests to the model. [the results from the model will determine the type of view the controller uses in the interface presented to the user]. It is in the controller layer that the input logic is designed. THE VIEW: is the part of the application that represents the user interface. The view is used to capture input from the user to be passed on via the controller to the model. The information returned by the model is then presented to the user via the view. It is in the view layer of the application that the user interface logic is designed. The MVC model is one application where the various design logic (input, business, interface) are logically separated. This differs from the N-tier development model where each tier is a separate application.

Database

A structured data repository

IT

A system with hardware, software and people as the main sub-systems Any IT system depends on the function of all 3 components.

High level languages

Also called programming languages, which are a vocabulary and set of rules for instructing a computer to perform certain tasks. BASIC, C, C++, Java, Python, Ada High level programming languages arose because of an awkwardness of writing in machine or assembly language, and allow programmers to more easily write programs. However, the computer can only interpret binary code. This means the high level language must be translated into binary or machine language to be executed by the computer (via compiling or interpreting, which results in a compiled language or interpreted language)

Copyrights protect

An original work (in its tangible expressed form), but not the ideas behind the work. the copyright holder has the exclusive rights to make copies, prepare derivative works, and distribute copies of the work for the duration of the author's life plus 70 years. "Fair Use" provides an exception to this by allowing nonprofits or educational institutions to use copyrighted work. copyrighted works are registered as a matter of public record. (however, copyright law may be interpreted inconsistently and the protections may not be very strong. Therefore, the use of patents has become more common).

Device Drivers

Another piece of the operating system is the collection of device drivers, which provide specific interfaces between the OS running a computer and hardware. there are hundreds of thousands of drivers available and most will never be used. many popular drivers are pre-loaded into the OS, whereas other must be downloaded off the internet or from a CD-ROM when a new hardware device is purchased.

Hexadecimal Number System

Base-16 number system. Every value is represented with some combination of 16 digits (0-9 and A,B,C,D,E,F)

Application Software

Consists of programs that end users run to accomplish tasks

History of Operating Systems

First generation - No operating system, bare hardware, machine language. Second generation - Batch systems, assemblers, linkers, loaders, compilers - Batch systems with Automatic Job Sequencing Third generation -- O.S. for complete families of computers (OS/360) - Batch with Multiprogramming - Spooling - Timesharing (MULTICS, UNIX, ...) Fourth generation - Network and distributed operating systems

FTP server

Hosts files and allows clients access to files. Access is in form of uploading/downloading files. Requires either user has an account or logs in as anonymous user. FTP is an older text-based service/protocol than HTTP and has largely been replaced by HTTP with the exception of file uploading FTPS - is a secure form of FTP SFTP - is another secure way to handle file transfers, but is NOT based on FTP protocol.

Patents

Protect the creation of inventive concepts as well as the tangible work product (not just tangible work, as copyrights do). protection for 20 years from the original patent application filing date. US patent system is intended to encourage innovation 💡 patent law states that the laws of nature, natural phenomena and abstract ideas cannot be patented. Because of this, math cannot be patented, and many believe software should be treated similarly. one problem may be that it is difficult for patent officials to determine whether a specific form of software is an actual invention or would be obvious to someone of ordinary skill in the field

Email server

Provides email service. Accepts email request from clients, send messages out to other email servers, receive emails from other servers, and alert the user that email has arrived IMAP,POP3,SMTP,HTTP,MAPI,MIME

scripting languages

Scripting languages - Are specific interpreted programming languages Javascript, ASP, JSP, PHP, Perl, Tcl, Python the term script is sometimes referred to as a small program (one that contains few lines of code) the term script is also used to describe coding that is for a specific environment (e.g. javascript is designed to be used inside of a web browser environment) scripts are fairly short and simple (as compared to applications or systems software) scripts have traditionally been used more for automation than for software development. the internet - a major factor in the development of scripting languages scripting languages commonly add functionality to a web page by influencing the data that the user sees in a browser window (other scripting languages affect the data, often in a database, on a server).

End User License Agreement (EULA) / Software License Agreement

Serves as a contract between the licensor (e.g. software company) and the purchaser, indicating that the purchaser has a right to use the software. The contracts are created by the licensor and do not leave room for negotiation by the purchaser. Open source software may also co.e with an agreement license that specifies how it may be used. The GNUs public license is used for free software and is designed so that it will stay free regardless of who modifies it. Copyleft is a play on words of copyright: promoting freedom and flexibility of use instead of using rights to limit users (as proprietary software does). Creative Commons (CC) License: one of several public copyright licenses that enable the free distribution of an otherwise copyrighted work. Its used when an author wants to give people the right to share, use, and build upon a work they created.

Data Tier

Tier where data is stored, retrieved and updated from database tables Also resides on the organization's servers and usually on a separate database server. keeps data independent from the application data can scale more easily

Presentation tier (user interface)

Tier where the user interface for the system is developed; shields the user from the underlying logic of the systems as well as the underlying data structures designed to run on the client and interface with the server

proxy server

Used in an organization to act as a giant cache of webpages that anyone in the organization has recently retrieved. SQUID is the most commonly used proxy server (although Apache can also serve as a proxy server) Squid is open source Squid enables configuration of the # and size of caches, and the squid firewall to permit or prohibit access of various types. provides a degree of anonymity (the recorded IP in a web server is that of the proxy, not the individual client) can be used to block certain content from being returned (i.e. rejecting requests to specific servers [i.e. Facebook] and rejecting responses that contain certain content [i.e. the word 'porn']

Algorithm

a formula or procedure for solving a certain type of problem. a set of steps that are followed in order to complete a computer process. a set of instructions used by a computer to execute a procedure. a formula that outlines how to execute a task a computer program can be characterized as an elaborate algorithm. (expert programmers strive to develop algorithms that are simple and require the fewest steps possible). In an algorithm, the instructions must be clear so the rules are unambiguous, and there must be a distinct stopping point.

Cloud Computing

allows an organization to access resources and applications from anywhere/anytime. provides the ability to meet increasing IT demands without increasing investments in IT (scaling, better standardization, and decreased need for internal IT personnel.) combines several different technologies: distributed computing, computer networks, and storage area networks. cloud computing as a service, offers the ability to offload computation and storage from your local computer to the cloud. users can access resources they may not normally have access to: increased processing power, software they do not have licensing for on their local machine, and storage in excess of their local file server or computer. conceptually, cloud is a step toward ubiquitous computing - the ability to have computation anywhere at any time. cloud is the ultimate in a client-server network the clients are the users who access the cloud remotely and the server is the cloud itself. to access the cloud, commonly an interface is made through a web portal (no specific software needed, but in some cases clientd download specific applications for access)

Compiler/Interpreter

compiler - translates the entire program, creating an executable program, which can be run at a later time. interpreter - takes the most recently entered instruction, translates it into machine language, and executes it. the disadvantage of a compiled language is that it's not portable. When the entire program is translated, it is translated into machine code that is compatible with a specific type of computer. PCs, Apple and mobile devices need different machine languages to work. The program itself is portable in that it can be compiled differently for different computers. when a high level language is interpreted, the program code is written in an interpreted environment that allows the programmer to experiment while developing code. (test it out as you go), whereas developing a program can be done in a piecemeal manner. compiled programming often requires that the entire program (or at least the supporting statements) be written, before any of it can be compiled and tested. scripting languages are interpreted and more programmers are using scripting languages. disadvantage to interpreted programming - to execute an interpreted program, every instruction is translated first and then executed; this must be done every time the program is run. (this causes execution time to be lengthier compared to a similarly compiled program) - However, many modern interpreted languages have optional compilers so that, once complete, the program can be compiled if desired. An issue that arises amongst both compiled and interpreted language: error checking

Binary numbering system

computers store, transmit and process all information in binary instead of decimal (this is because everything is stored in one of two ways, "current or no current"). Every data (numbers, text, images, songs, etc) is stored in 1s and 0s. in binary, 1 means on and 0 means off. binary is a "base 2 system", so you can represent any number you want using just two digits: 0 and 1. everything the computer stores is first converted into 1s and 0s a single 1 or 0 value is a "bit" (for binary digit) the digital circuits in the CPU operate on bits, and memory stores bits in the binary numbering system, every value is represented with some combination of 2 digits (0,1) - base 2

system software

consists of programs that make up the operating system system software directly supports the computer itself such software is often started automatically rather than by request of the user consists of daemons

daemons and/or services

pieces of the operating system that run in the background all of the time (they wait for an event to arise before they take action) other pieces of the operating system are executed based on a periodic scheduler (e.g. anti-virus software)

Database Management System (DBMS)

software that responds to user queries to create, manipulate and retrieve records from the database

Server Software

software that works with hardware to provide a network service includes: print service, ftp server, webserver, email server, database server, and file server

Free software

software that you can obtain for free (able to use it without paying for it) -Shareware: provides you with a trial version of the software (trial version usually has some limitations). -Freeware: free from purchase, but not necessarily free in how you use it. (freeware is usually software that has become obsolete or is no longer maintained). You are bound by some agreements, but are otherwise free to use it as if you purchased it. Made available as executables. -Public Domain Software: software that has been moved to the public domain (that no one wishes to make money off of or support - no one is claiming rights to it). Made available as executables. -Open Source Software: software created in the open source community and made freely available as source code. (you may enhance the software or distribute the software - but you must abide by the copyright provided with the software). Most open source is available using the GNUs Public License and some are made available with what is known as a copyleft instead of a copyright.

OS / User Interface

the OS is in charge of the user interface the GUI is a much simpler way to control the computer than by issuing commands via the command line the GUI allows a user to control the computer by using the mouse and pointing and clicking at objects on the screen each OS has a different feel Mac OS - has a standard set of me us always listed along the top of the the desktop and each application software adds to the menu selections. Windows 7 - there is no desktop level menu selection, but instead each software title has its own set of menus. Windows 8 - marketed as following the touch screen approach rather than point and click. Linux - GUIs include Gnome and KDE. both provide desktop icons for shortcuts and each window has minimize, maximize and close buttons, among others. Each of these interfaces is based on the idea of "point and click". Cell phones and tablets are based on touch screens / gesture based interface

user accounts / administrator accounts

the admin account is also referred to as 'root' or 'superuser' / comes with an admin password in Windows, the account is called "Administrator" in Linux, the account is called "root" ('su command' to switch users) or ('sudo command' to run under the context of another user, such as superuser) typically, "su" is used to change from one user account to another by saying "su username" if you do "su" without the username, then you are requesting to change to root you do not have to log out (since its run by the command line) you can open numerous windows, some run/controlled by the user and some as root the Administrator account is the owner of all of the system software and some of the application software in Linux, an "Is -I" (long listing) of directories such as /sbin, /usr/ bin, /usr/sbin will demonstrate that many of the programs and files are owned by root (who is the only one with access to write or execute them, but others can view them)

NFS (Network File System)

the most popular file server in the Unix/Linux world

Software

the term for systems and programs that are developed, as a result of programming and scripting efforts by individuals, to perform a business function. software is used at the operating system level to control hardware and enable interactions with people using IT. software can enable acceptance of online purchases, process employee time slips or new user password requests.

Linux/Unix Operating Systems

two ways to issue commands: through the GUI and by typing in commands at a command line prompt (windows and Mac also have command line prompts available but most users don't bother with them) linux/unix users often prefer the command line over the GUI

Web Server

web server: role is to respond to HTTP requests The open source Apache server is the most popular web server used today


Ensembles d'études connexes

Live Virtual Machine Lab 12.3: Module 12 High Availability and Disaster Recovery Concepts

View Set

Streptococcus pyogenes Group A Streptococcus

View Set

Physics Conceptual Questions (Exam #1 Practice)

View Set

Chapter 10 Anatomy Homework Notes

View Set