Sunday, 24 August 2014

Features of Windows OS and Advantages and Disadvantages of Windows OS

Best Features of Windows Operating System

1. Speed

Even aside from incompatibilities and other issues that many people had with Vista, one of the most straightforward was speed – it just felt too sluggish compared to XP, even on pumped up hardware. Windows 7 brings a more responsive and sprightly feel and Microsoft has spent a lot of time and effort getting the Start Menu response just right.

Microsoft has also recognized the need for improved desktop responsiveness, which gives the impression that the computer is responding to the user and that they are in control – something that was often lacking with Vista.

You can also expect faster boot times. And the boot sequence is now not only prettier than it was with Vista, but it’s speedier too.

2. Compatibility

In simple terms, compatibility on Windows 7 will be far better than it was with Vista. Many programs that individuals and companies used on Windows XP did not work immediately and required updates, but with Windows 7 almost all applications that work on Vista should still run.

3. Lower Hardware Requirements

Vista gained a reputation for making even the beefiest hardware look rather ordinary. Windows 7, however, will run well on lower end hardware, making the transition from Window XP less painful.

Microsoft is even pushing Windows 7 for netbooks. This could provide a modern replacement for Windows XP, which has found a new lease of life as the OS of choice on netbooks, supplanting Linux. The downside is that Windows 7 Starter Edition, as it will be called, will be limited to only three applications running at the same time.

4. Search and Organization

One of the best things about Windows 7 is the improved search tool, which now rivals Mac OS X’s Spotlight to be able to find what you need quickly and easily. For example, typing ‘mouse’ will bring up the mouse option within the control panel or typing a word will display it and split it up neatly into files, folders and applications.

Also introduced is the concept of Libraries, which takes the ‘My Documents’ concept a stage further. The various Libraries, such as Documents and Pictures, will watch multiple locations which you can add yourself, so you don’t have to keep everything in one place.

5. Safety and Security

New security features in Windows include two new authentication methods tailored towards touchscreens (PINs and picture passwords), the addition of antivirus capabilities to Windows Defender (bringing it in parity with Microsoft Security Essentials) Smart Screen filtering integrated into Windows, and support for the "Secure Boot" functionality on UEFI systems to protect against malware infecting the boot process. Family Safety offers Parental controls, which allows parents to monitor and manage their children's activities on a device with activity reports and safety controls. Windows 8 also provides integrated system recovery through the new "Refresh" and "Reset" functions, including system recovery from USB drive. Windows 8's first security patches would be released on November 13, 2012; it would contain three fixes deemed "critical" by the company.

6. Interface and Desktop

Windows introduces significant changes to the operating system's user interface, many of which are aimed at improving its experience on tablet computers and other touchscreen devices. The new user interface is based on Microsoft's Metro design language, and uses a Start screen similar to that of Windows Phone as the primary means of launching applications. The Start screen displays a customizable array of tiles linking to various apps and desktop programs, some of which can display constantly updated information and content through "live tiles". As a form of multitasking, apps can be snapped to the side of a screen. Alongside the traditional Control Panel, a new simplified and touch-optimized settings app known as "PC Settings" is used for basic configuration and user settings. It does not include many of the advanced options still accessible from the normal Control Panel.

Microsoft Windows 8.1 Desktop Wallpaper

Microsoft Windows 8.1

7. Taskbar/Start menu

At first glance, the task bar looks like nothing has much has changed since Vista. In fact, that’s not the case and it’s a lot more powerful. Microsoft is now making best use of its aero technology. By default, taskbar icons are now larger and items are grouped together and are not labelled with clumsy text.

If you have multiple Word documents or Windows Explorer windows open then you’ll see a stack appear on the task bar. Hover the mouse over the app and each Window will be visible in a thumbnail. Hover over each thumbnail and it will become visible, while all other open windows temporarily disappear, save for their outlines. You can close each document or Window down from the thumbnail directly or click on it to bring it to the front.

In the Start menu, a small arrow to the right of applications such as Word now expands to give a list of recent documents and any can be pinned so you can keep one permanently on the list.

Advantages and Disadvantages of Microsoft Windows

The biggest advantage of Windows is that it provides ready-made solutions that can be implemented by just about anyone who’s ever used a computer.

Microsoft Office is also 100% compatible with any file or document produced in the office space in America. In fact, MS Office isn’t compatible with other software and systems, so much as other software and systems strive to be compatible with Office!

Finally, software services are in large supply when it comes to Windows. From Microsoft’s official services, to Maryland software support, to Microsoft certification training for individuals, there is no lack of software support for Windows.

Of course, Windows detractors will tell you that there is more need for software services when it comes to Windows. And while this worldwide operating system is far from trash, it is often not as stable as its Mac or Linux counterparts.

The only other major disadvantage of using Windows in the workplace is that over 95% of all viruses and malicious software are written for the Windows OS. This means you have to double-down all security measures if you’re using Microsoft software across the board.

Conclusion

A word of caution: The security vulnerabilities of Windows operating systems make them popular targets for programmers of malicious code. Whether these vulnerabilities are due to their enormous share of the market (making them enormously attractive) or coding errors on the part of Microsoft, the result is the same: There is a constant need for every system administrator and computer owner to proactively keep all Windows systems as secure as possible through vigilant access control and patch management.

Saturday, 23 August 2014

History of Windows OS Versions for Personal, Server and Mobile Devices

Microsoft Windows Operating System

Windows OS, computer Operating System (OS) developed by Microsoft Corporation to run personal computers (PCs). Featuring the first Graphical User Interface (GUI) for IBM-compatible PCs, the Windows OS soon dominated the PC market. Approximately 90 percent of PCs run some version of Windows.

Microsoft co-founders Paul Allen (left) and Bill Gates

Microsoft co-founders Paul Allen (left) and Bill Gates

The first version of Windows, released in 1985, was simply a GUI offered as an extension of Microsoft’s existing disk operating system, or MS-DOS. Based in part on licensed concepts that Apple Inc. had used for its Macintosh System Software, Windows for the first time allowed DOS users to visually navigate a virtual desktop, opening graphical “windows” displaying the contents of electronic folders and files with the click of a mouse button, rather than typing commands and directory paths at a text prompt.

Subsequent versions introduced greater functionality, including native Windows File Manager, Program Manager, and Print Manager programs, and a more dynamic interface. Microsoft also developed specialized Windows packages, including the network supported Windows for Workgroups and the high-powered Windows NT, aimed at businesses. The 1995 consumer release Windows 95 fully integrated Windows and DOS and offered built-in Internet support, including the World Wide Web browser Internet Explorer.

With the 2001 release of Windows XP, Microsoft united its various Windows packages under a single banner, offering multiple editions for consumers, businesses, multimedia developers, and others. Windows XP abandoned the long-used Windows 95 kernel (core software code) for a more powerful code base and offered a more practical interface and improved application and memory management. The highly successful XP standard was succeeded in late 2006 by Windows Vista, which experienced a troubled roll-out and met with considerable marketplace resistance, quickly acquiring a reputation for being a large, slow, and resource-consuming system. Responding to Vista’s disappointing adoption rate, Microsoft developed Windows 7, an OS whose interface was similar to that of Vista but was met with enthusiasm for its noticeable speed improvement and its modest system requirements.

History of Windows Operating System

Microsoft Founder  Bill Gates With Young Old Friends

Microsoft Founder Bill Gates

Microsoft Operating Systems for Personal Computers

MS-DOS (Microsoft disk operating system)

MS-DOS Originally developed by Microsoft for IBM, MS-DOS was the standard operating system for IBM-compatible personal computers. The initial versions of DOS were very simple and resembled another operating system called CP/M. Subsequent versions have become increasingly sophisticated as they incorporated features of minicomputer operating systems.

Microsoft MS DOS Version 3.30 Prompt Screen

Microsoft MS DOS Version 3.30 Prompt Screen

Windows 1.0 – 2.0 (1985-1992)

Introduced in 1985, Microsoft Windows 1.0 was named due to the computing boxes, or "windows" that represented a fundamental aspect of the operating system. Instead of typing MS-DOS commands, windows 1.0 allowed users to point and click to access the windows.

Microsoft Windows Version 2.0(1985-1992)

Microsoft Windows Version 2.0

In 1987 Microsoft released Windows 2.0, which was designed for the designed for the Intel 286 processor. This version added desktop icons, keyboard shortcuts and improved graphics support.

Windows 3.0 – 3.1 (1990–1994)

Microsoft released Windows 3.0 in May, 1900 offering better icons, performance and advanced graphics with 16 colors designed for Intel 386 processors. This version is the first release that provides the standard "look and feel" of Microsoft Windows for many years to come. Windows 3.0 included Program Manager, File Manager and Print Manager and games (Hearts, Minesweeper and Solitaire). Microsoft released Windows 3.1 in 1992.

Microsoft Windows Version 3.1(1990–1994)

Microsoft Windows Version 3.1

Windows NT 3.1 - 4.0 (1993-1996)

A version of the Windows operating system. Windows NT (New Technology) is a 32-bit operating system that supports preemptive multitasking. There are actually two versions of Windows NT: Windows NT Server, designed to act as a server in networks, and Windows NT Workstation for stand-alone or client workstations.

Microsoft Windows NT  4 Logo (1993-1996)

Microsoft Windows NT 4

Windows 95 (August 1995)

A major release of the Microsoft Windows operating system released in 1995. Windows 95 represents a significant advance over its precursor, Windows 3.1. In addition to sporting a new user interface, Windows 95 also includes a number of important internal improvements. Perhaps most important, it supports 32-bit applications, which means that applications written specifically for this operating system should run much faster.

Microsoft Windows 95 Welcome Screen (August 1995)

Microsoft Windows 95 Welcome Screen

Although Windows 95 can run older Windows and DOS applications, it has essentially removed DOS as the underlying platform. This has meant removal of many of the old DOS limitations, such as 640K of main memory and 8-character file names.

Other important features in this operating system are the ability to automatically detect and configure installed hardware (plug and play).

Windows 98 (June 1998)

Windows 98 offers support for a number of new technologies, including FAT32, AGP, MMX, USB, DVD, and ACPI. Its most visible feature, though, is the Active Desktop, which integrates the Web browser (Internet Explorer) with the operating system. From the user's point of view, there is no difference between accessing a document residing locally on the user's hard disk or on a Web server halfway around the world.

Microsoft Windows 98 CD Box(June 1998)

Microsoft Windows 98

Windows 2000 (February 2000)

Often abbreviated as "W2K," Windows 2000 is an operating system for business desktop and laptop systems to run software applications, connect to Internet and intranet sites, and access files, printers, and network resources. Microsoft released four versions of Windows 2000: Professional (for business desktop and laptop systems), Server (both a Web server and an office server), Advanced Server (for line-of-business applications) and Datacenter Server (for high-traffic computer networks).

Microsoft Windows 2000 Professional(February 2000)

Microsoft Windows 2000 Professional

Windows ME - Millennium Edition (September 2000)

The Windows Millennium Edition, called "Windows Me" was an update to the Windows 98 core and included some features of the Windows 2000 operating system. This version also removed the "boot in DOS" option.

Microsoft Windows ME(Millennium Edition) CD Box (September 2000)

Microsoft Windows ME(Millennium Edition)

Windows XP (October 2001)

Windows XP was first introduced in 2001. Along with a redesigned look and feel to the user interface, the new operating system is built on the Windows 2000 kernel, giving the user a more stable and reliable environment than previous versions of Windows. Windows XP comes in two versions, Home and Professional. Microsoft focused on mobility for both editions, including plug and play features for connecting to wireless networks. The operating system also utilizes the 802.11x wireless security standard. Windows XP is one of Microsoft's best-selling products.

Microsoft Windows xp Logo

Microsoft Windows XP

Windows Vista (November 2006)

Windows Vista offered an advancement in reliability, security, ease of deployment, performance and manageability over Windows XP. New in this version was capabilities to detect hardware problems before they occur, security features to protect against the latest generation of threats, faster start-up time and low power consumption of the new sleep state. In many cases, Windows Vista is noticeably more responsive than Windows XP on identical hardware. Windows Vista simplifies and centralizes desktop configuration management, reducing the cost of keeping systems updated.

Microsoft Windows Vista Logo

Microsoft Windows Vista

Windows 7 (October, 2009)

Windows 7 made its official debut to the public on October 22, 2009 as the latest in the 25-year-old line of Microsoft Windows operating systems and as the successor to Windows Vista (which itself had followed Windows XP). Windows 7 was released in conjunction with Windows Server 2008 R2, Windows 7's server counterpart. Enhancements and new features in Windows 7 include multi-touch support, Internet Explorer 8, improved performance and start-up time, Aero Snap, Aero Shake, support for virtual hard disks, a new and improved Windows Media Center, and improved security.

Microsoft Windows 7 Logo

Microsoft Windows 7

Windows 8 (October 2012)

Windows 8 is a completely redesigned operating system that's been developed from the ground up with touchscreen use in mind as well as near-instant-on capabilities that enable a Windows 8 PC to load and start up in a matter of seconds rather than in minutes. Windows 8 will replace the more traditional Microsoft Windows OS look and feel with a new "Metro" design system interface that first debuted in the Windows Phone 7 mobile operating system. The Metro user interface primarily consists of a "Start screen" made up of "Live Tiles," which are links to applications and features that are dynamic and update in real time. Windows 8 supports both x86 PCs and ARM processors. Online media sites indicate that this version will be available in 2012, with October and fall being the most often quoted time frame.

Microsoft Windows 8 Logo

Microsoft Windows 8

Windows 8.1 (October 2013)

Windows 8.1 advances the Windows 8 vision of providing a powerful collection of apps and cloud connectivity on great devices; it’s everything people loved about Windows 8, plus some enhancements.

Microsoft Windows 8.1 Logo

Microsoft Windows 8.1

Microsoft Operating Systems for Servers

Windows Server (March 2003)

Windows Server is a series of Microsoft server operating systems. Windows servers are more powerful versions of their desktop operating system counterparts and are designed to more efficiently handle corporate networking, Internet/intranet hosting, databases, enterprise-scale messaging and similar functions. The Windows Server name made its debut with the release of Windows Server 2003 and continues with the current release, Windows Server 2008 R2, which shares its codebase with Windows 7. Windows Server 2008 R2 debuted in October 2009.

Windows Home Server (January 2007)

Announced in January 2007, Windows Home Server (WHS) is a "consumer server" designed to use with multiple computers connected in the home. Home Server allows you to share files such as digital photos and media files, and also allows you to automatically backup your home networked computers. Through Windows Media Connect, Windows Home Server lets you share any media located on your WHS with compatible devices.

Windows Server 2008 (February 2008)

Windows Server 2008 is Fully multi-componentized operating system. It Improved hot patching, a feature that allows non-kernel patches to occur without the need for a reboot. It Support for being booted from Extensible Firmware Interface (EFI)-compliant firmware on x86-64 systems. Dynamic Hardware Partitioning Support for the hot-addition or replacement of processors and memory, on capable hardware.

Windows Server 2008 R2 (October 2009)

It is the first 64-bit-only operating system released from Microsoft. Version enhancements include new functionality for Active Directory, new virtualization and management features, version 7.5 of Microsoft IIS Web Server and support for up to logical processors.

Windows Server 2012 (September 2012)

Windows Server 2012 has no support for Itanium-based computers, and has four editions. Various features were added or improved over Windows Server 2008 R2 (with many placing an emphasis on cloud computing), such as an updated version of Hyper-V, an IP address management role, a new version of Windows Task Manager, and ReFS, a new file system. Windows Server 2012 received generally good reviews in spite of having included the same controversial Metro-based user interface seen in Windows 8.

Windows Server 2012  R2 Editions and Features

Windows Server 2012 Editions and Features

Microsoft Operating Systems for Mobile Devices

Windows CE (November 2006)

A version of the Windows operating system designed for small devices such as personal digital assistants (PDAs) (or Handheld PCs in the Microsoft vernacular). The Windows CE graphical user interface (GUI) is very similar to Windows 95 so devices running Windows CE should be easy to operate for anyone familiar with Windows 95.

Windows Mobile (April 2000)

A mobile operating system for smartphones and mobile devices from Microsoft based on the Windows CE kernel and designed to look and operate similar to desktop versions of Microsoft Windows. Windows Mobile has largely been supplanted by Windows Phone 7, although Microsoft did release, in 2011, Windows Embedded Handheld 6.5, a mobile OS compatible with Windows Mobile 6.5 that's designed for enterprise mobile and handheld computing devices.

Windows Phone (November 2010)

A mobile operating system for smartphones and mobile devices that serves as the successor to Microsoft's initial mobile OS platform system, Windows Mobile. Unlike Windows Mobile, Windows Phone 7 (also referred to as WinPhone7) is targeted more to the consumer market than the enterprise market, and it replaces the more traditional Microsoft Windows OS look and feel with a new "Metro" design system user interface. Windows Phone 7 features a multi-tab Internet Explorer Mobile Web browser that uses a rendering engine based on Internet Explorer 9 as well Microsoft Office Mobile, a version of Microsoft Office that’s tailored for mobile devices.

Windows Phone 8.1 Operating System

Windows Phone 8.1

Conclusion

What started as a microcomputer operating system has grown to include complex multiplatform software that can be used to run computing systems of all sizes. Windows’ commercial success is unquestioned, and its products have continued to evolve in complexity and scope to cover many global markets.

Windows products are ubiquitous, including Windows Embedded, Windows Automotive, and Windows Mobile, to name a few of the many specialty versions of this operating system. Microsoft offers technical support for operating systems that are no longer sold, including Windows NT and even MS-DOS.

Thursday, 7 August 2014

Linux OS History, Features, Advantages and Disadvantages

Linux Operating System

Linux is, in simplest terms, an Operating System. It is the software on a computer that enables applications and the computer operator to access the devices on the computer to perform desired functions. The Operating System (OS) relays instructions from an application to, for instance, the computer's processor. The processor performs the instructed task, then sends the results back to the application via the Operating System.

Explained in these terms, Linux is very similar to other Operating Systems, such as Windows and OS X.

But something sets Linux apart from these Operating Systems. The Linux Operating System represented a $25 billion ecosystem in 2008. Since its inception in 1991, Linux has grown to become a force in computing, powering everything from the New York Stock Exchange to mobile phones to supercomputers to consumer devices.

As an open Operating System, Linux is developed collaboratively, meaning no one company is solely responsible for its development or ongoing support. Companies participating in the Linux economy share research and development costs with their partners and competitors. This spreading of development burden amongst individuals and companies has resulted in a large and efficient ecosystem and unheralded software innovation.

Over 1,000 developers, from at least 100 different companies, contribute to every kernel release. In the past two years alone, over 3,200 developers from 200 companies have contribute to the kernel--which is just one small piece of a Linux Distribution.

Fast Linux Operating System Wallpaper

Linux was born out of the desire to create a free software alternative to the commercial UNIX environments. Its history dates back to 1991, or further back to 1983, when the GNU project, who’s original aims where to provide a free alternative to UNIX, was introduced. Linux runs on a much wider range of platforms than most UNIX environments, such as the Intel®/AMD led x86 platform. Most UNIX variants run on just one architecture.

What is Linux?

Linux is an example of Open Source software development and Free Operating System (OS).

Linux Operating System Wallpaper

Architectures

Linux Originally developed for Intel's x86 hardware, ports available for over two dozen CPU types including ARM.

File system Support

Linux use Ext2, Ext3, Ext4, Jfs, ReiserFS, Xfs, Btrfs format.

Usage

Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers and video game consoles, to mainframes and supercomputers.

GUI

Linux typically provides two GUIs, KDE and Gnome. But Linux GUI is optional.

Market Share for Desktop PC

The market share of Linux is about 1.29%.

Desktop Operating System Stats 2014

Threat Detection and Solution

In case of Linux, threat detection and solution is very fast, as Linux is mainly community driven and whenever any Linux user post s any kind of threat, several developers start working on it from different parts of the world.

Cost

Linux can be freely distributed, downloaded freely, distributed through magazines, Books etc. There are priced versions for Linux also, but they are normally cheaper than Windows.

Security

Linux has had about 60-100 viruses listed till date.

Text Mode Interface

BASH (Bourne Again Shell) is the Linux default shell. It can support multiple command interpreters.

Development and Distribution

Linux is developed by Open Source development i.e. through sharing and collaboration of code and features through forums etc. and it is distributed by various vendors such as Debian, Red Hat, SUSE, Ubuntu, and GentuX etc.

Linux Distributions Logo and Name

User

Linux Operating System for everyone, from home users to developers and computer enthusiasts alike.

Kernel

Linux kernel is freely available. Linux kernel is developed by the community. Linus Torvalds oversees things.

Patches

Linux patches are not highly tested as UNIX patches.

Linux Distribution Names

A few popular names:
Redhat Enterprise Linux, Fedora Linux, Debian Linux, Suse Enterprise Linux, Ubuntu Linux

Linux Advantages

One of the most valued advantages of Linux over the other platforms lies with the high security levels it ensures. Every Linux user is happy to work in a virus-free environment and use the regular virus-prevention time needed when working with other Operating Systems for other more important tasks.

Thanks to its open-source distribution, >Linux is being constantly developed and updated by the constantly expanding community of programmers supporting it. Despite its dynamic nature, it is totally complete in terms of functionality and interface. All those ongoing development efforts are made with the sole purpose of keeping the platform flexible and ever adaptable to the changeable 'climate' of the WWW.

Linux in World Wide Web

Due to its innate stability, the Linux-based distributions are a top choice for Internet servers, with a great part of the World Wide Web being powered by Linux. Linux is often used with Apache, thus creating the stable Linux-Apache combination.

As a fundamental part of the web, Linux has deservedly found its place in the popular LAMP open source web platform, which represents a combination between the most popular website building technologies: Linux, Apache (web server), MySQL (database) and PHP/Perl/Python (web application languages).

Disadvantages of Linux

Understanding

Becoming familiar with the Linux Operating System requires patience as well as a strong learning curve. You must have the desire to read and figure things out on your own, rather than having everything done for you.

Compatibility

Because of its free nature, Linux is sometimes behind the curve when it comes to brand new hardware compatibility. Though the kernel contributors and maintainers work hard at keeping the kernel up to date, Linux does not have as much of a corporate backing as alternative Operating Systems. Sometimes you can find third party applications, sometimes you can’t.

Alternative Programs

Though Linux developers have done a great job at creating alternatives to popular Windows applications, there are still some applications that exist on Windows that have no equivalent Linux Application.

Summary

After studying what Linux Operating System is and its relevant characteristics, everyone would agree that this software has made and will continue making history for being so popular and useful.

One of the major challenges that Linux has is to get more people to use it. It does not mean that only a few people is using this Operating System right now, but that since Linux is so powerful, more and more people should get to use it and to enjoy all of the benefits that are found in this wonderful free software.

With this research it is pretended to give a global idea and some specific point to ponder about Linux, so that it can be possible to know better the benefits and limitations that this Operating System has.

It’s important that people can consider Linux as a good option for many tasks, and that users of computers are not limited by stereotypes, but that they can be open-minded to find the advantages and disadvantages that each Operating System is offering, and doing the best selection from there. By the way, a person is not limited to use exclusively one Operating System. That means that for some tasks, one software is appropriate, and for other tasks, a different software could be best. That’s why it’s better to know about the different options and then to be capable to select the best program or software to use.

Friday, 29 June 2012

Discrete Mathematics Applications and Importance in Computer Science

Discrete mathematics is the branch of mathematics dealing with objects that can assume only distinct, separated values. The term "Discrete Mathematics" is therefore used in contrast with "Continuous Mathematics," which is the branch of mathematics dealing with objects that can vary smoothly (and which includes, for example, calculus). Whereas discrete objects can often be characterized by integers, continuous objects require real numbers.

The study of how discrete objects combine with one another and the probabilities of various outcomes is known as combinatorics. Other fields of mathematics that are considered to be part of discrete mathematics include graph theory and the theory of computation. Topics in number theory such as congruence’s and recurrence relations are also considered part of discrete mathematics.

The study of topics in discrete mathematics usually includes the study of algorithms, their implementations, and efficiencies. Discrete mathematics is the mathematical language of computer science, and as such, its importance has increased dramatically in recent decades.

The set of objects studied in discrete mathematics can be finite or infinite. The term finite mathematics is sometimes applied to parts of the field of discrete mathematics that deals with finite sets, particularly those areas relevant to business.

Research in discrete mathematics increased in the latter half of the twentieth century partly due to the development of digital computers which operate in discrete steps and store data in discrete bits. Concepts and notations from discrete mathematics are useful in studying and describing objects and problems in branches of computer science, such as computer algorithms, programming languages, cryptography, automated theorem proving, and software development. Conversely, computer implementations are significant in applying ideas from discrete mathematics to real-world problems, such as in operations research.

IMPORTANCE OF DISCRETE MATHEMATICS IN COMPUTER SCIENCE

Achieving working knowledge of many principles of computer science requires mastery of certain relevant mathematical concepts and skills. For example, A grasp of Boolean algebra including DeMorgans Law is useful for understanding Boolean expressions and the basics of combinational circuits concepts surrounding the growth of functions and summations are useful for analysis of loop control structures exposure to solving recurrence relations is de rigeur for the analysis of recursive algorithms and an introduction to proof methods facilitates consideration of program correctness and thinking rigorously in general.

Students are introduced to proof techniques before they begin to consider the idea of proving programs correct. They learn about propositional logic and Boolean algebra before they study some very elementary circuits and learn decision control structures and Boolean variables. They are introduced to predicate logic near the time they are beginning programming and learning about variables. They learn about growth of functions big-O notation and summations before they analyze loops and nested loops and they have the tools to begin algorithm analysis from the time they first begin to learn about iterative constructs. In conjunction with an introduction to number theory they do laboratory and programming exercises involving an assortment of integer algorithms.

Students learn about recursive definitions recurrence relations, analyzing recursive algorithms and writing recursive algorithms and programs together in the same course. They study matrices and matrix manipulations in conjunction with the array data structure. They learn about permutations and combinations, relations, graphs, and trees at the same time that their programming knowledge and sophistication are improving and they can do increasingly interesting programming exercises involving these concepts.

Discrete Mathematics

  • Propositional and predicate logic
  • Boolean algebra
  • Functions growth of functions big-O notation
  • Sequences and summations
  • Integers elementary number theory
  • Proof techniques direct indirect contradiction induction
  • Matrices
  • Counting
  • Pigeon hole principle
  • Permutations and combinations
  • Discrete probability
  • Recursive definitions recurrence relations
  • Relations : properties applications representation closures equivalence
  • Graphs : terminology representation isomorphism connectivity paths

Computer Science Topics

  • Computers and Computation
  • Computer System Organization
  • Abstraction problem solving algorithms
  • Logic gates and elementary circuits
  • Algorithm design analysis of simple loops
  • Representation (ASCII binary two’s complement floating point instructions
  • Algorithm correctness loop invariants pre-and post-conditions
  • Machine cycle
  • More algorithm correctness
  • Analysis of nested loops
  • Analysis of recursive algorithms
  • Run time organization run time stack
  • Searching and sorting
  • Trees binary search trees traversals

Programming Constructs and Concepts

  • Pascal program structure
  • Modularity and hierarchical design
  • Variables
  • Real char Boolean integer sub range and enumerated types
  • Input/output
  • Procedures functions parameter passing scope
  • Iterative control structures
  • Decision control structures
  • Text files
  • One dimensional arrays
  • Two dimensional arrays
  • Nested loops
  • Records
  • Pointers and linked lists
  • Recursion
  • Abstract data types stacks and queues

APPLICATIONS OF DISCRETE MATHEMATICS

Theoretical Computer Science

Theoretical computer science includes areas of discrete mathematics relevant to computing. It draws heavily on graph theory and logic. Included within theoretical computer science is the study of algorithms for computing mathematical results. Computability studies what can be computed in principle, and has close ties to logic, while complexity studies the time taken by computations. Automata theory and formal language theory are closely related to computability. Petri nets and process algebras are used to model computer systems, and methods from discrete mathematics are used in analyzing VLSI electronic circuits. Computational geometry applies algorithms to geometrical problems, while computer image analysis applies them to representations of images. Theoretical computer science also includes the study of various continuous computational topics.

Information Theory

Information theory involves the quantification of information. Closely related is coding theory which is used to design efficient and reliable data transmission and storage methods. Information theory also includes continuous topics such as analog signals, analog coding, analog encryption and Mathematical logic.

Information Life Cycle

Mathematical logic

Logic is the study of the principles of valid reasoning and inference, as well as of consistency, soundness, and completeness. For example, in most systems of logic (but not in intuitionistic logic) Peirce's law (((P→Q)→P)→P) is a theorem. For classical logic, it can be easily verified with a truth table. The study of mathematical proof is particularly important in logic, and has applications to automated theorem proving and formal verification of software.

Logical formulas are discrete structures, as are proofs, which form finite trees or, more generally, directed acyclic graph structures (with each inference step combining one or more premise branches to give a single conclusion). The truth values of logical formulas usually form a finite set, generally restricted to two values: true and false, but logic can also be continuous-valued, e.g., fuzzy logic. Concepts such as infinite proof trees or infinite derivation trees have also been studied e.g. infinitely logic.

Set theory

Set theory is the branch of mathematics that studies sets, which are collections of objects, such as {blue, white, and red} or the (infinite) set of all prime numbers. Partially ordered sets and sets with other relations have applications in several areas.

Set theory intersection of two sets

In discrete mathematics, countable sets (including finite sets) are the main focus. The beginning of set theory as a branch of mathematics is usually marked by Georg Cantor's work distinguishing between different kinds of infinite set, motivated by the study of trigonometric series, and further development of the theory of infinite sets is outside the scope of discrete mathematics. Indeed, contemporary work in descriptive set theory makes extensive use of traditional continuous mathematics.

Combinatorics

Combinatorics studies the way in which discrete structures can be combined or arranged. Enumerative combinatorics concentrates on counting the number of certain combinatorial objects - e.g. the twelvefold way provides a unified framework for counting permutations, combinations and partitions. Analytic combinatorics concerns the enumeration (i.e., determining the number) of combinatorial structures using tools from complex analysis and probability theory. In contrast with enumerative combinatorics which uses explicit combinatorial formula and generating functions to describe the results, analytic combinatorics aims at obtaining asymptotic formula. Design theory is a study of combinatorial designs, which are collections of subsets with certain intersection properties. Partition theory studies various enumeration and asymptotic problems related to integer partitions, and is closely related to q-series, special functions and orthogonal polynomials. Originally a part of number theory and analysis, partition theory is now considered a part of combinatorics or an independent field. Order theory is the study of partially ordered sets, both finite and infinite.

Discrete geometry and computational geometry

Graph theory

Graph theory, the study of graphs and networks, is often considered part of combinatorics, but has grown large enough and distinct enough, with its own kind of problems, to be regarded as a subject in its own right. Graphs are one of the prime objects of study in discrete mathematics. They are among the most ubiquitous models of both natural and human-made structures. They can model many types of relations and process dynamics in physical, biological and social systems. In computer science, they can represent networks of communication, data organization, computational devices, the flow of computation, etc. In mathematics, they are useful in geometry and certain parts of topology, e.g. knot theory. Algebraic graph theory has close links with group theory. There are also continuous graphs, however for the most part research in graph theory falls within the domain of discrete mathematics.

Graphs and Networks

Discrete probability theory

Discrete probability theory deals with events that occur in countable sample spaces. For example, count observations such as the numbers of birds in flocks comprise only natural number values {0, 1, 2,}. On the other hand, continuous observations such as the weights of birds comprise real number values and would typically be modeled by a continuous probability distribution such as the normal. Discrete probability distributions can be used to approximate continuous ones and vice versa. For highly constrained situations such as throwing dice or experiments with decks of cards, calculating the probability of events is basically enumerative.

Discrete probability theory dice

Number theory

Number theory is concerned with the properties of numbers in general, particularly integers. It has applications to cryptography, cryptanalysis, and cryptology, particularly with regard to modular arithmetic, Diophantine equations, linear and quadratic congruence’s, prime numbers and primarily testing. Other discrete aspects of number theory include geometry of numbers. In analytic number theory, techniques from continuous mathematics are also used. Topics that go beyond discrete objects include transcendental numbers, Diophantine approximation, and analysis and function fields.

Number Theory

Algebraic structures occur as both discrete examples and continuous examples. Discrete algebras include: Boolean algebra used in logic gates and programming; relational algebra used in databases; discrete and finite versions of groups, rings and fields are important in algebraic coding theory; discrete semi groups and monodies appear in the theory of formal languages.

Discrete geometry and computational geometry

Discrete geometry and combinatorial geometry are about combinatorial properties of discrete collections of geometrical objects. A long-standing topic in discrete geometry is tiling of the plane. Computational geometry applies algorithms to geometrical problems.

Trees

Trees are used to represent data that has some hierarchical relationship among the data elements.

Discrete Structure Tree

Topology

Although topology is the field of mathematics that formalizes and generalizes the intuitive notion of "continuous deformation" of objects, it gives rise to many discrete topics; this can be attributed in part to the focus on topological invariants, which themselves usually take discrete values. See combinatorial topology, topological graph theory, topological combinatorics, computational topology, discrete topological space, finite topological space, topology (chemistry).

Mesh Network Topology

CONCLUSIONS

We emphasize the essential role that mathematics plays in the development of computer science both for the particular knowledge and for the reasoning skills associated with mathematical maturity. We stress the importance of certain mathematical concepts for computer science. We present a comprehensive table of mathematics topics and their computer science applications.

Friday, 24 February 2012

Von Neumann Architecture

The term Von Neumann Architecture, derives from a computer architecture proposal by the mathematician and early computer scientist John Von Neumann and others, dated June 30, 1945, entitled First Draft of a Report on the EDVAC. This describes a design architecture for an Electronic Digital Computer with subdivisions of a processing unit consisting of an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, and input and output mechanisms. The meaning of the term has evolved to mean a stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus. This is referred to as the Von Neumann bottleneck and often limits the performance of the system.

JOHN VON NEUMANN: THE FATHER OF THE MODERN COMPUTER

JOHN VON NEUMANN: THE FATHER OF THE MODERN COMPUTER

The heart of the Von Neumann Computer Architecture is the Central Processing Unit (CPU), consisting of the control unit and the ALU (Arithmetic and Logic Unit). The CPU interacts with a memory and an input/output (I/O) subsystem and executes a stream of instructions (the computer program) that process the data stored in memory and perform I/O operations. The key concept of the Von Neumann Architecture is that data and instructions are stored in the memory system in exactly the same way. Thus, the memory content is defined entirely by how it is interpreted. This is essential, for example, for a program compiler that translates a user-understandable programming language into the instruction stream understood by the machine. The output of the compiler is ordinary data. However, these data can then be executed by the CPU as instructions. A variety of instructions can be executed for moving and modifying data, and for controlling which instructions to execute next. The collection of instructions is called the instruction set, and, together with the resources needed for their execution, the instruction set architecture (ISA). The instruction execution is driven by a periodic clock signal. Although several sub steps have to be performed for the execution of each instruction, sophisticated CPU implementation technologies exist that can overlap these steps such that, ideally, one instruction can be executed per clock cycle. Clock rates of today's processors are in the range of 200 to 300 MHz allowing up to 600 million basic operations (such as adding two numbers or copying a data item to a storage location) to be performed per second.

With the continuing progress in technology, CPU speeds have increased rapidly. As a result, the limiting factors for the overall speed of a computer system are the much slower I/O operations and the memory system since the speed of these components have improved at a slower rate than CPU technology. Caches are an important means for improving the average speed of memory systems by keeping the most frequently used data in a fast memory that is close to the processor. Another factor hampering CPU speed increases is the inherently sequential nature of the Von Neumann instruction execution. Methods of executing several instructions simultaneously are being developed in the form of parallel processing architectures.

The design of Von Neumann Architecture is simpler than the more modern Harvard Architecture which is also a stored-program system but has one dedicated address and data buses for memory, and another set of address and data buses for fetching instructions.

A stored-program digital computer is one that keeps its programmed instructions, as well as its data, in read-write, random-access memory (RAM). Stored-program computers were advancement over the program-controlled computers of the 1940s, such as the Colossus and the ENIAC, which were programmed by setting switches and inserting patch leads to route data and to control signals between various functional units. In the vast majority of modern computers, the same memory is used for both data and program instructions.


The von Neumann Computer Model

Von Neumann Computer Systems contain three main building blocks:

  1. Central processing unit (CPU)
  2. Memory
  3. Input/output devices (I/O)

These three components are connected together using the System Bus.

The most prominent items within the CPU are the registers. They can be manipulated directly by a computer program.

Photobucket

Components of the Von Neumann Model

  1. Memory: Storage of information (data/program)
  2. Processing Unit: Computation/Processing of Information
  3. Input: Means of getting information into the computer. e.g. keyboard, mouse
  4. Output: Means of getting information out of the computer. e.g. printer, monitor
  5. Control Unit: Makes sure that all the other parts perform their tasks correctly and at the correct time
Components of the Von Neumann Model

Communication between Memory and Processing Unit

Communication between memory and processing unit consists of two registers:

  1. Memory Address Register (MAR)
  2. Memory Data Register (MDR)

To read

  1. The address of the location is put in MAR.
  2. The memory is enabled for a read.
  3. The value is put in MDR by the memory.

To write

  1. The address of the location is put in MAR.
  2. The data is put in MDR.
  3. The Write Enable signal is asserted.
  4. The value in MDR is written to the location specified.
Communication between Memory and Processing Unit

Memory Operations

There are two key operations on memory:

  1. Fetch (address) returns value without changing the value stored at that address.
  2. Store (address, value) writes new value into the cell at the given address.

This type of memory is random-access, meaning that CPU can access any value of the array at any time (vs. sequential access, like on a tape). Such memories are called RAM (random-access memory). Some memory is non-volatile, or read-only (ROM or read-only memory).

Memory Operations

ALU, the Processing Unit

  • Processing unit is hardware that implements Arithmetic and Logical Operations.
  • ALU stands for Arithmetic and Logic Unit, capable of performing ADD, SUBTRACT, AND, OR, and NOT Operations.
  • The size of input quantities of ALU is often referred to as word length of the computer.
  • Many processors today have word length of 32 and 64 bit.
  • Processing unit also includes a set of registers for temporary storage of data and memory addressing.
Photobucket

Control Unit

  • Manages the Processing Unit
  • Implemented as FSM
  • FSM directs all activity
  • Clock-based step-by-step processing, cycle-by-cycle
  • FSM is controlled by the
  1. Clock signal
  2. Instruction Register
  3. Reset signal

Input/output

  • I/O controller provides the necessary interface to I/O devices
  • Takes care of low-level, device-dependent details
  • Provides necessary electrical signal interface
Input/output Controller

Types of Von Neumann Computers Today

Today, the Von Neumann Scheme is the basic architecture of most computers appearing in many forms, including supercomputers, workstations, personal computers, and laptops.

Disadvantages of Von Neumann architecture

  • Every piece of data and instructions has to pass across the data bus in order to move from main memory into CPU (and back again). This is a problem because the data bus is a lot slower than the rate at which the CPU can carry out instructions. This is called the “Von Neumann Bottleneck”.
  • Both the data and programs share the same memory space.
  • This is a problem because it is quite easy foe a poorly written or faulty piece of code to write data into an area holding other instructions, so trashing that program.
  • The rate at which data needs to be fetched and the rate at which instructions need to be fetched are often very different. And yet they share the same bottlenecked data bus.

Conclusion

The Von Neumann Architecture has been incredibly successful, with most modern computers following the idea. You will find the CPU chip of a personal computer holding a control unit and the arithmetic logic unit (along with some local memory) and the main memory is in the form of RAM sticks located on the motherboard.
But the there are some basic problems with it. And because of these problems, other architectures have been developed.

Friday, 27 January 2012

Brief Comparison between UNIX and LINUX

Introduction

The history of UNIX® dates back to 1969. Through the years, it has developed and evolved through a number of different versions and environments. Most modern UNIX variants known today are licensed versions of one of the original UNIX editions. Sun's Solaris, Hewlett-Packard's HP-UX, and IBM's AIX® are all flavors of UNIX that have their own unique elements and foundations. For example, Sun's Solaris is UNIX, but incorporates many tools and extensions designed to get the best out of Sun's own workstation and server hardware.

Linux® was born out of the desire to create a free software alternative to the commercial UNIX environments. Its history dates back to 1991, or further back to 1983, when the GNU project, whose original aims where to provide a free alternative to UNIX, was introduced. Linux runs on a much wider range of platforms than most UNIX environments, such as the Intel®/AMD led x86 platform. Most UNIX variants run on just one architecture.


Photobucket


What is it?

UNIX is an operating system that is very popular in universities, companies, big enterprises etc.

Linux is an example of Open Source software development and Free Operating System (OS).

Architectures:

UNIX is available on PA-RISC and Itanium machines.

Linux Originally developed for Intel's x86 hardware, ports available for over two dozen CPU types including ARM.

File system support:

UNIX: jfs, gpfs, hfs, ufs, xfs format

Linux: Ext2, Ext3, Ext4, Jfs, ReiserFS, Xfs, Btrfs format

Usage:

The UNIX operating system is used in internet servers and workstations.

Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers and video game consoles, to mainframes and supercomputers.

GUI:

Initially UNIX was a command based OS, but later a GUI was created called Common Desktop Environment.

Linux typically provides two GUIs, KDE and Gnome. But Linux GUI is optional.

Market share for Desktop PC:

UNIX Less than 0.5 percent of the PC market.

Linux The market share of Linux is about 0.8%.

Threat detection and solution:

UNIX Because of the proprietary nature of the original UNIX, users has to wait for a while, to get the proper bug fixing patch. But these are not as common.

Linux In case of Linux, threat detection and solution is very fast, as Linux is mainly community driven and whenever any Linux user post s any kind of threat, several developers start working on it from different parts of the world.

Cost:

Different flavors of UNIX have different cost structures. With the hardware included, a midrange UNIX server can cost anywhere in between $25,000 and $259,000 with high-end severs ranging up to $500,000.

Linux can be freely distributed, downloaded freely, distributed through magazines, Books etc. There are priced versions for Linux also, but they are normally cheaper than Windows.

Security:

A rough estimate of UNIX viruses is between 85 -120 viruses reported till date.
Linux has had about 60-100 viruses listed till date


Text mode interface:

UNIX Originally the Bourne Shell. Now it's compatible with many others including BASH.

BASH (Bourne Again Shell) is the Linux default shell. It can support multiple command interpreters.

Development and Distribution:

UNIX systems are divided into various other flavors, mostly developed by AT&T as well as various commercial vendors and non-profit organizations.

Linux is developed by Open Source development i.e. through sharing and collaboration of code and features through forums etc. and it is distributed by various vendors such as Debian, Red Hat, SUSE, Ubuntu, and GentuX etc.

User:

UNIX operating systems were developed mainly for mainframes, servers and workstations. The UNIX environment and the client-server program model were essential elements in the development of the Internet.

Linux operating system for everyone, from home users to developers and computer enthusiasts alike.

Kernel:

UNIX kernel is not freely available.

Linux kernel is freely available.

Patches:

UNIX patches available are highly tested.

Linux patches are not highly tested as UNIX patches.

UNIX Operating System Names:

A few popular names:

HP-UX, IBM AIX, Sun Solaris, Mac OS X, IRIX

Linux Distribution (Operating System) Names:

A few popular names:

Redhat Enterprise Linux, Fedora Linux, Debian Linux, Suse Enterprise Linux, Ubuntu Linux

Summary

Overall, the general environment between UNIX and Linux is very similar. Moving as a user or administrator from Linux to UNIX, or vice versa, brings some inconsistencies, but overall is fairly seamless. Even though the file systems or kernels might differ and require specialized knowledge to optimize, the tools and APIs are consistent. In general, these differences are no more drastic than variations among different versions of UNIX. All branches of UNIX and Linux have evolved and will be slightly different, but because of the maturity of the UNIX concept, the foundation doesn't change very much.

Saturday, 21 January 2012

Information technology & It's Applications

What is Information Technology

Information Technology refers to anything related to computing technology that uses computing with high speed communication links to spread information form one place to an other. The interconnection of computers enable the people to send and receive information. The communication links are also used to interact with different people in the world.

Overview of Information Technology

We are living in the information age of a Global Village today. That means information is the key factor in this era and it is rightly said that "Information is the most precious commodity of today's day-to-day business". Everything Evolves around it whether it is education, medicine, history, geographical phenomena, Sports, Research or Business. You name the system and information is there to play a key role in its functionality and existence

"Data processing" OR "Computing " Information can be defined as the facts & Figures about anything i.e. the know-how about any object that exists and plays its role in any system. the system is any identified & known work that Accepts data/information into itself, manipulates in the shape of certain output(s) and delivers so that is become useful & meaningful. and precisely, that is what is known as "Data Processing" or "Computing" for which we need a computer to accomplish the task.

Modern Scenario

The modern impact of Information Technology has broadened the base of computing and communication through satellite, fiber-Optic, mobile phone, fax machine, multi-media/hyper-media, e-commerce, m-commerce etc. etc. Thus enhancing the implications of this shift from single, isolated technologies to a unified digital convergence and enhancing the computer users to experience a beautiful and fantastic scenario of computer utilization in the fields of I.T.

Applications of I.T.

i. Artificial Intelligence ii. Web-based Applications iii. E-commerce iv. M-commerce(Mobile Commerce) v. Computer Animation vi. Multi-media, Hyper-media vii. Distributed Computing

Artificial intelligence

1 The branch of computer science concerned with making computers behave like human-like qualities such as learning, seeing and hearing etc.

Web Based Applications

It is a type of software application that is available on the Web. The user can use it by connecting to the internet to save time, money and improve communication.

E-Commerce

Ecommerce or electronic commerce, a subset of e-business, is the purchasing, selling, and exchanging of goods and services over the Internet.

M-Commerce

Mobile commerce is the buying and selling of goods and services through wireless handheld devices such as cellular telephone and personal digital assistants (PDAs).

Computer Animation

It is a process to create moving images using computer.

Multimedia & Hypermedia

Multimedia is a collection of graphics, animations, audio and video presented by computer. Hypermedia is a process of creating links to files that contain photographs, audio, video and text etc.

Distributed Computing

It refers to multiple computer systems working on a single problem. The computers are networked, they can communicate with each other to solve the problem.

Summary

There are numerous fields of computer applications, the information technology has brought about a revolution in our life style. We may call it the Computer Revolution, Multi-Media Revolution or Whatsoever. So it is beyond any doubt that today, we are living in a society that is making use of “Information Highway” which is heading towards a real future “Global Village” of the Human history.

Tuesday, 18 October 2011

Cyber Computing

Computing

Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology. Computer science (or computing science) is the study and the science of the theoretical foundations of information and computation and their implementation and application in computer systems.
Computing Curricula 2005 defined "Computing" as:
Cyber Computing
In a general way, we can define computing to mean any goal-oriented activity requiring, benefiting from, or creating computers. Thus, computing includes designing and building hardware and software systems for a wide range of purposes; processing, structuring, and managing various kinds of information; doing scientific studies using computers; making computer systems behave intelligently; creating and using communications and entertainment media; finding and gathering information relevant to any particular purpose, and so on. The list is virtually endless, and the possibilities are vast."
The discipline of computing is the systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application. The fundamental question underlying all computing is "What can be (efficiently) automated"?

Computer programming

Computer programming in general is the process of writing, testing, debugging, and maintaining the source code and documentation of computer programs. This source code is written in a programming language, which is an artificial language often more restrictive or demanding than natural languages, but easily translated by the computer. The purpose of programming is to invoke the desired behaviour (customization) from the machine. The process of writing high quality source code requires knowledge of both the application's domain and the computer science domain. The highest-quality software is thus developed by a team of various domain experts, each person a specialist in some area of development. But the term programmer may apply to a range of program quality, from hacker to open source contributor to professional. And a single programmer could do most or all of the computer programming needed to generate the proof of concept to launch a new "killer" application.