COMPUTERS AND OPERATING SYSTEMS CONCEPTS
- computer
- an electronic machine that can be supplied with a program and can store and recall information, and can perform various processes on it (Longman Dictionary of Contemporary English)
- computer hardware – the machine
- collection of well connected pieces
- CPU – usually just a chip with many legs (pins)
- diagram
- memory – a collection of storage areas
- input/output devices – where humans usually access (touch) the computer - e.g. keyboard, displays, printers, disks etc
- control devices – determine the sequence of operations
- connecting wires – buses - connect various pieces
- hardware is not easily usable on its own
- program
- plan of operations
- series of steps a computer goes through to carry out a task
- runs as a process
- usually stored on disk but runs from memory
- software – a collection or set of programs
- hardware combined with software make up the computer as we know it
- Basic Operating System Concepts
- operating system (OS)
- basically this is just a computer program
- or it is a group of programs that work together to perform the following
- house-keeping functions
- run accessories
- translate or interpret high level language programs
- perform commands
- automate and optimise the running of a computer
- operating system is usually the first program loaded into the computer when it is started
- once loaded some portions of it remain permanently in memory while the computer is running jobs
- other portions are swapped in and out of memory when facilities are required by users and resources like memory are demanded
- operating systems are needed for the following:
- to provide a high level interface so that the hardware of the computer becomes more readily usable
- user friendliness
- user access
- protection of resources and operations
- to provide the most cost effective use of the hardware
- speed
- effective - does not crash often
- manages devices well
- operating system can be viewed as a layered object like an ONION
- at the centre is the nucleus of basic facilities – the KERNEL
- additional layers are added to the kernel as required to provide more sophisticated or more convenient facilities
- examples
- DOS: command.com - acts as kernel
- LINUX: /vmlinuz - is the kernel
- kernels handle the basic devices:
- memory, keyboard, display, disks
- software drivers are added to provide access to other devices
- more disks, printers, graphics, modems, cdroms, networking
- what devices and services the kernel handles internally varies among systems
- networking is integral to UNIX but not to DOS
- graphics (GUI) is integral to Windows 95/98/NT but not to UNIX
- general features of an operating system
- convenient input/output operations: GUI, printers, disks etc
- fault monitoring – error handling – eg. on user programs
- multi-access (multi-user)
- allowing several people to use the computer simultaneously
- more convenient for users
- sharing optimises usage of resources
- sharing of resources done in a controlled and safe manner
- file systems
- operating system provides a means for users to store/retrieve their information in an orderly manner
- directories and files
- security of user files
- operating systems used on almost all computers: PCs, mainframes, workstations, servers etc
- most work is now done on PCs and workstations
- look at common examples of operating systems
- DOS
- Disk Operating System
- only really provides a files system – as name implies
- virtually no resource protection
- no multi-tasking
- little fault monitoring
- little convenience in input/output
- no built-in networking
- commercial product
- Windows 3.x
- added Graphic User Interface (GUI) to DOS
- basic operating system is DOS with all its imperfections
- improved user convenience
- some multitasking
- little protection
- no built-in networking
- commercial product
- Windows 95 (98)
- different OS from DOS but provides some DOS and Win 3.x compatibility
- improved convenience – better GUI
- easier addition and management of resources like devices and drivers
- integrates some basic networking support
- built in Internet clients
- support for Internet protocols – TCP/IP
- still basically single user
- some crude multi-tasking
- little process protection
- commercial product
- Windows NT
- all the advantages of Windows 95 including GUI
- different operating system from Windows 95
- fully multi-tasking
- more advanced networking than Windows 95
- incorporates Internet client/server capabilities
- supports Internet protocols – TCP/IP
- networking applications based on NETBIOS and the associated NETBUI protocol
- BIOS – basic input/output system available on PC’s, DOS etc
- NETBIOS – extends input/output over a network
- NETBUI
- NETBIOS Extended User Interface
- includes NETBIOS plus additions done by IBM and Microsoft
- comes as
- single user for high end PCs
- multi-user on network servers – limitations – security problems
- commercial product
- UNIX – LINUX
- LINUX is a UNIX clone running on PC and workstations
- multi-tasking
- multi-user
- better user process and resource protection
- many arguable advantages over Windows NT
- more robust system
- better process logging
- built in networking – TCP/IP
- better device drivers
- FREE and down-loadable from Internet
- several freely available applications
- ideal for research & development environments
- disadvantage – less friendly user interface but GUIs under development
- we use LINUX extensively for both servers and clients
- Malawi SDNP regional nodes will run LINUX
- the LINUX kernel – introduction – diagrams
- Devices
- refer mostly to hardware items
- hard disks, floppies or stiffies
- printers
- modems
- network cards
- screens and consoles, keyboards
- etc
- DOS and WINDOWS: com1, com2, lpt:, c:, a: etc
- LINUX
- devices are referenced as files in the /dev directory e.g.
- /dev/hda2 – second (2) partition of the first (a) IDE drive
- /dev/ttyS0 – serial port equivalent to COM1 on DOS
- /dev/eth0 – ethernet card etc
- when you access a device file
- kernel recognises the input/output request
- passes it to a device driver
- device driver actually performs the operation
- device driver
- is actually a computer program (software) that performs the operation
- usually specific to device and its manufacturer
- common drivers exist
- kernel communicates with physical device through the software device driver
- drivers include
- block devices
- storage space is divided into equally sized blocks
- block size is usually 512 or 1024 bytes
- blocks can be read in any order
- e.g. IDE hard disks, SCSI hard disks, CDROMs, floppies
- character devices
- input/output in streams of data
- examples
- non-storage devices: keyboard, screen, mouse, serial ports
- sequential storage devices: tape drives
- special: /dev/null, /dev/zero
- normally not accessed directly – made available at login by kernel
- ports
- need to use this name carefully
- in DOS it refers to a particular type of device e.g. serial and printer port
- in Internet use it refers to a socket offering a particular service
- we will use the Internet and UNIX networking sense of ports
- smtp mail (e-mail) runs on port 25 under TCP
- WEB runs on TCP port 80, etc
- Programs, Processes, Daemons and TSRs
- program
- a sequential set of computer instructions that can be run on a computer
- stored on disk or memory
- not necessarily running
- process
- a particular active instance of a program
- a running program
- the same program can be run in a multitasking and multi-user OS repeatedly by one or several users at the same time thus creating several distinct processes
- a daemon is a process that runs in the background to support a particular device or service
- often used on UNIX
- e.g. printer drivers, Internet servers: mail, web, DNS etc
- TSR – terminally stay resident
- a program that is loaded and runs in the background to operate and maintain a particular device
- term usually used in DOS environments
- usually loaded from config.sys
- conclusion
- hardware and software work together to form and operate computers
- operating systems form the heart of performing jobs and making services available to users using the physical devices on the computer
- several platforms are available for computer networking
- Windows offer the most widely used and preferred user interface available for users to access computer and network services
- UNIX offers the most robust server environment for implementing network servers that offer services to other computers and users
- LINUX offers a freely available version of UNIX