OS ?? - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

OS ??

Description:

??? ????. IBM-PC Windows Vista, Windows XP. IBM MVS, VM, AIX ... Windows 7 (formerly codenamed Blackcomb, then Vienna) is a future version of Microsoft Windows. ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 57
Provided by: ssrnet
Category:

less

Transcript and Presenter's Notes

Title: OS ??


1
OS ??
  • ????? ??????
  • ssrlab

2
??? ????
  • IBM-PC Windows Vista, Windows XP
  • IBM MVS, VM, AIX
  • HP HP-UX
  • SUN Solaris
  • ?? Linux, FreeBSD,

3
DOS ? ??
  • 1981 DOS 1.0
  • CP/M,MP/M
  • 40
  • 96 ??
  • 1983 DOS 2.0
  • 1984 DOS 3.0
  • AT ??

4
Windows ? ??
Source Wikipedia
5
Windows 7 2010(?)
  • Windows 7 (formerly codenamed Blackcomb, then
    Vienna) is a future version of Microsoft Windows.
  • It will include a new version of Windows Explorer
    that is being built by the same team that
    designed the Ribbon user interface in Office
    2007.
  • It will likely include some form of the
    "Hypervisor" (Windows Virtualization)
    technologies that will ship shortly after Windows
    Server 2008.
  • It will also likely include the WinFS (Windows
    Future Storage) technologies, though they won't
    be packaged or branded as WinFS.
  • Microsoft says it might also make a
    subscription-based version of the OS available to
    consumers, but that's still in flux

Source Wikipedia, Paul Thurrotts web site
6
History Of Unix
  • Unix has been around in one form or another since
    1969 (probably before any of us were born)
  • Why is it important to know the history?
  • Why hasnt it disappeared?
  • What has fueled its growth?

7
History Of Unix
  • 1987 SVR 3
  • 1988 OSF, UI
  • 1989 SVR 4.0
  • 1990 Solaris 1(SunOS 4.1.1)
  • 1991 SVR 4.0 MP, Univel ??, Linux 0.01
  • 1992 SVR 4.0 ES/MP, UNIXWARE 1(Univel), Solaris
    2.0
  • 1993 SVR 4.2, Novell ?? USL ??
  • 1994 Mach 4, Linux 1.0
  • 1995 SCO ?? Unix ?? ??
  • 1996 NetBSD1.2, FreeBSD2.1.5
  • 1998 Solaris 7, UnixWare 7(SVR5)
  • 2000 Linux 2.2, UnixWare 7.1.1
  • 2001 OpenUNIX 8
  • 2002 NetBSD 1.6, FreeBSD4.7, OpenBSD 3.1
  • QNX 6.2, SCO UnixWare 7.1.3
  • 2004 FreeBSD 5.2, Solsris 9 OE(2003)
  • Linux 2.6.3
  • 1965 Bell Lab GE MIT (project MAC) MULTICS
    ?? ??.
  • 1969 Bell Lab team quit. Thompson? Ritchie?
    PDP-7 ? ?? ??? ??. (???? ?)
  • 1971 PDP-11? ??, C ?? ??
  • 1973 C? ?? ??. (??? 1/3 ??)
  • ??? ?? ??
  • 1974 CACM? ??
  • 1977 Interdata 8/32? ??, 1BSD
  • 1979 Version 7 UNIX, 3BSD
  • 1980 XENIX (microsoft), 4.0BSD
  • 1982 UNIX ??? III
  • 1983 UNIX ??? V ?? ??, 4.2 BSD, 4.2 on SUN
  • 1984 System V Release 2
  • 1986 4.3 BSD

8
Today, Two Major Divisions
Unix (1969)
System V systems (1983)
BSD systems (1978)
Hurd
HP-UX
Mac OS X (Darwin)
Linux
FreeBSD
Solaris
IRIX
9
(No Transcript)
10
(No Transcript)
11
System V Versus BSD
  • If you know one, you can learn the other fairly
    quickly
  • Some programs have different flags and run in
    different ways
  • Some files are located in different areas
  • We will cover System V in this class (Linux in
    lab)

12
1969 The Origin of Unix
  • Multics a timesharing operating system that
    grew too complex for its own good
  • Timesharing was novel, as batch processing was
    the accepted norm
  • Ken Thompson of Bell Labs
  • Bell Labs withdrew from Multics support, and Ken
    lost a system to play Space Travel, a game he
    wrote
  • He wrote the first version of UNIX (UNICS) on a
    PDP-7
  • Soon joined by Dennis Ritchie

13
Computers of that age
  • No such thing as a video display
  • No keyboard as we know it
  • A teletype was used to communicate with the
    computer
  • Basically a glorified electronic typewriter

14
PDP-7
15
Unix features
  • From the very beginning, this was a programmers
    environment
  • Ability to code and test in one session
  • Interactive computing was stressed over batch
    processing
  • Batch processing involved coming up with a large
    volume of work that needed to be computed and
    feeding that work to the computer during your
    assigned time
  • Timesharing allows several programs to be run at
    once, although each takes a little more time

16
1970s
  • 1971-1973 In order to have this OS on other
    systems, Thompson and Ritchie create C and
    rewrite the OS in C
  • Unix use slowly spreads among academic circles
  • 1977 First BSD release (source code included!)
  • SCO created in 1978

17
The C Connection
  • From the early 1970s, C and Unix have gone
    together
  • C was designed as a sort of portable assembler
  • Low level enough to do things fast
  • High level enough to be human readable
  • C remains the language of choice

18
1980s The Unix Wars
  • 1983 Networking gets added to BSD
  • Sun Microsystems gets founded
  • Early idea was to create a perfect Unix system
    with networking built in and sell it
  • Department of Justice breaks up ATT
  • ATT rushed to commercialize System V
  • Source code was no longer free
  • Error 2 Focus on the wrong market
  • Every version of Unix started competing with
    every other version, and Microsoft took over

19
1985-93s FSF and Gnu
  • Once you give people something for free, they
    dont want to have to pay for it
  • The Free Software Foundation (1985)
  • Gnu (Gnus not Unix)
  • Create free versions of popular tools (1986
    gcc, 1987 most tools)
  • Overall goal was to develop a free kernel (It
    hadnt happened by 1993)
  • Squabbling continued and Unix suffered

20
Linux
  • In 1991, Linus Torvalds announced the Linux
    project
  • A free Unix kernel for x86 systems
  • Used Gnu tools from the very beginning
  • By 1993, Linux had both internet capability and X
    capability
  • Just in time for the big internet boom

21
Linuxs Success
  • Internet culture and newsgroup postings caused a
    group of similar minded people to contribute and
    create a worthwhile kernel
  • A competing free attempt had problems
  • The free BSD attempt was mired in a lawsuit (3
    files were copied illegally)
  • The Berkeley development group disbanded

22
Free Software Foundation
  • Founded by Richard Stallman
  • Wrote original version of gcc and gdb
  • Software should be free, because it should be
    free
  • As in free speech, not free beer
  • Wrote the General Public License (GPL)
  • You are free to do whatever you want as long as
    the source code goes with it no matter what
  • Controversy Anything derived from a GPLd work
    must itself be GPLd

23
Open Source Movement
  • Software should be free just because FSF
    viewpoint
  • Software should be free because free software is
    better Open Source Movement viewpoint
  • Every problem can be eliminated if more people
    look at it

24
The Hacker Connection
  • The entire history of Unix has been co-mingled
    with the history of hackers
  • The hacker mentality continues to drive the use
    and progress of Unix
  • Groups of people create and maintain Linux and
    BSD systems for fun (and to better their resume)

25
Where Are We Today, And Where Are We Going?
  • The Single Unix Specification have been approved
    as an international standard
  • If a system wants to be called Unix, it has to
    conform to the guidelines in this standard
  • The open source movement continues to thrive and
    shows no slowing down
  • As anger and resentment for Microsoft continues
    (some unwarranted), people continue to look for a
    better alternative

26
Mentality Of Unix
  • Unix was designed with the K.I.S.S. principle
  • Keep It Simple, Stupid!
  • Why do something repetitive when you can
    automate?
  • Write scripts and programs for simple or commonly
    used tasks
  • Dont overly complicate matters

27
Third System Effect
  • First system a simple prototype that is missing
    needed functionality
  • Second system overly complex system that throws
    everything in
  • Multics was a second system
  • Collapses under its own weight
  • Third system simple system with improved
    functionality

28
Analogy
  • Do one thing, but do it well
  • Hidden menu is like command line options
  • Still getting a burger, just different

Cf http//www.in-n-out.com/history.asp
29
Unix Versus Windows
  • Is Unix purposefully anti-GUI?
  • Not really
  • Several window managers exist for X-windows
  • Basing an OS on a GUI makes it more complicated
    than it needs to be
  • Simple interfaces allow for different programs to
    easily communicate
  • Counterexample How many different formats does
    Microsoft Word save as? How many of those can
    WordPad read correctly?

30
Multitasking/Multiuser (Multichoice)
  • Unix was always designed as a multiuser/multitaski
    ng system
  • More than one user can be logged on one machine
    at a time
  • More than one process can be running at one time
    (time sharing)
  • Many different ways exist to do things in Unix
  • Different graphical interfaces, different
    commands, etc.

31
For more information
  • Read chapter 1 in the book
  • Read In the Beginning was the Command Line by
    Neal Stephenson
  • joesacher.com/documents/commandline.php
  • Visit www.faqs.org/docs/artu/
  • Dont worry about most of the book, but look at
    the philosophy and history sections

32
BSD(1)
  • 1974  U.C.Berkeley license ??
  • 1978  BSD ????(50)
  • ex editor, Pascal ????? ????? ??
  • 1979  3BSD(? OS ???)
  • ??? ??? ???? ?? ??
  • DARPA ?? ?? (TCP/IP ?? ??)
  • 1980  4.0BSD
  • 1993  4.4BSD, FreeBSD 1.0
  • 1994  BSD/OS 2.0, NetBSD 1.0
  • 1995  FreeBSD 2.0, OpenBSD
  • 1998  4.4BSD Lite 2, BSD/OS 4.0, OpenBSD 2.4
  • 2000  BSD/OS 4.2, FreeBSD 4.2, NetBSD 1.5,
    OpenBSD 2.8
  • 2003  BSD/OS 5.0, FreeBSD 4.8, NetBSD 1.6.1,
    OpenBSD 3.3

33
BSD(2)
  • BSD UNIX
  • FAST File System ??
  • socket ??
  • reliable signal
  • 4.4 BSD
  • MACH? ??? ?? ?? ??
  • log-structured file system ??

34
UNIX? ???
  • 1977?  Interactive System? ? UNIX ?? ??(PDP-11?)
  • 1982?  Bill Joy (BSD ???)? Sun? ?? ??
  • Sun OS(4.2 BSD ??)(?? Solaris(SVR4 ??))
  • Microsoft ? SCO? XENIX ??
  • SCO? SCO UNIX ??(386?)
  • IBM AIX
  • HP HP-UX
  • DEC ULTRIX ? OSF/1 ? Digital UNIX
  • Sun OS? ?? ??
  • NFS (Network File System)
  • Vnode/Vfs interface
  • AIX? ???? journaling file system??

35
UNIX? ????
  • ?? ??? ??
  • ??? ?? ?????
  • ??? ???????? ??? ???? ??
  • ??? ?? ???
  • ??? ??? ?????? ??? ?? ??
  • ????? ?? ???? ??? ????? ??
  • ?? ?? , ?? ???? ???
  • ?? ??? ????
  • ???? ?? ???? ??? ???? ?? ??? ????? ???

36
Mach
  • 1985 CMU? ??
  • micro kernel ??
  • UNIX? ??? ?? ??
  • UNIX ????? ????? ??(UNIX personality ??)
  • ?? ????? ??
  • ????? ??
  • ??????? ??? ??? abstraction? ??
  • OS??? ?? ??? ??? ??
  • OSF/1(1992)? NextStep(1989)? Mach 2.5? ??
  • Mach? ?? ???? ???? ??? 4BSD ?????? ???? ????? ??
  • Mach 3.0(1990)? ? ???? ?? ??

37
Standards(1)
  • ??? System V? BSD? ?? ???
  • ?? ?? ???? ?? ???
  • ????? ??
  • ????? ??? ??
  • ??? ??? ??
  • System V Interface Definition (SVID) by ATT
  • IEEE POSIX
  • X/Open Portability by X/Open Consortium
  • ? ???? ?????? OS? ?????? ??(function? ???
    semantics? ??)
  • SVID? ??? systemV ????? ??????
  • SVID SVR2 ?, SVID2 SVR3 ?, SVID3 SVR4 ?

38
Standards(2)
  • ATT? SVVS(SystemV Verification Suites)? ??
  • 1986? IEEE? OS?? ??? ??
  • POSIX(Portable OS based on UNIX)
  • POSIX 1003.1 (POSIX.1(1990? ??))? SVR3? 4.3BSD
    ??
  • X/Open? 1984? ??
  • ??? ??? ????? ??
  • ?? de facto ???? ???? ??? CAE(Common Application
    Environment) ??
  • X/Open Portability Guide (XPG) Issue4? 1993? ??
  • XPG Issue4
  • POSIX.1? ??
  • ???, ??? ?????, ??? ?? ?? ??

