Computer Hardware and Operating Systems

Basics of Computer Hardware

Computer Basics

A computer is an electronic device that manipulates information, or "data." It has the ability to store, retrieve, and process data. You can use a computer to type documents, send email, and browse the internet. You can also use it to handle spreadsheets, accounting, database management, presentations, games, and more. 

All types of computers consist of two basic parts: 

Hardware is any part of your computer that has a physical structure, such as the computer monitor or keyboard. 

 

 

 

Software is any set of instructions that tells the hardware what to do. It is what guides the hardware and tells it how to accomplish each task. Some examples of software are web browsers, games, and word processors such as Microsoft Word.


 

 

What are the Different Types of Computers?

 

 

 

 

 

 

 

 

 

 

Understanding Operating Systems

An operating system is the most important software that runs on a computer. It manages the computer's memory, processes, and all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer's "language." Without an operating system, a computer is useless.

 

The Operating System's Job

You've probably heard the phrase boot your computer, but do you know what that means? Booting is the process that occurs when you press the power button to turn your computer on. During this process (which may take a minute or two), the computer does several things:
  • It runs tests to make sure everything is working correctly.
  • It checks for new hardware.
  • It then starts up the operating system.


 Windows 7 startup screen



 Once the operating system has started up, it manages all of the software and hardware on the computer. Most of the time, there are many different programs running at the same time, and they all need to access your computer's Central Processing Unit (CPU), memory, and storage. The operating system coordinates all of this to make sure that each program gets what it needs. Without the operating system, the software wouldn't even be able to talk to the hardware, and the computer would be useless.



 Windows 7, after starting up

 

 

Microsoft Windows

Microsoft created the Windows operating system in the mid-1980s. Over the years, there have been many different versions of Windows, but the most recent ones are Windows 8 (released in 2012), Windows 7 (2009), and Windows Vista (2007). Windows comes preloaded on most new PCs, which helps to make it the most popular operating system in the world.

 

Windows - Boot process

 

 

 

 

  • BIOS: performs Power On Self Test (POST)
  • BIOS: BIOS Bootstrapping loads MBR from the boot device specified/selected by the BIOS

  • MBR: contains a small amount of code that reads the partition table, the first partition marked as active is determined to be the system volume
  • MBR: loads the boot sector from the system volume







  • BOOT SECTOR: reads the root directory of the system volume at loads NTLDR
  
 A boot sector or boot block is a region of a hard disk, floppy disk, optical disc, or other data storage device that contains machine code to be loaded into random-access memory (RAM) by a computer system's built-in firmware. The purpose of a boot sector is to allow the boot process of a computer to load a program (usually, but not necessarily, an operating system) stored on the same storage device.
 




  • NTLDR: reads BOOT.INI from the system volume to determine the boot drive (presenting a menu if more than 1 entry is defined)
  • NTLDR: loads and executes NTDETECT.COM from the system volume to perform BIOS hardware detection
  • NTLDR: loads NTOSKRNL.EXE, HAL.DLL, BOOTVID.DLL (and KDCOM.DLL for XP upwards) from the boot (Windows) volume
  • NTLDR: loads \WINDOWS\SYSTEM32\CONFIG\SYSTEM which becomes the system hive HKEY_LOCAL_MACHINE\System
  • NTLDR: loads drivers flagged as "boot" defined in the system hive, then passes control to NTOSKRNL.EXE
  • NTOSKRNL.EXE: brings up the loading splash screen and initializes the kernel subsystem
  • NTOSKRNL.EXE: starts the boot-start drivers and then loads & starts the system-start drivers
  • NTOSKRNL.EXE: creates the Session Manager process (SMSS.EXE)
  • SMSS.EXE: runs any programs specified in BootExecute (e.g. AUTOCHK, the native API version of CHKDSK)
  • SMSS.EXE: processes any delayed move/rename operations from hotfixes/service packs replacing in-use system files
  • SMSS.EXE: initializes the paging file(s) and the remaining registry hives

 

** before this step completes, bugchecks will not result in a memory dump as we need a working page file on the boot (Windows) volume **

  • SMSS.EXE: starts the kernel-mode portion of the Win32 subsystem (WIN32K.SYS)
  • SMSS.EXE: starts the user-mode portion of the Win32 subsystem (CSRSS.EXE)
  • SMSS.EXE: starts WINLOGON.EXE
  • WINLOGON.EXE: starts the Local Security Authority (LSASS.EXE)
  • WINLOGON.EXE: loads the Graphical User Identification and Authentication DLL (MSGINA.DLL by default)
  • WINLOGON.EXE: displays the logon window
  • WINLOGON.EXE: starts the services controller (SERVICES.EXE)

** at this point users can logon **

 

  • SERVICES.EXE: starts all services markes as automatic

 

NOTES:

 
The SYSTEM volume is the partition from which the boot process starts, containing the MBR, boot sector, NTLDR, NTDETECT.COM & BOOT.INI

The BOOT volume is the partition which contains the Windows folder - this can be a logical partition

 

Example 1:
2 hard disks, 0 and 1
Disk 0, partition 0 is the SYSTEM volume
Windows is installed to "D:" which is disk 1, partition 0 [even if disk 0 has an extended & logical partitions] - this is the BOOT volume
- if either disk fails or is removed, Windows cannot boot


Example 2:
1 hard disk, 2 partitions
Disk 0, partition 0 is the SYSTEM volume
Disk 0, partition 1 is the BOOT volume [D:]
- add another disk to the system and create a partition on it, this becomes D: and Windows will not boot [disk 0, partition 1 now becomes E:]

 

Disk partitioning

Disk partitioning is the act of dividing a hard disk drive (HDD) into multiple logical storage units referred to as partitions, to treat one physical disk drive as if it were multiple disks, so that different filesystems can be used on each partition.

 

 

 

 

