0% found this document useful (0 votes)
25 views83 pages

Computer Application Management-Unit1

introduction to computer and operating system

Uploaded by

klrahulprasad112
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
25 views83 pages

Computer Application Management-Unit1

introduction to computer and operating system

Uploaded by

klrahulprasad112
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 83
a Computer Applications in Management Subject: COMPUTER APPLICATION IN MANAGEMENT Credits: 4 SYLLABUS Introduction to Computer Systems Introduction: Evolution of Computers, Characteristics, Classification Generations; Computer Architecture: Components of Computer Systems (VO Devices); Computer Memory; Data Representation Computer Software Introduction to Software: Relation Between Hardware and Software; Types of Software: System Software, Application Software; Software Development Life Cycle; Introduction to Algorithm; Flow chart Operating Systems Operating System: Functions of OS, Measuring System Performance; Evolution of Operating Systems : Serial Processing, Batch Processing, Multiprogramming; Types of Operating System; Operating System Techniques ‘Multitasking, Multithreading, Multiprocessing; Some Popular Operating Systems: DOS (Disk Operating System), UNIX Operating System, Linux, Microsoft Windows, Microsoft Windows NT Business Data Processing Data Processing; File Management System File Types, File Organization, File Utilities; Database Management System: Database Models, Main Components of a DBMS, Creating and Using a Database Data Communications Basic Elements of a Communication System: Data Transmission Modes, Transmission Basics; Types of Data Transmission Media; Modulation Techniques, Modems, Analog versus Digital Transmission; Multiplexing Techniques Computer Networks Need for Computer Communication Networks; Types of Network; Network Topologies; Network Protocol: OSI and TCP/IP model ; The Future of Internet Technology; Internet Protocol; World Wide Web; E-mail; Search Engines Suggested Readings: 1. Fundamentals of Computers by Rajaraman, Publisher: Prentice Hill of India, New Delhi 2. Data Communication & Computer Network by White, Publisher: Thomas Leaming, Bombay 3. Business Data Communication by Shelly, Publisher: Thomson Leaming, Bombay 4. Computer Fundamentals by B.Ram, New Age Int. 5. Computer Fundamentals by P-K Sinha, Priti Sinha, Publisher Kalyani Publishers, 2nd Edition, INTRODUCTION TO COMPUTER SYSTEM Structure 1.1 Introdnetion 1.1.1 Evolution of Computers 1.1.2 A Brief History of Computers 1.1.3 Characteristics 1.1.4 Classification 1.1.5 Generations 1.2 Computer Architecture 1.2.1 Components of Computer System 1.2.2 Computer Memory 1.3 Data Representation 1.3.1 Numiber Systems 1.4 Review Questions 1.1 INTRODUCTION Computer has been the premier invention of this century. Now a days Computer plays an important role in almost every part of our lives, and their importance is so great that without them we would not be able to live the way we do. Look around you and you ‘would find computers scattered all over the places, starting with the machine of computer to washing machine to refrigerator to car to mobile and to life saving devices with the doctors; everywhere a small computer working for your convenience and they seem performing almost any task in the world. Computers have had a tremendous impact on the way information is processed with in the organization. Although information have been processed manually throughout the history but with modem management where decision-making is so fast and the era of corporate govemance is not possible without the help of information system managed by computers. The word “computer” comes from word compute, which means to calculate. “A computer is a programmable machine (or more precisely, a programmable sequential state machine) that operates on data and is used for wide range of activities” Computer is an electronic device or combination of electronic devices, which solves problem after accepting the data and supply the result to the user. Computer is a tool, which can be used to read and wtite stories, draw and look at images, and send and receive e-mail. They can store large information and perform various scientific and ‘mathematical tasks. Basically Computer system are a combination of the five elements ie. Hardware, Software, People, Procedure and Data / information. The computer organization often compared with the human brain, Just think of a human brain how it works, first of all it can store the data with its five senses (Just like input devices in computer), it can process the gathered infomation and could reach fo some conclusion drawing from the raw data Gust like the processing of computer system) and then it can deliver the output or result with speech or with expression (Just like the output device). Fig. 1.1: A Basie Personal Computer System 1.1.1 Evolution of Computers Machine for ‘Abacus from ‘computational China assistance Assisted 7 I 1822 ay | oe etn ak ie amo made the first | } a machine rmachinethat |} that could Idea of a progsarnmable machine could Add | | performall ‘ks four basic [Never succeeded! but made an “Analytical functions Machine Input > control ->processor > store “output Taspied inventors made litle improvement Insp a briliant countess tate ‘She thought about analytical Tay Antant design and realized that DO IF would nacessary [British Mathematican George Boole started to study about the foundation ‘oflogic TS07 American Logican Charles Sadis Pierce observerd that upcoming. eketrical ON/OFF technology could be intertwined with Boole work Anargumert be presented by x ory ‘But the result could coly be True e€ False ‘Studied in detail and found out that AND OR NOT could be used together to analyze any proposition logically 1937 George Stibitz from Bell Laboratory practically ‘Made an adder then a multiplier et. Using Boole and Pierce work ‘Mauchly and Eset was Howard Aiken used wheels r controlled by electrical given a project to make the impulses first complete electrical Beginning of electrical machine using vaccum tubes Computational machines Eletrical Engineer At Upeen (MARK I was made in recta World War iarsemy ENIAC was made alr the varended t wasamassive machine ‘Von Newman meet Herman Goldstine accidentally He collaborated exiensively with the ENIACtean, His efforts were to se compter tosolve real word problems This collaboration ead to the Most influential paper which formed basis forthe VON NEUMAN ARCHITECTURE FOUR STEP SYSTEM Extract nput One > Extract Input Two > Extract The Instruction > Store the output SCALAR PROCESSING FLOPS is lowing pore operations per ‘second which is a term used to corparethe processing power of machines Transistors were introduced in 1950"s by John Bardeen and William Shockley from Bell Labs ‘Mote tansistors could be placed on one ehip And they were very much faster The US Govt intervened to accelerate ythe develo IBM given the challenge to make fi Remigton Rand won the cot LARC made with 60,000 transistors IBM worked inthe background made 169100 transistor mac bine But were unable to reach the required speed Afierlosing millions of dallars hoth industries decided 10 proceed to a more Incrative business market {A vacuum built on the high computation side this was Intern talen up by ‘Control Data Corporation lead by Seymour Cray Which would lead the market for next ws decades nent Remington Ran and Tntegrated circuits and then processors ona le chip were ower consump These beginning vectorization in processor design Petsnsion] 7100 instructions 7 @~ (Tit Tinsmetions ——> —> 1.1.2 A Brief History of Computers "History reveals e clear pattern in the evolution of compnters. Processing power increases rapidly afier the introduction of the new technology. The rate of growth eventually slows down as the technology is exploited to its full potential. While in the background other teclmologies are nurturing and one ultimately supersedes the other to become the dominant technology and this cycle is repeated. ‘Under the right conditions the shift to the new technology can lead to possible increase in processor speed of hundied to thousand times. In o1der to have a better idea of the evolution of computers it is worthwhile to discuss some of the well- known early computers. These are as follows 1. The Mark I Computer (1937-44); Also known as Automatic Sequence Controlled calculator, this was the first fully automatic calculating machine designed by Howard A. Aiken of Harvard University in collaboration with IBM (lnternational Business Machines) Corporation. It was an already developed for punched card machines. Although this machine proved to be extremely reliable, it was very complex in design and huge in size. It used over 3000 electrically actuated switches to control its operations and was approximately SOfeet long and 8 feet high. It was capable of perfomming five basic arithmetic operations: addition, subtraction, multiplication, division, and table reference on numbers as big as 23 decimal digits. It tok approximately 0.3 second to add two numbers and 4.5 seconds for multiplication of two numbers. Obviously, the machine was very slow as compared to today’s computers. 2. The Atanasoff- Berry Computer (1939-42): Dr. John Atanasoff developed an electronic machine to solve certain mathematical equations. The machine was called the Atanasoff Berry Computer or ABC after its inventor's name and his assistant, Clifford Berry. It used 45 vacuum tubes for intemal logic and capacitors for storage 3. The ENIAC (1943-46): The Electronic Numerical Integrator and Calculator (ENIAC) was the first all electronic computer. It was constructed at the Moore School of Engineering of the University of Pennsylvania, U.S.A by a design team led by Professors J. Presper Eckert and John Mauchly. The team developed ENIAC because of military needs. It was used for many years to solve ballistic related problems. It took up wall space in a 20 x 40 square feet room and ‘used 18,000vactmm tubes. It could add two mumbers in 200 microseconds and multiply them in 2000 microseconds. 4. The EDVAC (1946-52): A. major drawback of ENIAC was that its programs were wired on boards that made it difficult to change the programs. Dr. John Yon Neumann, later introduced the” stored program” concept that helped in overcoming this problem. The basic idea behind this concept is that a sequence of instructions and data can be stored in the memory of a computer for automatically directing the flow of operations. This feature considerably influenced the development of modem digital computers because of the ease with which different programs can be loaded and executed on the same computer. Due to this feature, we often refer to modem digital computers as stored program digital computers. The Electronic Discrete Variable Automatic Computer (EDVAC) used the stored program concepts in its design. Von Neumann also has a share of the credit for introducing the idea of storing both instructions and data in binary fom a system that uses only two digits — 0 and 1 to represent all characters), instead of decimal numbers or human readable words 5. The EDSAC (1947-49): Almost simultaneously with EDVAC of U.S.A; the Britishers developed the Electronic Delay Storage Automatic Calculator (EDSAC). The 10 ‘machine executed its first program in May 1949. In this machine, addition operations took 1500 microseconds and multiplication operations took 4000 micreseconds. A group of scientists headed by Professor Maurice Wilkes at the Cambridge University Mathematical Laboratory developed this machine, 6, The UNIVAC I (1951): The Universal Automatic Computer (UNIVAC) was the first digital computer that was not “one of a kind”. Many UNIVAC machines were produced, the first of which was installed in the Census Burean in 1951 and was used continuously for lOyears. The first business use of a computer, a UNIVAC I, was by General Electric Corporation in 1954. In 1952, the Intemational Business machines (IBM) Corporation introduced the IBM-701 commercial computer. In rapid succession, improved models of the UNIVAC | and other 700- series machines were introduced. In 1953, IBM produced the IBM-650, and sold over 1000 of these computers. UNIVAC marked the arrival of commercially available digital computers for business and scientific applications. 1.1.3 Characteristics The ever-increasing use of computer is due to its special characteristics. Computer is not just a calculating machine; they also have the capability of doing complex activities and operation. Main characteristics of the computer are given bellow: 1. Speed: Computer is very fest and accwate device. Since electronic pulses travel at incredible speed and they are electronic device its intemal speed is virtually instantaneous, A microcomputer can process millions of instruction per seconds over and over again withont any mistake 2. Accuracy: Computers physical circuits rarely make errors, if the data and instruction are correctly fed. Most emors which occur in computers are either hardware error or human error 3. Storage: Computers have a large amount of memory to hold a very large amount of data, we can store large amount of data information in the secondary storage device 4. Programmability: A computer is programmable; i. ¢. what computer does depend on the lines of instruction (Program) it is using 5. Diligence: Computer is fiee from problems like lack of concentration, and confusions etc. Computer is never confused like humans and it can perform instruction again and again without failing or getting bored. 6. Versatility: We can perform many different types of tasks on computer, one moment it might be busy in caleulating the statistical date for annual performance evaluation of a business orgamzation and next moment it might be working on inventory control u 7. Power of remembrance: Unlike humans, computer can store things for unlimited period of time. It has great remembering power 1.1.4 Classification Computers can be classified many different ways -- by size, by function, and/or by processing capacity. We will study the classification of computers by size. The size of a computer often determines its function and processing capacity. The size of computers vaties widely from tiny to huge and is usually dictated by computing requirements. For example, it is clear that the IRS will have different requirements than those of a college student. There are two basic kinds of computers: analog and digital. A. Analog computers Analog computers are analog devices. That is, they have continuous states rather than discrete numbered states. An analog computer can represent fractional or irrational values exactly, with no round off. Analog computers are almost never used outside of experimental settings. They handle or process information, which is of physical nature Fig. 1.2 Analog Computers B. Digital Computer Digital computer is a programmable-clocked sequential state machine. A digital computer uses discrete states. A binary digital computer uses two discrete states, such as positive/nepative, high/low, oofi, used to represent the binary digits zero and one. They process data, which is essentially in a binary state. Now these days, we rarely came actoss of analog computers in routine life. Digital computer does not get evolve in sparks time. It took more than five decades to emerge it as the most usable devise today. Let’s take the glimpse of its siblings. 12 Fig.1.3 Digital Computer 1) Micro Computers: A microcomputer’s CPU is a microprocessor. The microcomputer originated in late 1970’s. The first microcomputers were built around S-bit microprocessor chips, What do we mean by an 8-bit chip? It means that the chip can retrieve instructions/data from storage, manipulate, and process an 8-bit data at a time or wwe can say that the chip has a built-in 8-bit data transfer path, 8088 was a 8/16 bit chip i.e. au 8-Dit path is used to move data betweeu chip aud primary storage (external path), but processing is done within the chip using a 16-bit path (internal path) at a time 8086 is a 16/16 bit chip ie. the intemal and extemal paths both are 16 bit wide. Both these chips can support a primary storage capacity of up to 1 Mega byte (MB). Fig. 1.4 Micro Computer 2) Minicomputers: The term minicomputer originated in 1960s when it was realized that many computing tasks do not require an expensive contemporary mainframe computers but can be solved by a small, inexpensive computer. Initial minicomputers were 8 bit and 12 bit machines but by 1970's almost all minicomputers were 16 bit machines. The 16 bit minicomputers have the advantage of large instruction set and address field; and efficient storage and handling of text, in comparison to lower bit machines. Thus, 16-bit minicomputer was more powerful machine, which could be used in variety of applications and could support business applications along with the scientific 13 applications. With the advancement in technology the speed, memory size and other characteristics developed and the minicomputer was then used for various stand alone or dedicated applications. The minicomputer was then used as a multi-user system, which can be used by various users at the same time. Gradually the architectural requirement of minicomputers grew and a 32-bit minicomputer, which was called super mini, was introduced. The super mini had more peripheral devices, larger memory and could support more users working simultaneously on the computer in comparison to previous minicomputers Fig. 1.5 Mini Computer 3) Workstation is « powerful stand-alone computer of the sort used in computer aided design and other applications requiring a high-end, expensive machine with considerable calculating or graphics capability. Machines using Intel Processor P2 at 400 MHz is an example of workstation. Now these day’s computers having P-4 or AMD Athlon type microprocessor also come in the classification of workstation. 4) Mainframe Computers are very powerful, large-scale general-purpose computers. Their word length may be 48,60 or 64 bits, memory capacity being in some megabytes and storage capacity in some terabytes ete. A mainframe is simply a very large computer. And totally different from what you have on your desk. Don't say: what seems to be a mainframe today is on your deskiop tomorrow. Apart from the CPU's (processors) that is far from true. Mainframe is an industry term for a large computer. The name comes from. the way the machine is build up: all units (processing, communication ete.) were hnng into a frame. Thus the main computer is build into a frame, therefore: Mainframe and Decause of the sheer development costs, mainirames are typically manufactured by large companies such es IBM, Amdahl, and Hitachi, Their main purpose is to run commercial applications of Fortune 1000 businesses and other large-scale computing purposes. Think here of banking and insurance businesses where enormous amounts of data are processed, typically (at least) millions of records, each day. They are used where large amount of data are to be processed or very complex calculations are to be made and these tasks are beyond the capacities of mini computers. They are used in research organizations, large industries, airlines reservation where a large database has to be maintained. Examples are IBM 4300 series, IBM Enterprise systen/9000 series. 44 Fig. 1.6 Mainframe Computer 5) Super Computers processing capabilities lies in the range of GIPS2, word length 64-128 or may be in 256 or so. Memory capacity in some gigabytes or in terbytes and storage capacity in pixabytes. It contains a number of CPU's, which operate in parallel to make it fasier, giving them their speed though parallel processing. They are used for weather forecasting, weapons research and development, rocketing, aerodynamics, atomic, nuclear and plasma physics Supercomputers have limited use and limited market because of their very high puice Fig.1.7: Super Computer They are being used at some research centers and government being used at some research centers and government tasks. Examples of users of these computers are governmental agencies, such as the IRS, the National Weather Service, and the National Defense Agency. Also, they are used in the making of movies, space explomtion, end the design of many other machines. Supereomputers are used for tasks that require mammoth data manipulation. 1.1.5 Generations ‘Generation’ in computer talk is a step of changing technology. It provides the framework for the growth of computer industry. There are five generations of computer with the first generation computers being those, which became commercially available in the early 1950s, First Generation Computers (1951- 1958) The first generation of computer was marked by the use of vacuum tubes for the electronic components and by the use of either electrostatic tubes (i.e., cathode ray tubes) or mereury delay lines for storage. Examples of such first generation machines are EDSAC (operational in 1949), SEAC (1950, the first stored program computer operational in the US), EDV AC (1951) and IAS (1952). This generation lasted until the end of the 1950s and computers in this era had their basis in wired cirenitry and thermionic valves. Their outstanding features were: Vacuum Tubes Cireuit Drum Primary Storage Batch processing Few thousand instructions per second is the processing speed Machine language was the language used It produce large amount of heat Very expensive Poor reliability ENIAC, EDVAC, EDSAC, UNIVAC are some of the first generation computers Quite large and, because they generated a lot of heat, required special housing The medium of internal storage was magnetic drum. Second Generation Computers (1959-1964) The second-generation machines were initially marked by either magnetic drum or ‘magnetic core storage and, later, by the use of the transistor in place of vacuum tubes. The second generation, which covered the first half of the 1960s, saw the introduction of printed circuits and the replacement of vacuum by transistors. Typical computers were the ICT (ICL) 1300 and the IBM 1401. The outstanding features of this generation were: Transistors and diodes were used Magnetic primary storage Tape secondary storage One million instructions per second is the processing speed Assembly and Fortran were the language used. Very expensive Better reliability Faster then the faster generation Reduced generated heat 16 © Required less power to operate * Increase storage capacity ‘Third Generation Computers (1965- 1975) The arrival of the third generation in the mid-1960s proved to be an important milestone in the evolution of computers. The advances over the previous generation were very siguificant and, although relatively expensive, allowed an increasing uumber of organizations to reap the undoubted benefits which computerization could bring. Because of the ‘high costs involved and the need to get maximum utilization from the machine, the computer service bureau business was spawned. This in itself was important in that it allowed companies to avail themselves of the new technology and to take advantage of the continuing developments. Many of the computers acquired by companies during this period are still in use The following are the outstanding features of this generation: Magnetic Disk Secondary Storage On-Line Real Time Processing Used operating System Multiprogramming Operating System Development of the micro computer Integrated Circuits Faster than the previous generation of the computer Beiter storage device (tape) Improved input and output device ‘Transistor replaced by Integrated Circuits IBM- 370, NCR 395 were the third generation computers Fourth Generation Computers (1975- present) ‘The fourth generation of computers arrived in the mid-1970s. The distinguishing marks were the introduetion of standard architecture, which was provided for greater mobility of systems, the introduction of micro-technology and significant software developments. The IBM-4300 and ICL-2900 ranges coincided with the start of this era, Micto-techuology gave rise to the availability of microcomputers, word processors and intelligent tenminals, The outstanding features of this generation are: Further reductions in the size of the hardware Better price performance Large scale and very large seale Integrated Circuits (LSVVLST) Semiconductor primary storage Online real time processing User friendly software ‘Widespread use of CRT terminals Development of t electronic spreadsheet High-level languages 7 Microprocessor used Increase cost of software Data base management system Distributes processing Graphies manipulation Pentium/AMD based are the fourth generation computers Fifth Generation Computer It is very difficult to define the fifth generation of the computer. The most famous example of this generation computer is fictional HAL9000 fiom Arutur C. Clarke’s novel HAL performed all of the fimetions currently envisioned for real time fifth generation computer Organic chips Decreasing cost of software Decreasing cost of hardware Axtificial Intelligence Multi point input-output Large storage facility Auto decision High speed ‘Under development in USA, Japan and UK 1.2 COMPUTER ARCHITECTURE We have seen that computer affects our life in a big way by increasing the efficiency and enhanced ability. Now we will have to look for the anatomy of computer. What it is made up of? The architecture of a simple and basic computer system. The parts of computer as ‘we know did not appear all at once in one machine by one person. It is @ continuously evolving process starting as early as 17" century when people began to work on machines that would automate task and to your surprise the first such machine was developed in 17” century by mathematician and philosopher Blaise Pascal but it was not an electronic device. It was purely a mechanical machine, which used meshed gears to add and wultiply the muubers, But after him there was a long gap when an idea emerged from Charles Babbage to process information although he could never successfully develop such mechanical machine but his idea was of million dollar worth. That’s why he is known as a first father of computer. Modem electronic compnter started taking shape in 1940 with the invention of Mack — I Computer since then there have been a lot of research and new inventions in the technology of computer 1.2.1 Components of Computer System (I/O Devices) A computer system has the following main components > Input Unit/Devices > Output Unit/Devices 18 > Central Processing Unit > Memory Unit/Storage Devices All these components are basically the integral pasts of general-purpose computers, These may be the Desktop systems or Workstations. The diagram of a generalized architecture of a computer system is shown here Storaze = tani |_| ual Pr 1[) Reiners] 4 Fig. 1.8: Architecture of a Computer System Input/ Output Unit We know that the computer is a machine that processes the input data according to a given set of instructions and gives the output. Before a computer does processing, it must be given data and instructions. Afler processing, the output must be displayed or printed by the computer. The unit is used for getting the data aud instructions into the computer and displaying or printing output is known as an Input/Output Unit (I/O Unit). ‘There are many peripheral devices, which are used as input/output units for the computer The most common form of input device is known as a terminal. A terminal has an electronic typewriter like device, called keyboad along with a display screen, called Visual Display Unit (VDU) or monitor. Keyboard is the main input device while the ‘monitor can be considered both as an input as well as an output device. A) Input Devices Input unit performs following finetions: a) It accepts (or reads) instructions and data fiom outside world. 19 ) It converts these instructions and data in computer acceptable form. ©) It supplies the converted instructions and data to computer system for further processing. Input Devices are used to inpnt data, information and instructions into the RAM. We may classify these devices into the following two broad categories: * Basic Input Devices © Special Input Devices Basic Input Devices The input devices, which have now days become essential to operate a PC, may be called as Basic Input Devices. These devices are always required for basic input operations. These devices include Keyboard and Mouse. Special Input Devices ‘The input devices, which are not essential to operate a PC, are called as Special Input Devices. These devices are used for varions special purposes and are generally not required for basie input operations, These devices include Trackball, Light Pen, Touch Screen, Joystick, Digitizer, Scanner, OMR, OCR, Bar Code Reader, MICR and Voice Inpnt Devices. B) Output Devices An Output unit performs following functions a) It accepts the results produced by a computer, which are in coded form and hence, we cannot easily understand them, b) It converts these coded results to human acceptable (readable) form. ¢) It supplies the converted results to outside world. Output devices are hardware components, which are used to display or print the processed information. We are discussing below the structure, working and uses of the common output devices: Monitor Visnal Display Unit (VDU) commonly called, as monitor is the main output device of a computer. It cousists of a Cathode Ray Tube (CRT), which displays characters as an output. It forms images from tiny dots, called pixels that are arranged in a rectangular form. The sharpness of the image (screen resolution) depends upon the number of pixels. Printer Printer is the most important output device, which is used to print information on paper. Printers are essential for getting output of any computer-based application. 20 PRINTER Impact Non Impact Example: Dot Matrix, Daisy Wheel Example: Inkjet, Laser, ‘Thermal, LED ‘Table 1.9 Classifications of Printers Central Processing Unit Central Processing Unit (CPU) is the main component or "brain" of a computer, which performs all the processing of input data, Its function is to fetch, examine and then execute the instructions stored in the main memory of a computer. In microcomputers, the CPU is built ona single chip or integrated Circuit (IC) and is called as a Microprocessor. The CPU consists of the following distinct parts: Arithmetic Logic Unit (ALU) Control Unit (CU) Registers Buses Clock Memory Unit Memory Unit is that component of a computer system, which is used to store the data, instructions and information before, during and after the processing by ALU. It is actually a work area (physically a collection of integrated circuits) within the computer, where the CPU stores the data and instructions. It is also known as a Mein/Primary/internal Memory. 1.2.2 Computer Memory Memory in a computer system is required for storage and subsequent retrieval of the instmetion and data. A computer system uses variety of devices for storing the instruction and data, which are required for its operatious. Normally we classify the information to be stored on computer in two basic categories: Data and the instructions. 2a “The storage device along with the algorithm or information on how to control and manage these storage devices constitutes the memory system of computer”. A memory system is a very simple system yet it exhibits a wide range of technology and types. But unfortunately, faster memory technology is more costly. In addition fast memories require power supply till the information needs to be stored. These things are not very convenient, but on the other hand the memories with smaller cost have very high access time, this is the time taken by CPU to access a location in the memory in high, which will result in slower operation of the CPU. Thus, the cost versus access time anomaly has lead to a hierarchy of memory where we supplement fast memories with larger, cheaper, slower memories. This memory unit may have different physical and operational characteristics, therefore, making the memory system very diverse in type, cost, organization, technology and performance. This memory hierarchy will be fruitful if the frequency of access to slower memories is significantly less than the faster memories. Cache Fast, Small, Experience ‘Main Memory (RAM) Maonetie Disk Slow, Large, Cheap Magnetie Tape Thus, a memory system can be considered to consist of tree groups of memories. These are: 1) Internal Processor Memories: These consist of the small set of high speed registers which are infernal to a processor and are used as temporary locations where actual processing is done. 2) Primary memory or main memory: It is a large memory, which is fast but not as fast as internal processor register. Processor directly accesses this memory. It is mainly based on integrated ciscuit 3) Secondary or Auxiliary Memory: Auxiliary memory is in fact much larger in size than main memory but is, slower than main memory. It normally stores system programs, and data files. These cannot be accessed directly by processor: Memory Memory- is also known as the primary storage or main memory/ internal memory. It is a apart of microcomputer that hold data for processing, instmetion for processing the data (ie progran) aud information (processed data) I is of the following thuee types: 22 1. Read Only Memory (ROM) 2. Random Access Memory (RAM) 3. Complementary Metal Oxide Semiconductor Memory (CMOS) 1. Read Only Memory Read Only Memory is an essential component of the memory unit. We know that the computer, being a machine, itself has no intelligence or memory and requires instructions, which are given by a person. Whenever the computer is switched on, it searches for the required instructions. The memory, which has these essential instructions, is known as Read Only Memory (ROM). This memory is permanent and is not erased when the system is switched off. As appears with its name, it is read only memory ie. it can be read only and not be written by user/ programmer. The memory capacity of ROM varies fom 64 KB to 256 KB ([ Kilobyte ~ 1024 bytes) depending on the model of computer. ‘Types of ROM There are many types of ROM available for microcomputers like Mask ROM, PROM, EPROM, EEPROM and EAPROM. Mask ROM: Mask ROM is the basic ROM chip. In this type of ROM, the information is stored at the time of its manufacturing. So, it cannot be altered or erased later on. PROM: PROM stands for Programmable Read Only Memory. In this type of ROM, the information is stored by programmers efter its mamufecturing. It also cannot be altered or erased later on. EPROM: EPROM stands for Erasable Programmable Read Only Memory. It is similar to PROM, but its information can be erased later on by ultra violet light and it can be reprogrammed. EEPROM: EEPROM stands for Electrically Erasable Programmable Read Only Memory. It is similar to EPROM, but ifs information can be erased by using a high voltage current. EAPROM: EAPROM stands for Electrically Alterable Read Only Memory. As compared to EPROM and EEPROM, the information stored in EAPROM can be altered later. 2. Random Access Memory Random Access Memory (RAM) is another important component of the Memory Unit. It is used to store data and instructions during the execution of programs. Contrary to ROM, RAM is temporary and is erased when the computer is switched off. RAM is a sead/ write type of memory, aud thus can be tead and written by the user/ programmer. As it is possible to randomly use any location of this memory, therefore, this memory is 23 known as random access memory. The memory capacity of RAM varies from 640 KB to several megabytes (1 Megabyte = 1024 KB) with different models of PC Types of RAM There are two types of RAM used in PCs - Dynamic and Static RAM. Dynamic RAM (DRAM): The information stored in Dynamic RAM has to be refreshed after every few milliseconds, otherwise it is erased. DRAM has higher storage capacity and is cheaper then Static RAM. ‘Static RAM (SRAM): The information stored in Static RAM need not be refreshed, but it remains stable as long as power supply is provided. SRAM is costlier but has higher speed than DRAM. 3. Complementary Metal Oxide Semiconductor Memory Complementary Metal Oxide Semiconductor (CMOS) memory is used to store the system configuration, date, time and other important data. When the computer is switched on, BIOS matches the information of CMOS with the peripheral devices and displays error in ease of mismatching. 1.3 DATA REPRESENTATION We know that data is usually combination of numbers, characters and special characters. This data has to be worked upon by the computer as well as it has to be transported fiom place to place, ie. data has to flow from place to place within the computer hardware. As the compnter is a electronic device and it works with electronic pulses, this data or information should be in the form which is machine readable and understandable, for this reason, data has to be represented in the form of electronic pulses. The data has to be converted into electronic pulses and each pulse should be identified with a code. For these reasons, the data is converted into numeric format first, by using world wide standard called ASCII ie. American standard code for Information Interchange, where each and every character, special character and keystrokes have numerical equivalent. We will have a detail discussion on ASCII codes in the codes section. ‘Thus using this equivalent, the data can be interchanged into numeric format For the numeric conversion we use number systems, each mumber system has a radix or base, which indicates the number of digits in that umber system. Lets have a quick look at number systems. 1.3.1 Number System Most modern computer systems do not represent numeric values using the decimal system, Instead, they typically use a binary or two's complement numbering system. To understand the limitations of computer arithmetic, you must understand how computers represent numbers, In any nuuiber system there is an ordered set of symbols known as digit with rules 24 defined for performing arithmetic operations like addition, multiplication ete, A collection of these digits makes a number which in general has two parts L Integer part 2. Fractional part These two parts are separated by a point (.). (N)v= da-tdn-2dy-3 ido did ~ 2 dm ‘Where N=A number radix or base of the number system n= number of digits in integer portion m.= number of digits in fractional portion d.1=most significant digit (msd) da least significant digit (Isd) Let’s understand it: ‘You are quite familiar with the decimal mumber system that is the number system we are using in our daily life, Here base is 10 as it has 10 digits (0...9) Suppose you are having a number NE123. cesses B9 di dy. dada where d represents the digits ‘The base is 10 nis3 mis2 Now I think you got the basic criteria to distinguish the one number system from another. ‘Now based on this lets come to the types of number system ‘Types of Number Systems Basically there are 4 types of number system, They are as follows Binary number system; Decitnal number system; Octal number system; ‘Hexadecimal number system. 25 ‘Now lets see the characteristics of these number systems: Number system | Base orradtx(®) | Symbols of gts wsed | Example Binary System 2 On lout Octal System 8 01234567 3567.25 Decimal System 2B 04123.45,6.7,89 3947.89 Hexadecimal System ie 041,23.4.5,6.7,89, 3FA99A ABCDEF Table 1.1 1.4 REVIEW QUESTIONS What are supercomputers and where they are used? 1 2. What is the different between analog and digital computer? You have to explain in your own words? 3. “What is the difference berween second and the fourth generation of the computer? 4. Do the comparative studies of the various generations of the computer based on power and space occupied by them 5. What are the characteristics of computer? 6 Draw a block diagram to illustrate the basic organization of a computer system and explain the funetions of various units 7. Which component of a computer is generally called ‘brain’ of computer and Why? Describe the functions of the distinet parts of this component, 26 Structure 3.1 Introduction 32.1.1 Layers of Operating System 3.1.2 Fumetions of Operating Systems 3.1.3 Characteristics of an Operating System 3.1.4 Measuring System Performance 3.2 Evolution of Operating Systems 3.2.1 Serial Processing 3.2.2 Batch Processing 3 Multiprogramming 3.3 Types of Operating System 3.1 Batch Processing Operating Systems. 3.3.2 Time Sharing Operating Systems 3.3 Real Time Operating Systems 3.4 Operating System Techniques 3.4.1 Multiprogramming 3.4.2 Multiprocessing 3.4.3 Multitasking 3.5.4 Multithreading 3.5 Some Popular Operating Systems Disk Operating System. 5.2 UNIX 3.5.3 Linux 5.4 Microsoft Windows 5 Microsoft Windows NT 3.6 Review Questions 3.1 INTRODUCTION What is human body without life giving Oxygen, the same is the case of a computer, its existence is immaterial, without an operating system, such is the importance of the Operating System. Operating System falls under the category of System software. The goal of this unit is to introduce the concept related to operating system and what is the function of operating system. The Operating System is not the command interpreter alone, as people pereeive. The Operating System is the program that must be running all the time, and cannot be replaced without it being a different 0/S. Let us look into this most importent component of the Computer System, the Operating System. Definition 1: “An operating system can be defined as the set of instructions or programs, which make the computer work” Definition 2: “An Operating System or OS is a software program that enables the computer hardware to communicate and operate with the computer sofware” Definition 3: ‘An operating system is software, which controls the computer and its peripherals and makes the computer ready to use by a process called booting” Without an Operating System a computer would be useless. An Operating System (OS) is an integrated set of programs that is used to manage the ‘various resources and overall operations of a computer system. It is designed to support the activities of a computer installation, Its prime objective is to improve the performance and efficiency of a computer and increase facility, the ease with which a system can be used As we have seen that an operating system is software, which makes the computer ready to ‘use by a process called booting. Before, discussing more on the operating systems, let us first see what exactly do you mean by booting: When we switch on the computer, the instructions stored in ROM are automatically executed. These instructions help the computer to load the operating system from external storage device (disk) to internal storage (RAM). This process of loading of operating system fiom disk to RAM is called booting. etl os ~ veer > pplication Computer Rarduare Fig 3.1 Component of Computer System 3.1.1 Layers of Operating System Each group of computers may have its own and unique operating system although not necessauily only ove. Operating system programs are couunouly stored in hard disk. When we switch on the computer the booting program know as BIOS (Basic UO System) which is stored in the ROM (Read only memory) fetches the OS from hard disk to primary storage (RAM). An OS tells the computer how to conduct him self. The architecture of Operating System is designed with many layers in the core of it is Hardware/Kemel, above it is loaded an OS which in tum controls everything inside a computer and make an interface with the application program loaded in to the computer. It intercounects the application program to CPU through Compiler ot Interpreter Fig 3.2 Layers of Operating System 3.1.2 Functions of Operating Systems Operating systems in general take care of all the housekeeping tasks. They do read and write files, maintain disk directories, allocate memory to application programs, and usually handle mechanical chores snch as reading the keyboard when you press keys and updating the screen when something needs to be displayed. These tasks require a surprising amount of software and every computer requires software to do these jobs. Due to the fact that there is close-knit cooperation between operating systems and applications programs, each and every application program must he designed such that it is able to work with a particular operating system. All operating systems essentially do the sane things but they do it in different ways, some features may be additional which add to the fumetionality. This makes the point clear that an application program may work with all operating systems, with slight modifications. An operating system performs, basicelly the following functions: 1. Communicstion with the computer user or operator by means of terminals or Consoles, and through the use of mouitor commands and responses. It acts as system start up device also. The operating system is automatically loaded into hardware's main memory (RAM) when computer is turned on, Then the OS either waits for you to give ita command of it brings a pre selected program into a read to operate condition. This sequence is knowa as boot strapping or simply booting ‘Assigning Priorities: Usually, the OS has several levels of priorities. For instance, a report generating program may continue to run until the system receives a command or query from the terminal, (a priority in computer lingo). Then the system responds to the request from the terminal before continuing with the report program. 3. The scheduling and loading of programs, or subprograms is necessary in order to provide a continuous job processing sequence or to province appropriate responses to events- job to job ~ processing and job as counting, 4. Control over hardware resources e.g. control over the selection and operation of all peripheral devices used to input, or storage. The operating system also directs the movement and processing of information required by your applications programs. It transfers data to and from storage and input output devices like terminals or printers 5. Managing the data and program files: The operating system directs the information storage and rettieval functions using one or more filing methods. These may include sequential (magnetic tape), random (as on disk, units) or data base stomge structures.’ the latter method uses special identifiers for each file to locate information more rapidly and to avoid- redundant information storage. 6. Provide utility fictions that provide the user with tools for some operations like * Loading programs * Transfering files fiom one floppy to another, backing up and copying. Formatting a disk to accept data Program. Sending information to 1/0 devices like printer, or @ modem. Displaying the directory of contents of a disk. Handling errors when they occur and using corrective routines where possible 8. Protecting hardware, software and data from improper use 9. Fumishing a complete Account of what has happened during operation. Some Getails of this log may be stored for accounting purposes ‘The more sophisticated a computer's operating system, the better the computer system can. ‘manage itself, the less human intervention is required, and the more data computer can process. This is one reason why today's mainframe operating systems are large, complex programs involving thousands of instructions and costing thousands of dollars. 3.1.3 Characteristics of an Operating System Let us tty to identify the main characteristics of an operating system: © Concurrency: being able to handle events as they occur and executing multiple tasks in parallel; ‘© Sharing the resourced for a number of reasons: 1. Cost 2. Using the work of others 3. Sharing data: use the same data in several different programs possibly used by several different users. «Removing redundancy; Long-term storage of infonnation (privacy, integrity, security); Non determinacy: an operating system must be able to handle events occurring in an unpredictable order. 3.1.4 Measuring System Performance Efficiency of an operating system and overall performance of a computer system are measured usually in terms of the following parameters: 1. Throughput: Throughput is the amount of work that a system is able to do per unit time. It is measured as the number of jobs (processes) completed by the system per unit time, For example, if a system is able to complete n processes in t seconds, its throughput is n/t processes per second during that interval. Throughpat is measured normally in processes per hour. Note that the throughput of a system does not Gepend on its jobs processing efficiency only, but also on the number of jobs processed. For long process, throughput of a system may be one process/hour; whereas for short processes, it may be 100 processes /hour for the same system. 2, Turnaround time: From the point of view of an individual user, an important criterion is how long it takes a system to complete a job submitted by him/her Turnaround time is the interval between the time of submission of a job to the system for processing to the time of completion of the job, Although, higher throughput is desirable from the pointy of view of overall system performance, individnal users are more interested in better fumaround time for their jobs 3. Response time: Turnaround time is not a suitable measure for interactive systems because in such @ system a process can produce some output early dusing its execution and can continue executing while previous results are being output to the user. Hence, another measure used in case of interactive systems is response time. It is the interval between the time of submission of a job to the system for processing to the time of the system prodncing the first response for the job. In any computer system, it is desirable to maximize throughput and minimize turnaround time and response time. 3.2 EVOLUTION OF OPERATING SYSTEMS An operating system may process its task serially (sequentially) or concurrently (several tasks simultaneously). It means that the resources of the computer system may be dedicated toa single program until its completion or they may be allocated among several programs in different stages of execution. The feature of operating system to execute multiple programs in interleaved fashion or different time cycles is called as multiprogramming systems. In this topie, we will try to trace the evolution of operating system, In particular, we will describe serial processing, batch processing and multiprogramming 3.2.1 Serial Processing Programming in 1's and O's (machine language) was quite common for early computer systems. Instruction and data used to be fed into the computer by means of console switches or pechaps through a hexadecimal keyboard, Programs used to be started by loading the program computer register With the address of the first instruction of a program and its result (program) used to be examined by the contents of various registers and memory locations of the machine. Therefore, programming in this style caused a low utilization of both users and machine. Advent of Input Output devices, stich as punched cards paper tape and language translators (Compiler/Assemblers) brought a significant step in computer system utilization, Program started being coded into programming lenguage are first changed into object code (binary code) by translator and then automatically gets loaded into memory by a program called loader. After transferring a control to the loaded program, the execution of a program begins and its result gets displayed of printed. Once in memory, the program may be re-run with a different set of input data, The process of development and preparation of a program in such enviroument is slow and cumbersome due to serial processing and numerous ‘manual processing. In a typical sequence first the editor is called to create a source code of user program written in programming language, translator is called to convert @ source code into binary code and then finally loader is called to load executable program into main memory for execution. If syntax errors are detected, the whole process must be restarted from the beginning. The next development was the replacement of card decks with standard input/output and some useful library programs, which were further linked with user program through system software called linker. While there was a definite improvement over machine language approach, the serial mode of operation is obviously uot very efficient. This results in low utilization of resources, 3.2.2 Batch Processing Utilization of computer resources and improvement in programmer's productivity was still a major prohibition. During the time that tapes were being mounted or programmer was operating the console, the CPU was sitting idle. The next logical step in the evolution of operating system was to automate the sequencing of operations involved in program execution and in the mechanical aspects of program development. Jobs with similar requirements were batched together and run through the computeras a group, For example, suppose the operator received one FORTRAN program, one COBOL program and another FORTRAN program. If he runs them in that order, he would have to set up for FORTRAN program environment (loading the FORTRAN compiler tapes) then set up COBOL program and finally FORTRAN program again. If he runs the two FORTRAN programs as, a batch, however he could set up only once for FORTRAN thus saving operator's time. Batching similar jobs brought utilization of system resources quite a bit. But there were still problems. For example, when a job is stopped, the operator would have to notice that fact by observing the console, determine why the program stopped and then load the card reader or paper tape reader with the next job and restart the computer. During this transition fiom one job to the next, the CPU sat idie. To overcome this idle time, a small program called a resident monitor was created which is always resident in the memory. It automatically sequenced one job to another job, Resident ‘monitor acts according to the directives given by a programmer through control cards which contain information like marking of job’s beginnings and endings, commands for loading and executing programs, efc. These commands belong fo job control language These job control language commands are mcluded with user program and data. Here is an example of job control language commands. SCOB - Execute the COBOL compiler SJOB - First card ofa job SEND - Last card of a job SLOAD - Load program into memory SRUN - Execute the user program SEND. TSRR’S PROG! BG. COMPOSED: Figure 3.3 shows a sample card deck set up for a simple batch system. With sequencing of program execution mostly automated by batch operating system, the speed discrepancy between fast CPU and comparatively slows input/output devices such as "card readers, printers emerged as a major performance bottleneck. Even a slow CPU works in the microsecond range, with millions of instructions per second. But, fast card reader, on the other hand, might read 1200 cards per minute. Thus, the difference in speed between the CPU and its input/output devices may be three orders of magnitude or more The teletive slowness of input/output devices can mean thet CPU is often waiting for inpuyoutput. As an example, an Assembler or Compiler may be able to process 300 or more eards per second. A fast card reader, on the other hand, may be able to read only 1200 cards per minute, This means that assembling or compiling a 1200 card program would require only 4 seconds of CPU time but 60 seconds to read. Thus, the CPU is idle for 56 out of 60 seconds or 93.3 per cent of the time. The resulting CPU utilization is only 6.7 per cent. The process is similar for output operations. The problem is that while an input/output is occuring, the CPU is idle, waiting for the inpuvontput to complete; while the CPU is executing, input/output devices are idle Over the years, of course, improvements in technology resulted in faster input/output devices. But CPU speed increased even faster. Therefore, the need was to increase the throughput and resource utilization by overlapping input/output and processing operations. DMA (Direct Memory Access) chip which directly transfers the entire block of data fiom its own buffer to main memory without intervention by CPU was a major development. While CPU is executing, DMA can transfer data between high speed input/output devices and main memory. CPU requires to be interrupted per block only by DMA. Apart from. DMA, there are two other approaches to improving system performance by overlapping input, output and processing. These ate buffering and spooling. Buffering is a method of overlapping input, output and processing of a single job. The idea is quite simple. After data has been read and the CPU is about to stact operaiing ou it, the input device is instructed to begin the next input immediately. The CPU and input device are then both busy. With luck, by the time that the CPU is ready for the next data item the input device will have finished reading it. The CPU can then begin processing the newly read data, while the input device starts to read the following data, Similarly, this can be done for output, In this case, the CPU creates data that is put into a buffer until an output device can accept it. For output, the CPU can proceed at full speed until, eventually all system buffers are full. Then the CPU must wait for the output device. This happens with input/output bound jobs where the amount of input/output relation to computation is very Ingh. Since the CBU is faster than the imputioutput device, the speed of execution 18 contiolled by the inputioulput device, not by the speed of the CPU. More sophisticated form of input/output buffering called SPOOLING (simultaneous peripheral operation on line) essentially use the disk as a very large buffer (figure 3.4) for ‘reading and for storing output files reading and for storing output files. Buffering overlaps input, output and processing of a single job whereas Spooling allows CPU to overlap the input of one job with the computation and output of other jobs ‘Therefore this approach is better than buffering. Even in a simple system, the spooler may be reading the input of oue job while printing the output of a different job. Fig 3.4 Spooling 3.2.3 Multiprogramming Buffering and spooling improve system performance by overlapping the input, output and computation of a single job, but both of them have their limitations. A single user cannot always keep CPU or 1/0 devices busy at all times. Multiprogtamming offers a more efficient approach to increase system performance. In order to increase the resource utilization, systems supporting multiptogramming approach allow more than one job (program) to utilize CPU time at any moment. More mumber of programs competing for system resources, better will be resource utilization. The idea is implemented as follows. The main memory of a system contains more than one program (Figure 3.5) Primary Memory PROGRAM N Figure 3.5: Memory layout in multiprogramming environment ‘The operating system picks one of the programs and start executing. During execution process program1 may need some V/O operation to complete. In a sequential execution environment (Figure 3.6a), the CPU would sit idle. In a multiprogramming system, (Figure 3.6b) operating system will simply switch over to the next program (Program). ‘When that program needs to wait for some LO operation, it switches over to Program 3 and so on. If there is no other new program left in the main memory, the CPU will pass its control back to the previous programs Multiprogramming has traditionally been employed to increase the resource wilization of a computer system and fo support multiple simultaneously interactive users (terminals). Compared to operating system which supposts only sequential execution, multiprogramming system requires some form of CPU and memory management strategies Program | Program 2 | Program 1 — P2 () : recution in muliprogramping environment Figure 3.6: Multiprogramming 3.3 TYPES OF OPERATING SYSTEM As computers have progressed and developed so have the types of operating systems. Many types of operating systems are available for computers, which can be divided into the following two broad categories - (a) Single-user operating systems, (®) Multi-user operating systems. (a) Single-user operating systems: These operating systems are used for mainly computers having only one teminal (stand-alone PCs). MS DOS (Microsoft Disk Operating System) and PC DOS (Personal Computer Disk Operating System) are the two important single user operating systems. Both systems are almost identical and are simply called DOS. OS/2 and Windows NT are other popular single-user multi-tasking operating systems for microcomputers. (@ Microsoft DOS - MS DOS, developed by ‘Microsoft Inc. in 1981, is the most widely used operating system of IBM-compatible microcomputers. The latest version identification number of a release of software) of MS DOS is 7. Gi) PC DOS - PC DOS is essentially the same operating system as MS DOS, Dut developed and supplied by IBM for its personal computers. (0) Multi-user operating systems: These operating systems are used for those computers (micro (0 mainframe), which have many terminals (multi-user systems). The popular operating systems used for multi-user systems are UNIX, NETWARE, MVS, OS/400, ‘VMS and Linux Multi-user operating systems are used on networks of computers and allow many different users to access the same data and application programs on the same network. It also allows users to communicate with each other, Modern computer operating systems may also be classified into three other groups, which are distinguished by the natwe of interaction that takes place between the computer user and his or her program during its processing. The three groups are called bateh, tim shared and real time operating systems. 3.3.1 Batch Processing Operating Systems. If there was a lot of work to be done, then these works are pooled and the collections of these instructions would be given to the computer to work on overnight. Since the computer was working on batches of instruetions, this type of operating system was called a Batch Processing Operating System. Batch processing operating systems are good at churning through large numbers of repetitive jobs on large computers. Jobs like: printing of invitations for AGM, consolidation of marks and presenting result, working out the pay of each employee in large firm or processing all the questionnaire forms in a large survey. Ina batch processing operating system environment users submit jobs fo a central place where these jobs are collected into a batch, and subsequently placed on an input queue at the computer where they will be run, In this ease, the user has no interaction with the job during its processing, and the computer’s response time is the tumaround time-the time fiom submission of the job until execution is complete, and the results are ready for return to the person who submitted the job 3.3.2 Time Sharing Operating Systems Time-sharing is a mechanism to provide simultancous interactive use of a computer system by many users in such a away that each one feels that he/she is the sole user of the system, Ir uses multiprogramming with a special CPU scheduling algorithm to achieve this, A time-sharing system has many (even hundreds of) user terminals connected to the same computer simultancously. Using these terminals, multiple users can work on the system simultaneously. Multiprogramming feature allows muhiple user programs to reside simultaneously in main memory, and special CPU scheduling algorithm allocates a short period of CPU time oue-by-oue to each user process (fiom the first one to the last one, and then again beginning from the first one). The short period during which a user process gets to use CPU is known as time slice, time slot, or quantum, and is typically of the order of 10 to 100 milliseconds. Hence, when CPU is allocated to a user process, it uses the CPU until the allotted time slice expires (system's clock sends an interrupt signal to CPU after every time slice), or it needs to perform some V/O operation, or it completes its execution during this period. Notice that CPU is taken away fiom a runing process when the allotted time slice expires. Figure 3.7 shows te process state diagram of a time-sharing system Job is allocated to CPU for execution Job processing. completed New Job Alloted time slice is over vo completed Job must wait for 1/0 completion Figure 3.7 Process state diagrams for a time-sharing system, In this environment a computer provides computing services to several or many users concurrently oxline. Here, the various users are sharing the central processor, the memory, and other resources of the computer system in a manner facilitated, controlled, and monitored by the operating system, The user, in this environment, has nearly full interaction with the program during its execution, and the computer's response time may be expected to be no more than a few second. Advantages of Time-sharing Systems: Although time-sharing systems are complex to design, they provide the following advantages to their users 1. Reduces CPU idle time. A user's thinking and typing speed is much slower than a computer's processing speed. Hence, during interactive usage of a system, while a user is engaged in thinking or typing his / her input, a time-sharing system services many other users. Hence, time-sharing systems help in reducing CPU idle time and, in turn, provide increased system throughput. 2. Provides advantages of quick response time. The special CPU scheduling algorithm used in time sharing systems ensures quick response time to all users. This feature helps in improving programmers’ efficiency by making interactive programming and debugging much simpler and quicker. Multiple programmers can work simultaneously for writing, testing, and debugging their programs, or for trying out various approaches to a problem solving 3. Offers good computing facility to small users. Small users can gain direct access to ‘more sophisticated hardware and software than they could otherwise justify or afford. In time-sharing systems, they merely pay a fee for resources used and are relieved of hardware, software, and personnel problems associated with acquiring and maintaining their own installation Multitasking Operating Systems: Multi-tasking operating systems are now very common. They enable the computer to run more than one piece of software at the same time. It is quite common to sit at your computer and have a word-processor open and running, as well as an Intemet browser, and an audio CD player all at the same time. ‘The operating system allows you to switch between the applications and evea transfer data between them (for example, it helps you to copy a picture from an intemet site shown on your browser application and paste it info your DTP application) Multitasking Operating systems allow multiple software processes to be rm at the same time. Operating systems that would fall into this eategory are: + System 7.x * System 8.x * UNIX + Windows 2000 * Windows 95 * Windows 98 * Windows NT 4.0 Multitasking operating systems allow a user to do more than one thing at the same time Multi-user Operating Systems: Multi-user operating systems are used on networks of computers and allow many different users to access the same data and application programs on the same network. It also allows users to communicate with each other There are many different types of Network Operating System, each one suited to a different. Multi - User - Allows multiple users to utilize the computer and run programs at the same time. Operating systems that would fall into this category are © System 7.x System 8.x UNIX Windows 2000 Windows 3.1x Windows 95 Windows 98 © Windows NT. 3.3.3 Real Time Operating Systems A Real-Time Operating System (RTOS) is a multitasking operating system intended for real-time applications. Such applications include embedded systems (programmable thermostats, household appliance controllers), industrial robots, spacecraft, industrial control (see SCADA), and scientific research equipment. It is another form of operating system which is used in environments where a large number of events mostly external to computer systems, must be accepted and processed in a short time or within certain deadlines. Examples of such applications are flight control, real time simulations etc. Real time systems ate also frequently used in military application, Real Time Operating Systems are designed to service those applications where response time is of the essence in order to prevent error, misrepresentation or even disaster. Examples of real time operating systems are those, which handle airlines reservations, machine tool control, and monitoring of a nuclear power station. The systems, in this case, are designed to be interrupted by extemal signal that require the immediate attention of the computer system. A primary objective of real-time system is to provide quick response times, User convenience and resource utilization are of secondary concem to real-time system. Ta the real-time system each process is assigned a certain level of priority according to the relative importance of the event processes. The processor is nommally allocated to the highest priority process among those which are ready to execute. Higher priority process usually pre-eniple execution of lower priority processes. This form of scheduling called, priocity ‘based pre-emptive scheduling, is used by a majority of real-time systems. In fact, many computer operating systems are hybrids, providing for more than one of these types of computing service simultaneously. It is especially common to have a background batch system running in conjunetion with oue of the other two on the same computer. A number of other definitions are important to gaining an undersanding of operating systems: A multiprogramming operating system is a system that allows more than one active user program (or part of user program) to be stored in main memory simultaneously. Thus, it is evident that a time-sharing system is a multipiogramming system, but note that a multiprogramming system is not necessarily a time-sharing system. A batch or real time operating system could, aud indeed usually does, have more than one active user program simultaneously in main storage. Another important, and all too similar, term is ‘multiprocessing’, A multiprocessing system is a computer hardware configuration that includes more than one independent processing unit. The term multiprocessing is generally used to refer to large computer hardware complexes found in major scientific or commercial applications This Operating system allows multiple processors to be utilized. Operating systems that ‘would fell into this category are: * UNIX © Windows 2000 © Windows NT 4.0 A networked computing system is a collection of physical interconnected computers. The operating system of each of the interconnected computers must contain, in addition to its own stand-alone fimetionality, provisions for handing communication and transfer of program and data among the other computers with which it is connected. A distributed computing system consists of a number of computers that are connected and managed so that they automatically share the job-processing load among the constituent computers, ot separate the job load as appropriate particularly configured processors. Such a system requires an operating system, which, in addition to the typical stand-alone functionality, provides coordination of the operations end information flow among the component computers. The networked and distributed computing environments and their respective operating systems are designed with more complex functional capabilities, In a network operating system the users are aware of the existence of multiple computers, and can log in to remote ‘machines and copy files from one machine to another. Each machine mins its own local operating system and has its own user (or users). A distributed operating system, in contrast, is one that appears to its users as a traditional unprocessed system, even though it is actually composed of multiple processors. In a tue distributed system, users should not be aware of where their programs are being nm or where their files are located; that should all be handled automatically and efficiently by the operating system. ‘Network operating systems are not fiindamentally different from single processor operating. systems. They obviously need a network interface controller and some low-level software to drive it, as well as programs to achieve remote login and remote files access, but these additions do not change the essential structure of the operating systems, 3.4 OPERATING SYSTEM TECHNIQUES, There are several techniques used in Multi-user operating systems for enabling many users to concurrently share the single or multiple CPU (e.g. Multiprogramming and Multiprocessing). Some techniques are wsed in single-user operating system to handle multiple tasks (Multitasking). We will now discuss these common techniques used in different operating systems. 3.4.1 Multiprogramming It is a process by which single CPU works on two or more programs simultaneously. Using this technique, the operating system keeps the CPU busy. Multiptogramming allows the processor to handle either multiple batch jobs at a time Batch Multiprogramming) or multiple interactive jobs shared among multiple users (Time Sharing Multiprogramming) Time-sharing is a technique that allows a CPU to simultaneously support the activities of several users by allocating fixed time slots (in milliseconds). Examples of operating systems that support multiprogramming are OS/2, UNIX and Macintosh System 7. 3.4.2 Multiprocessing Tt refers to the use of two or more CPUs to perform a coordinated task simultaneously Figure 3.8 shows the architecture of @ computer with its CPU, memory, and LO processors l. Main memory V/O Units | 1/0 Processors + cPuU Fig 3.8 Architecture of a computer system with its CPU, memory, and I/O processors. The idea of using 1/0 processors to improve system performance was carried a step further by designing systems with nmltiple CPUs, Such systems are called multiprocessing systems because they use multiple processors (CPUs) and can execute multiple processes concurrently. Multiple CPUs of these systems are used to process either instructions from different and independent programs or different instructions from the same program simultaneously. Figure 3.9 shows basic organization of a typical multiprocessing system. Figure 3.9 Basic organization of a typical multiprocessing system For example, MVS, VMS and Windows NT support multiprocessing. 3.4.3 Multitasking I:refers to the ability of an operating system to execute two or more tasks concurrently. In multitasking environment, the user opens new applications without closing the previous ones and the information can be easily moved among a number of applications Technically speaking, multitasking is same as multiprogramming. Many authors do not distinguish between multiprogramming and multitasking because both refer to the same concept. However, some authors prefer to use the term multiprogramming for multi-user systems (systems that are used simultaneously by many users such as maiafreme and server lags systems), and multitasking for single-user systems (systems that are used by only one user at a time such as a personal computer or a notebook computer). Note that even in a single-user system, it is not necessary that the system processes ouly one job at a time. In fact, a user of a single-user system often has multiple tasks being processed by the system, For example, while editing a file in foreground, a sorting job can be given in background Similarly, while compilation of a program is in progress in background, user may be reading his/her electronic mails in foreground. In this manner, a user may work concurrently on many tasks. In such a situation, status of each of the tasks is viewed on computer's screen normally by partitioning the screen into multiple windows. Progress of different tasks is viewed on different windows in a multitasking system Hence, for those who like to differentiate between multiprogramming and multitasking, multiprogramming is interleaved execution of multiple jobs (of same or different users) in a multi-user system, while multitasking is interleaved execution of multiple jobs (often referred to as sasks of same user) in a single-user system. Typically, computer systems used for such purposes are uni-processor systems (having only one CPU). Typically, computer systems used for such purposes are uni-processor systems (having only ove CPU). For example, Windows NT and OS/2 operating systems use this technique. 3.5.4 Multithreading Threads are a popular way to improve application performance. In traditional operating systems, the basic unit of CPU utilization is a process. Each process has its own program counter, its own register states, its own stack, its own address space (memory area allocated to it). On the other hand, in operating systems, with threads facility, the basic unit of CPU utilization is a thread. In these operating systems, a process cousists of an address space and one or more threads of control [see Figure 3.10(b)]. Each thread of a process has its own program counter, its own register states, and its own siack. However, all the threads of a process share the same address space. Hence, they also share the same global variables. In addition, all threads of a process also share te same set of operating system resources, stich as open files, signals, accounting information, ete. Due to sharing of address space, there is no protection between the threads of a process. However, this is not a problem. because process (and hence all its threads) is always owned by a single user. Therefore, protection between multiple threads of a process is not necessary. Protection between multiple processes is needed because different processes may belong to different users. Threads share @ CPU in the same way as processes do. At a particular instance of time, a thread can be in anyone of several states - nunning, blocked, ready, or terminated. Due to these similarities, threads are often viewed as mini processes. In fact, in operating systems with threads facility, a process having a single thread corresponds to a process of a tuaditioual operating system [see Figure 3.10(a)]. Tleads are often refered to as lightweight processes and traditional processes are referred to as heavyweight processes. Fig 3.10 (a) Single-threaded and (b) Multithreaded processes. Operating systems that allow different parts of software program to run concurrently. Operating systems that would fall into this category are: « UNIX © Windows2000 © Windows95 © Windows98 © Windows NT 4.0 3.5 SOME POPULAR OPERATING SYSTEMS 3.5.1 Disk Operating System What is DOS and what do DOS mean? DOS is an acronym for Disk Operating System. ‘Though this doesn't say exactly what DOS does it tells you what it is. An operating system is a program that is run on a computer that allows tie user to communicate with it in a way the user understands. Imagine if you lad to talk to the computer on its level! No one would want to work with computers if that were the case, DOS allows you to perform tasks on the computer by telling the computer what to do in terms of English like commands such as COPY and MOVE are infinitely better than 10001110101110111! Designed for microcomputers (your PC is a microcomputer), DOS makes it easier for you to work with the information on your disks whether they are floppy disks or hard disks. But before we look deeper into how fo use DOS we need to have alittle background on how DOS looks at information on the computer Rebooting the Computer: Sometimes it may happen that your system crashes down. because of any reason. In This process is called Warm Boot or Reset, This will again get things going. But it is advisable to use it as a last altemative when all other efforts of resuming work fail. At times, Warm Boot also fails to restart the computer. This means the instructions that are given by the keyboard are no longer valid and are not interpreted by the system. In this case, switch off the power supply such a situation, hit < Ctrl + Alt + Del > Keys together. This will restart your computer and wait for a few minutes, Then tum on the power supply and start working. Sometimes, due to unknown reasons the system is ‘unable to boot fiom the hard disk, in such @ situation, you are requited to boot the system from the bootable floppy (oppy that contains DOS). Concept of Files and Directories: File is a collection of related information, Any kind of text, data or program that is entered is stored in a file. Now, it is very essential to organize ‘your files in an ordered manner. This makes file search easier. Otherwise, it ean really be a difficult and time consuming job to search for a particular file out of the whole lot of files stored on the disk. An example of library can make the explanation of the concept clearer As you must have already observed, the books in a library are put in big cabinets. Each cabinet is divided into many shelves and sub shelves. Each shelve or sub-shelve contains books on a particular subject. So, the required book on a particular subject can be found out very easily without wasting much time and effort On similar grounds, all the files that are related to each other are chibbed at one place. This is known as a Directory Structure or simply a Directory. A directory structure resembles an inverted tree, The main directory becomes the Root directory. he directories and files ‘become the branches of this directory tree. Any number of files and directories can be added to it, thus, making the tree grow big downwards. Let us take an example. Suppose we wish to store two kinds of files ou our disk: ACCOUNT and EXPENSE, Further, we wish to keep two more kinds of files (say CASHSALE and CREDSALE) under ACCOUNT sub-direetory. DOS can very mch help you in organizing your files through directory structure. 1. On the top of the ditectory structure, there is a Root directory. This directory is always present and is shown by (backslash) for referencing. Any file or directory that is created is always under the Root directory. 2. EXPENSE is the sub-directory of the Root directory. 3, ACCOUNT is the parent directory of the directories CASHSALE and CREDSALE. It can also be said that the CASHSALE and CREDSALE are the sub-directories of the ACCOUNT directory. Thus, a directory under a directory is called a sub- cirectory / (Root) »* ACCOUNT EXPENSE * CASHSALE CREDSALE WEST.TXT © EAST.TXT It can be clearly seen that the files relating to a particular subject can be put under a directory. For example, all the files relating to expenses can be put under EXPENSE subdirectory whereas all the files relating to cash sales can be stored under the subdirectory CASHSALE. Referencing Files Is time to leam as to how to locate a file. The directory structure has two sub-directories under the Root directory. The sub-directory EXPENSE has two files under it. DOS allows ‘you to go from one directory to another by following a certain path. In the beginning, the user is always resident in the Root directory. While traveling from one directory to another certain miles have to be followed. A user cannot go directly from ACCOUNT subdirectory to EXPENSE sub-directory. To go fiom one sub-directory to another, you have to first go to its parent directory or the Root directory. Thus, for going from ACCOUNT sub-directory to EXPENSE sub-directory, you first have to go to Root directory. Simila:ly for going ftom the file EAST.TXT to WEST.TXT, you have gone to the EXPENSE sub-directory first. ‘Thus, in other words, while moving from one directory to another, you have to its parent directory first. Now, m order to reach out to the file WEST.TXT the following path has to be followed: C>Expense\West txt 12345 Here, 1. Is the drive name where the file is resident in; 2. Is the path which DOS takes to reach for a file; 3. Is the directory under the Root; Is the primary name of the file that is to be accessed; Is the extension name of the same file. The \ (backslash) as to be used for tracing out the path. First backslash takes you to the Root directory. The subsequent backslashes separate the directories, sub-direetories and the filename that are given in the whole path, File Naming Conventions There are certain rules that have to be followed while giving names to your files. A filename has two parts: 1. Primary Name 2. Extension (Secondary Name) A dot (,) separates a primary name from an extension. Let see the two parts of the file named DRAGON.TXT. A primary name cannot have more than eight characters and similarly an extension cau contain only up to three characters. Filename having oaly the primary name and ao extension is absolutely valid becanse it is absolutely optional to give an extension to a filename. An extension is generally given by language or software used by the file. For example, if you entering BASIC and PASCAL programs, their filenames would have extension BAS and PAS respectively. A filename can contain the following characters 1. An Alphabet (A-Z) or (2-2) 2. A mumber (0-9) 3. Special characters such as ete. Except ®, ?, full stop (.) and space Itis a good practice to give meaningtill names to your files. However, no two files can have exactly the same name on disk. Thus, a name given to a file on a disk has to be unique. A look at a few valid and invalid filenames: VALID INVALID. MYHUNT MY BOOK.DOC DRAGONTXT | RRARORA UPHILTUP SEJAIN.BAS, VIJAYA EXCELBOORS. EMPLOYEE EMP. ANURAG?= ‘The rules for naming a directory are the same as that of naming files, Dos Commands: DOS offers a vatiety of commands to perform various flmetions. With the help of DOS commands, you can display the list of files and directories that are present on the disk, create new files and directories; remove unwanted files end directories and much more DOS commands can be entered either in uppercase or lowercase letters, The format of a DOS command is called syntax. All DOS commands begin with command name. When DOS canes out the instructions given by you, is called the execution of DOS command. All DOS commands can be classified into two categories: Intemal Commands and Extemal Commands, Internal Commands The commands which are a part of the main files of DOS COMMAND.COM and two hidden files) are known as Internal Commands. They are leaded in the RAM as soon as the computer is switched on. The important intemal commands are DIR, COPY, DEL, REN, MD, CD, RD, TYPE, COPY CON, DATE, TIME, CLS, ECHO, PROMPT and PATH. External Commands Extemal commands are those commends, which are stored disks as separate program files. ‘These files have the same primary name as the command name. The extension of these files is either COM or EXE. So, at the time of execution of these commands, the corresponding program file should be present in the DOS sub-directory of the hard disk and DOS sub-directory should also be in the path search. The commonly used external commands are- FORMAT, DISKCOPY, CHKDSK, XCOPY and LABEL. Let us discuss some of the important DOS commands in detail. « CDor CHDIR To change the directory path. Syntax CHDIR [érive:J[path] or CD [dtive:][path] Switches Used ed - Goes to the highest level the root of the drive. ed..~ Goes back one directory. For example if you are within CAWINDOWS\COMMAND> directory this would take to CAWINDOWS> CD windows - If present would take you into the Windows directory. Windows can be substituted with any other name. Example Suppose you are under the EXPENSE sub- directory and you want to access the files or directories in the ACCOUNT subdirectory. This would involve the changing of directory from EXPENSE to ACCOUNT. This will make the ACCOUNT directory active. The task of changing directories can be accomplished with the help of CD command. Look at the following example: CCD ACCOUNT The above command will take you to the sub-directory ACCOUNT as shown by following prompt CAACCOUNT> If you want to go to the sub-directory CASHSALE from the sub-directory EXPENSE, issue the following commend: €A5CD ACCOUNT\CASHSALE After the above command, the following prompt C\ACCOUNT\CASHSALE> ‘The command for going to the root directory from prompt is: C:\ACCOUNT\CASHSALE>CD\ But, the command for going to the parent or previous (whether it is root or subdirectory) is CAACCOUNT:CASHSALE>CD.. If you are in the sub-directory CASHSALE, the command will take you to ACCOUNT sub-directory below: C:\ACCOUNT> ‘Suppose you are under the EXPENSE sub-directory want to access the files or directories in the ACCOUNT subdirectory. This would involve the changing of directory. EXPENSE to ACCOUNT. This will make the directory active. ‘The task of changing directories accomplished with the help of CD commend. Look following example C:\>CD ACCOUNT where CD stands for Change Directory The above command will take you to the sub-directory ACCOUNT as shown by following prompt C:\ACCOUNT>- If you want to go to the sub-directory CASHSALE from the sub-directory EXPENSE, issue the following command: C.\>CD ACCOUNT\CASHSALE Afier the above command, the following prompt CAACCOUNT\CASHSALE>_ ‘The command for going to the root directory from prompt is: C:\ACCOUNT\CASHSALE>CD\ But, the command for going to the parent or previous (whether it is root or subdirectory) is: C\ACCOUN-RCASHSALE>CD.. If you are in the sub-directory CASHSALE, the command will take you to ACCOUNT sub-directory below: C:\ACCOUNT>- The command for displaying the name of the currently directory is: C:\>CD * DIR Displays a list of files and subdizectories in a directory. Syntax DIR (drive: ][path] [filename] [/P] [/W] [/A[[:Jattributes]] [/ O[[:Jsort order]} [/S] [/B] VL] VV] Switches Used [/P [Pauses after cach sereenful of information Uses wie list format. fatcributes ID Directories Ik Read-only files IH1 Hidden files [A Files ready for archiving stem files Prefix meaning not [List by files in sorted onder, sortorder IN By name (alphabetic) Is By size (smallest first) IE: By extension (alphabetic) It> By date & time (earliest first) IG Group directories first | Prefix to reverse order LA By Last Access Date (earliest first) [Displays files in specified directory and all jrubdircctories lUses bare format (ao heading information oF Example dir = Lists all files and directories in the directory that you are currently in. dir /ad ~ List only the directories in the current directory, dir /s = Lists the files in the directory that you are in and all sub directories after that directory, if you are at 1oot “C:\>” and type this conumand this will list to you every file and directory that is on the computer dir /p If the directory has a lot of files and you cannot read all the files you can use this command and it will display all files one page at a time dir /w ~ If you don’t need the info on the date / time and other information on the files you can use this command to list just the files and directories going horizontal taking as litle as space needed. dir /s Jw /p = This would list all the files and directories in the current directory and the sub directories after that in wide format one page at a time * COPYCON ‘This command is used to create a file. Syntax Copy con ‘Once you have entered the above command this will create the file by the name specified. Once you have typed all the lines you wish to be in the file press and hold CTRL + Z. This should enter “Z, once on the screen press the enter and one file should be copied. Example CC: copy con file Ltxt “MD ‘This command is used t make a directory. Syntax MD Example C:>md dil This will create directory named dir] under root. « COPY Copies one or more files to another location. ‘Syntax COPY Source Destination Example copy *.* a: = This would copy all files in the directory currently in to the floppy disk in drive a copy filel.txt ¢:\dir1\ile2.txt = This would copy filel txt to a directory dir] under root with a different name file2 tt. copy myfilel.txt+myfile2.txt ~ This command would copy the contents in myfile2.txt and combine it with the contents in anyfile L.txt * DEL Deletes one or more files. Syntax DEL (dtive:}[path) filename Examples del test.tmp = Deletes the test.imp in the directory that you curently are in, if the file exists, del e:\windows\test.tmp = Delete the c\windows'test.1mp in the windows directory if it exists. del c:\windows\temp\*.* = (* is for wild character(s) *." indicates that you would like to delete all files in the c-\windows\temp directory. del cwindows\temp\est.tmp = (? is a single wild character for one letter) This command would delete any file ending with est.tmp such as pest.tmp or zest.tmp * EDIT Edit allows a user to view, create and or modify their computer files. The disadvantage of copy con is that you cannot modify a file. So we use edit, Syntax EDIT Example Using edit you can also create files, for example if you wanted to create a file called nyfile txt you would type: edit myfile.txt This would bring up a blank edit screen, as long as the file is saved upon exit this will create the file myfile txt « MOVE Allows you to move files or directories from one folder to another or from one drive to another. Syntax MOVE source destination Example C:omove file.txt c\dirl Vile Lixt This would move a file named file] tst to directory dir] with the same name. * REN OR RENAME Used to rename files and directories fiom the original name to a new name. Syntax Ren oldfilename newfilename Example C.\>ren filel txt file2.txt This will change the name of filel.tst to file2.txt. * CLs cls is a command that allows a user to clear the complete contents of the screen aud leave only a prompt. Syntax cls «Format Format is used to erase all of the information off of a computer diskette or fixed drive. Syntax Format <¢rive> Example C->Format a: This will erase all the contents of the floppy disk inside floppy drive 3.5.2 UNIX UNIX was developed by some of the members of the Multics team at the bell Iabs starting in the late 1960's by many of the same people who help created the C programming language. The UNIX today however is the not just the work of a couple of programmers. Many other organizations, institutes and various other individuals contributed significant additions to the system we now know to day. UNIX is primarily a command line oriented operating system you can get additional applications such as X-Window which allows you to ave a graphic oriented operating system similar to Windows 3.x / Windows 95 / Windows 98. However while this is available UNIX is still primarily used fiom the command line. Because the UNIX operating system is an open operating system you will discover that there are various shells. A shell isa large add-on / modification of the UNIX operating system, to determine the shell you can type echo $shell at the UNIX prompt. When typing this you will receive a response such as / biwesh which in this case indicates that the UNIX you are logged into is aC shell. Another popular shell is the Borne shell which is / bin/ sh and Korn shell that the UNIX you are logged into is aC shell. Another popular shell is the Bore shell which is / bin/sh and Korn shell. 3.53 Linux Limwx is an open- source operating system enhanced and backed by thousands of programmers worldwide, It is a multi tasking, multiprocessing operating system designed originally for use on personal computers. The name “Linux” is derived from its inventor Linus Torvalds. Torvalds was a student at the University of Helsinki, Finland in early 1990s when he wrote the first version of an UNIX- like kernel as a toy project. He later posted the code on the Intemet and asked programmers across the world to help him build it info a working system. The result was Linux. Torvalds holds the copyright but permits free distribution of source code, That is, he oversees development of kernel and owns its trademark. When someone submits a change or a feature, Torvalds and his core team of kemel developers review the merit of adding it to keel source code.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy