Upload
barnaby-cox
View
214
Download
0
Embed Size (px)
Citation preview
A quick history of Network Operating Systems
Glenford Mapp
Middlesex University
What is an Operating System
• A piece of software which controls access to and the use of computing hardware
• Application/user programs must use the operating system to get things done
• Examples of well known OSs– Windows, OS2, Unix, Linux
1945-1951
• No operating system
• Users booked time on the machine and programmed it manually
• Wasted a lot of time
• Main use as an advanced calculator for solving equations: e.g.; missile trajectories
1952-1957
• FORTRAN – high level language invented– Allowed larger number of engineering and scientific
problems to be solved
• Invention of compilers• Routines controlled the movement of data in and
out of the computer and allowed a human to control the system via a console.– The first operating system
– Batch mode operation
1958-1965
• Multiprogramming – While the processor was waiting on I/O for your
program, another user’s program could be executed
• New concepts in memory allocation and protection, virtual memory, storage systems
• Better electronics: Integrated Circuit Boards• Timesharing systems CTSS; Multics proposed as
a computing “utility”.
1966-1970
• Multics failed in overall goal but produced a lot of seminal ideas
• Ken Thompson and Dennis Ritchie developed UNIX
• ARPAnet – first packet switching network announced
1970-1975
• Mini-computers got really popular – PDP11 introduced
• The Alto (Xerox PARC)
• Ethernet invented (Xerox PARC)
• Microprocessor invented (Intel)
• CP/M invented – led to DOS
• TCP/IP formally specified
1975-1981
• The Altair – first programmable microprocessor system one could buy– Gates and Allen wrote BASIC interpreter
• Apple launched first commercial PC
• TCP/IP became the preferred US military protocol.
1982-1986
• IBM PC made debut
• MS-DOS became the dominant PC operating system
• Apple and Novell developed networks for PCs e.g., Appletalk, Novel Netware
• TCP/IP incorporated into 4.2 BSD Unix– Networking made widely available
1987-1991
• Windows OS gained support
• Multiprocessors began to be built
• Micro-kernels explored– MACH, Amoeba
• Client-Server Computing
• Multi-service networks– ATM proposed
1992-1996
• The World Wide Web (WWW) was born
• Windows NT deployed
• Linux became stable and useable
• Early ISPs – Demon, AOL gained support
• Windows 95 released
• Thin client computing came of age– Virtual Network Computer (VNC)
1997-2004
• Explosion in mobile and wireless networks– Mobile phones, 802.11b networks
• Support for multimedia applications– Quality of Service issues
• Java and CORBA
• Windows 2000 released – clean OS
• Peer-to-peer networking – Napster, Gnutella
2005 - 2009• Blade Servers Technology
• Deployment of hardware platforms– Dual and Quad Core processors common– Energy is now a big issue
• Deployment of Wireless Technology– WiMax, 802.11n, Ultrawideband
• Cheaper platforms – The rise of netbooks– ASUS Eee PC, etc (under £200.00)
2009 - Present
• The rise of the Mobile Platform– Apple’s iPhone– Google’s Android Platform
• NetOS/Browser platforms– Chrome, Google Wave
• Mobile Architectures for heterogeneous networks
• Ambient Networks, Y-Comm
Mega Trends (Big Wave)
• Moore’s law – silicon density doubles every 18 months (dual and quad processors)
• Cost of computing, memory and networking continue to fall
• One -> many computers
• Processor-centric -> network-centric
• Wired->wireless environments
Mega Trends (Small Wave)
• Integrated Processors– Death of NICs and I/O buses
• Embedded Networking Support for very small devices
• The rise and rise of Ethernet technology– From LAN to WAN, 802.11a/b/g -> 802.11n
• Heterogeneous Networking• Devices connected to many networks at the same time
Effect on Network Operating Systems
• Mobile platform will become dominant– Android, Symbian, RIM
• Support for soft real time applications– More support for multimedia applications
• The rise in the use of server virtualisation– Vmware, Xen
• Support for asynchronous handling– Using events rather than RPC-like methods– Autonomy, etc.