Primary partition

 A primary partition contains one file system. In DOS and all versions of Microsoft Windows systems, what Microsoft calls the system partition was required to be the first partition. All Windows operating systems from Windows 95 onwards can be located on ( almost ) any partition, but the boot files (io.sys, bootmgr, ntldr, etc.) must be on a primary partition.

 

Extended partition

An HDD may contain only one extended partition; the extended partition can be subdivided into multiple logical partitions. In DOS/Windows systems, each logical partition may then be assigned an additional drive letter.

 

Benefits of multiple partitions

Creating more than one partition has the following advantages:

  • Separation of the operating system (OS) and program files from user files. This allows image backups (or clones) to be made of only the operating system and installed software.
  • Having a separate area for operating system virtual memory swapping/paging.
  • Keeping frequently used programs and data near each other.
  • Having cache and log files separate from other files. These can change size dynamically and rapidly, potentially making a file system full.
  • Use of multi-boot setups, which allow users to have more than one operating system on a single computer. For example, one could install Linux, BSD, Mac OS X, Microsoft Windows or other operating systems on different partitions of the same HDD and have a choice of booting into any compatible operating system at power-up.
  • Protecting or isolating files, to make it easier to recover a corrupted file system or operating system installation. If one partition is corrupted, other file systems may not be affected.

 

 

 

 

Windows 7

 

 

Linux

Linux (pronounce LINN-ux) is a family of open source operating systems, which means that they can be modified and distributed by anyone around the world. This is very different from proprietary software like Windows, which can only be modified by the company that owns it (Microsoft). The advantages of Linux are that it is free, and there are many different distributions (or versions) that you can choose from. Each distribution has a different look and feel, and the most popular ones include Ubuntu, Mint, and Fedora.

 Ubuntu Linux

 

 

Operating Systems for Mobile Devices

The operating systems that we've been talking about were designed to run on desktop or laptop computers. Mobile devices such as phones, tablet computers, and mp3 players are very different from desktop and laptop computers, so they run operating systems that are designed specifically for mobile devices. Examples of mobile operating systems include Apple iOS, Windows Phone, and Google Android.

 Apple iOS running on an iPad

 

 

Backup, Restore and Recovery of OS

 

Backup and Restore option in windows

Windows Backup allows you to make copies of data files for all people that use the computer. You can let Windows choose what to back up or you can select the individual folders, libraries, and drives that you want to back up.

 

 

 

Recovery option in windows

Basic recovery - Save point and Restore

 

 

 

 

 

 

 

Advanced recovery - System Image and Repair Disc

 

 

 

 

 

 

 

 

 

 

 

Computer Information Representation:

 Internal Electronic circuits(Transistor) works like our electrical circuit in our home as below. 

 

 

 

 

 

In the below transistor illustration, there is no power supply pass through into this transistor, which means it is in OFF state.  if we switch on the power supply then it will be ON state

 

 

 

 

 

 

 

 

Computer needs transistor for below operations

 

 

 

 Human decimal system uses below number system to identify numbers

 

 

  Computer used below BINARY system to recognize numbers

 

 

 

 

 

 

 







The reason why computer scientist groups all the bits as a byte (8 bit) is to avoid false start and finish problem during storage representation of data in memory.  So solution is grouping bits as a byte like below.


  How computer stores Colors, images, Audio and video

 

  Computer stores everything as a numbers inside of its memory

 

 

 

  Computer represents TEXT data in ASCII or UNICODE format which is universal standards

 

 

 

 

 

Computation of Computer

 

  Logic gates are used to perform calculations in computer through CPU...All the logic gates are formed based on the alignments of transistors.

 

 

 

 

 

 

 

 

 

 

 

 

Below is Adder Logic gates to add two bits

 

 

 

 

 

 Carry bit problem

Carry bit problem in BINARY addition

 

 

  




Carry bit problem in DECIMAL addition

 

 

Logic gates handle Carry bit problem as below

 

 

 

Below logic gate circuits joint together to perform large numbers calculation

 

 

 Lot of logic gates circuit are formed to perform below works in computer CPU

 

 

 

 

 Microprocessor executes program from memory with FETCH commands as below

 

 

 

 

 

 

 

 

 

 

 

 

 

Computer Programming

 

Below instructions are human readable program but computer only understands Machine language.

 

 

 

 Programmer only writes program with Mnemonic keyword, but computer decodes these Mnemonic word as Microprocessor execute code to process instructions

 

 Even today computer programs are sequence of bits and bytes and stored in computer memory for execution.  In early days, programmer had to insert these sequence of bits into memory to execute simple program.  As it was very tedious process, computer scientist invented High Level programming language.





 

 

 

 Operation system is set of programs and library which helps user interact with computer through keyboard, mouse and Screen.  This will stand in between hardware and users' programs to facilitate user to execute their instructions without any difficulties.

 

 

 

 

 

 

 

 

 

Introduction to Arduino Hardward Board

Why We need Arduino?

 

 

 

 

 



Demo Arduino: Hello World









Programming Arduino


















Demo: Programming 








The Arduino IDE






















Arduino Hardware




















Demo Analog Pins







Using BreadBoard:




Demo BreadBoard










Working with Sensors and Shields


















Demo Arduino LCD Screen:



















































Building a Real Application With Kinect

 

 

 

















After installation while running connect toolkit




Creating Windows application for Kinect






























Capturing Image Data





Creating WPF Application for Image capturing




































Drawing a Shape via Kinect








Capturing Depth Data


















Detecting Humans



































Tracking Gestures








 



















Adding Audio Commands









































Understanding Server Hardware

 

















Hardware Identification


























































































Hardware Evaluation













































































Hardware Selection











































Hardware Maintenance














No comments:

Post a Comment