39
DOS 1.0(81)Windows 1.0(85)
Windows XP (01) Windows XP 64-bit(03) Windows
Auto- Motive .NET Connected car (03)
Windows 3.0 (90) Windows NT (91)Windows CE
1.0(96)
UnixWare 1(92) 4.0BSD(90) Solaris1(90) OSF/1(90)
Linux 1.0(94) NetBSD 1.0(94) FreeBSD 1.0(93)
SVR 4.0 (89) SunOS 1.0(82) Mach(82)
PDP ?? (69) UNIX V1 (71) 3BSD(79)
OpenUnix 8(01) Solaris 9 OE(03) Linux
2.6.3(04) NetBSD 1.6(02) FreeBSD 3.1(02)
1980-
1970-
1990-
2000-
40
1.2 ???? ??
  • ???, ?? ???? ?? MPP?? ??
  • ??? ??(office, ??? DB, ?? ???)
  • ??? ??? ??, ??? ????? ??

41
1.2.1 ??
  • IPC
  • ?? ??? ????
  • ?? ? ??? ?????-?? ??? ??(??? ????? ? ??? ??? ??)
  • ?? ??? ??
  • FIFO files
  • ??? ??
  • ??? ????? ? ??

42
1.2.2 ????
  • BSD? TCP/IP ??
  • ??? ???? ?????(???, FDDI, ATM) ??
  • ??, ???? ??
  • ???? ???-NFS, AFS, DFS(Transarc?)
  • ?? ??? (NIS, DCE)
  • ?? OS(Mach, Chorus, Sprite)

43
1.2.3 ??
  • ??? Fast file system
  • extent-based ??
  • journaling??

44
1.2.4 ???? ??
  • HW?? ??? ????? ??(??? ??)
  • ?, ???? ??, ?? ??? ??, ?? ??, ???? ???? ?
  • ????? ???
  • 1970??? ??? ??? ??? ??? ??? ??(???, ??? ??)
  • ???? I/O ???-RAID

45
1.2.5 ?? ??
  • ???? ?? robust, ?? reliable
  • ??? ???? unreliable
  • ??? ???? ??(?? ??)
  • fsck? ??, ???? journaling

46
1.2.6 ???? ??
  • 1970??? ?????(?????)
  • 1980??? ?????? ??
  • ?? ?????-?? ???
  • ?? ??, ?? ??, DB ??
  • ???? ?? ???? ??

47
UNIX System Differences
  • Version 6 and 7 (1976, 1978)
  • System III (1982)
  • Named Pipes
  • The Run Queue
  • System V (1983)
  • Hash Tables
  • Buffer and Inode Caches
  • Semaphores, Shared Memory, Message Queues
  • System V Release 2 (1984)
  • Record /File Locking
  • Demand Paging
  • System V Release 3 (1987)
  • Remote File Sharing
  • I/O STREAMS
  • Enhanced Signal Operations
  • File System Switch
  • Shared Libraries

48
1.2.7 ?? ?? ??
  • ??? ??? ??? ??
  • ???? ???, ????? ??? ??
  • ?. ?? ???? ?? ??, ??? ???? , ?? ??? ?????

49
1.2.8 Small is Beautiful
  • ?? ???? small, simple
  • ?? ???? monolithic, ?? ?? ??
  • ??? ??? ??? ?? ?? ??
  • ??? ??? ????????
  • Mach(OSF/1? NesxtStep? ??)
  • ???? ??? ??? ?? ???

50
1.2.9 ???
  • 1980?? ?? ?? ?? ?? ?? ??(DFS)
  • ????? ??? , ??? ??? ??
  • ??? ??? ???? ??? ?? ?? ??
  • ?. vnode/vfs, exec switch, ???? ????

51
Traditional UNIX Kernel
File system (s5fs)
Virtual memory
loader (a.out)
Kernel
Block driver switch
character driver switch
Disk driver
tape driver
printer driver
Network driver
tty driver
52
Modern UNIX Kernel
53
1.3 ??? ??
  • ??? ????
  • ?? ??? XP, Linux?? ??

54
1.3.1???? ??
  • ??? ??? ??
  • ???? small, simple
  • pipe ??
  • ??? ?? ???
  • ???? ??? ??? ???? ???? ??
  • (?. /etc/passwd, /etc/tty?)-?? ?? ??
  • simple, uniform I/O interface
  • ???? ?

55
1.3.2 ???? ??
  • ??? ??, ?? ???? ? ??? ?? ??
  • ???? ???? ?? ????? ??
  • (?? ?? ??? ?????? ???)
  • victim of its own growth

56
References
  • Jason Villarreal, Introduction To Unix- CS 21
Write a Comment
User Comments (0)
About PowerShow.com