On this project we are going to mention few topics since Operating systems is broad and extensive only few chapters will be include in this project. This information comes from "Guide to Operating Systems Fifth Edition by Greg Tomsho."
An Introduction to Operating Systems
A computer's functions and features can be broken down into three basic tasks all computers perform: input, processing, and output. Information is input to a computer from a device such as keyboard of from storage device such as hard drive; the central processing unit (CPU) processes the information, and then output is usually created. An operating system (OS) is a specialized computer program that provides the following features:
The CPU is the chip that performs the actual computational and logic work. Most modern PCs have one such chip, and are referred to as single-processor computers. In reality, to ensure complete functionality,the CPU requires several support chips, such as chips that help manage communication with devices and device drivers. Chip technology continues to develop with the addition of multicore processors. A processor core is the part of the CPU that reads and executes basic instrucions, such as reading and writing data from and to memory or executing an arithmetic operation. CPUs were originally created to have only one core and thus perform only one instruction at a time. A multicore processor has two or more cores—for exmaple, a dual-core processor contains two cores and a quad-core processor has four. The most processor cores used in a traditional PC desktops and servers is 16 as of this writing, but high-end CPUs, such as Intel's Knights Landing, have up to 72 cores. Development continues in this area, and scientists so far have put as many as 1000 cores on a single CPU chip.
Basic CPU Architecture
Most CPUs are composed of the following elements:
Cloud computing is a networking model in which data, applications, and processing power are managed by servers on the Internet; users of these resources pay for what they use rather than for the equipment and software needed to provide resources. It's like paying only for cell phone minutes you use instead of paying for the towers and switching equipment needed to make your phone work. The word cloud is used to obscure the details of equipment and software that actually provide resources. For the most part, customers don't care whether equipment consists of Windows or Linux servers, large tower computers, or rack- mounted computers, as long it works. For many companies, cloud computing's allure is based on the following benefits: reduced physical plant cost, recude upfront cost, and reduced personnel costs. Although cloud computing has seemingly limitless applications, three main categories of cloud computing have taken center stage:
The prhase as a service simply means that the resource resides on another server or network than the one using the resource, and customers use it as a paid service. You might also hear the term SPI model, which is based on the combination of the three aforementioned "as a service" terms (Software, Platform, Infrastructure).
Software as a Service
Software as a service (SaaS)
is also called hosted applications or on-demand applications
becasue the customer doesn't actually buy any software that's installed on its own equipment. Instead, the customer
pays for the use of applications that run on a service provider's network.The most wellknown examples are Google Apps
and Microsoft Office 365.
Platform as a Service
Platform as a service (PaaS)
—aslo called hosted platform—is similar to SaaS,
but the customer develops aplications with the service provider's tool and infrastructure. After applications
are developed, they can be delivered to the customer's users from the provider's servers. This setup differs
from SaaS, in which the service provider owns the applications delivered to users; with PaaS, the customer
develops and owns the application and then delivers it to a third party.
The most common PaaS products are Salesforce.com's Apex, Azure for Windows, Google's App Engine for Python
and Java, WaveMaker for Ajax, and Engine Yard for Ruby on Rails.
Infrastructure as a Service
Infrastructure as a service (IaaS)
, or hosted infrastructure, allows companies to use a
vendor's storage or even entire virtual servers as needed. Traditionally, if a company needs another 100GB
of storage to house a new database, it has to buy a new hard drive—assuming the server can accommodate
a new hard drive. By using IaaS, the company simply pays for another 100GB of space without worrying about
how the space is actually provided. In addition, if a customer needs another server to handle its application
workload, it simply pays for the amount of processing and storage the additional server actually requires
instead of paying for the physical device. In most cases, IaaS run as virutal machines on more powerful physical
servers.
The Fundamentals of Network Communication
A computer network consists of two or more computers connected by some kind of transmission medium, such as a cable or airwaves. After they're connected, correctly configured computers can communicate with one another. The primary motivations for networking are to share resources, such as printers and hard drives; to share information, such as word-processing files; and to communicate by using applications such as e-mail. These motivations are important, especially for businesses, but another motivating factor for both businesses and home users is to "get online"—to access the Internet.
Network Components
These are the required components to network a computer:
The preceding hardware components make a stand-alone computer into a networked computer, but software is also needed to interact with network hardware and communicate with other computers on the network. Network software transform a stand-alone OS into a network OS. It's the software that allows a word-processing program to open a document on a server and knows how to request a Web page or send an e-mail. It's also the software that communicates between the OS and network hardware.
Network software can be divided into the following: