29/06/2017

Overview Of System Software (Unit 1)

SOFTWARE HIERARCHY



Computer and its software have their hierarchy levels as shown above. Application program (eg, Media players, paint, MS word etc) come on the highest level of hierarchy while machine level language come at the lowest hierarchy (not shown in diagram). High level programming languages include C, fortran etc. Operating system include windows, unix, mach os and Assembly level program include MASM, TASM etc.

19/06/2017

Introduction to System Programming

System Programming is a technique for design and implementation of system program or a system software. It deals with the operation of the computer itself.

What are Different types of Software ? 

Generally Software is divided in to two types - 1) Application software 2) System Software


1) Application software : Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include industrial automation, business software, video games, telecommunications (i.e., the Internet and everything that flows on

09/06/2017

Process Management (unit 2)

A process is a program in execution. It is more than the program code, which is sometimes known as the text section. In addition, a process generally includes the process stack, which contains temporary data (such as method parameters, return addresses, and local variables), and a data section, which contains global variables.

A program by itself is not a process; a program is a passive entity, such as the contents of a file stored on disk. It is an active entity, with a program counter specifying the next instruction to execute and a set of associated resources.

As a process executes, it changes state. The state of a process is defined in part by the current activity of that process. Each process may be in one of the following states: 

INTRODUCTION ABOUT PROCESS

Early computer systems allowed only one program to be executed at a time. This program had complete control of the system, and had access to all the system's resources. 

Current-day computer systems allow multiple programs to be, loaded into memory and to be executed concurrently. This evolution required, firmer control and more compartmentalization of the various programs. These needs resulted in the notion of a process, which is a program in execution. A process is the unit of work in a modern time-sharing system. 

A system consists of a collection of processes: Operating system processes executing system code, and user processes executing user code. All these processes can potentially execute concurrently, with the CPU (or CPUs) multiplexed among them. By switching the CPU between processes, the operating system can make the computer more productive.

06/06/2017

CASE STUDY OF WINDOWS AND UNIX

CASE STUDY IS IN THE PDF PLEASE REFER IT..

CLICK HERE

Above link will redirect you to the different site you will be able to read or download the literature.

PROTECTION MECHANISMS

Security is easier to achieve if there is a clear model of what is to be protected and who is allowed to do what 

Protection Domains

In order to discuss different protection mechanisms, it is useful to introduce the concept of a domain. A domain is a set of (object, rights) pairs. Each pair specifies an object and some subset of the operations that can be performed on it. Figure 9-4 shows three domains, showing the objects in each domain and the rights (Read, Write, execute) available on each object.


INSIDER ATTACKS & MALWARE

INSIDER ATTACKS

Logic Bombs


Logic bombs are small programs or sections of a program triggered by some event such as a certain date or time, a certain percentage of disk space filled, the removal of a file, and so on. For example, a programmer could establish a logic bomb to delete critical sections of code if she is terminated from the company. Logic bombs are most commonly installed by insiders with access to the system. 


Login spoofing

Login spoofing are techniques used to steal a user's password.The user is presented with an ordinary looking login prompt for username and password, which is actually a malicious program, usually called a Trojan horse under the control of the attacker. When the username and password are entered, this information is logged or in some way passed along to the attacker, breaching security.


User Authentication

A major security problem for operating systems is User authentication.

Generally, user authentication is based on one or more things: the user's possession of something (a key or card), the user's knowledge of something (a user identifier and password), and/or attribute of the user (fingerprint,retina or signature).

Passwords

Most comman approach to user auth. is passwords. User identified by id and asked for password. I£ the user-supplied password matches the password stored in the system, the system assumes that the account is being accessed by the owner of that account.For instance, a password may be associated with each resource (such as a file). Different passwords may be associated with different access rights. For example, different passwords may be used for reading files, appending files, and updating files, In practice, most systems require only one password for a user to gain full rights

Password Vulnerabilities

Unfortunately, passwords can often be guessed, accidentally exposed, sniffed, or illegally transferred from an authorized user to an unauthorized one. There are two common ways to guess a password. One way is for the intruder (either human or program) to know the user or to have information about the user. The other way is to use brute force, trying enumeration-or all possible combinations of valid password characters (letters, numbers, and punctuation on some systems)-until the password is found. 

Design Principles Of Security

Saltzer and Schroeder (1975) have identified several general principles that can be used as a guide to designing secure systems. A brief summary of their ideas (based on experience with MULTICS) is given below.

First, the system design should be public. Assuming that the intruder will not know how the system works serves only to delude the designers.

Second, the default should be no access. Errors in which legitimate access is refused will be reported much faster than errors in which unauthorized access is allowed.

Third, check for current authority. The system should not check for permission, determine that access is permitted, and then squirrel away this information for subsequent use. Many systems check for permission when a file is opened, and not afterward. 

RAID

RAID (redundant array of independent disks, originally redundant array of inexpensive disks) is a storage technology that combines multiple disk drive components into a logical unit. Data is distributed across the drives in one of several ways called "RAID levels", depending on what level of redundancy and performance (via parallel communication) is required.

RAID is an example of storage virtualization and was first defined by David patterson,

RAID is now used as computer data storage schemes that can divide and replicate data among multiple physical drives. The physical drives are said to be in a RAID array,which is accessed by the operating system as one single drive

RAID 0 (block-level striping without parity or mirroring) has no (or zero) redundancy. It provides improved performance and additional storage but no fault tolerance. Hence simple stripe sets are normally referred to as RAID 0. Any drive failure destroys the array, and the likelihood of failure increases with more drives in the array (at a minimum, catastrophic data loss is almost twice as likely compared to single drives without RAID). A single drive failure destroys the entire array because when data is written to a RAID 0 volume, the data is broken into fragments called blocks. RAID 0 does not implement error checking, so any error is uncorrectable. More drives in the array means higher bandwidth, but greater risk of data loss

Operating System Introduction (Unit 1)

Operating System is software that works as an interface between a user and the computer hardware. The primary objective of an operating system is to make computer system convenient to use and to utilize computer hardware in an efficient manner. The operating system performs the basic tasks such as receiving input from the keyboard, processing instructions and sending output to the screen.

Operating system manages overall activities of a computer and the input/output devices attached to the computer. It is the first software you see when you turn on the computer, and the last software you see when the computer is turned off. 

When you turn on the computer, the operating system program is loaded into the main memory. This program is called the kernel. Once initialized, the system program is prepared to run the user programs and permits them to use the hardware efficiently. Its also a central unit of Operating system and in informal terms can also be called as a heart of operating system.