Your SlideShare is downloading. ×
Download It
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Download It

774
views

Published on

Published in: Technology

1 Comment
0 Likes
Statistics
Notes
  • Download It through DIRECT link
    COPY & PASTE the LINK
    ---> http://po.st/EVlmKp
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
774
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Common Differences Between Unix And Windows -Registry Unix programs keep track of their own files -GUI Built on top of Unix Built in the middle of Windows (recently) -Command line In Unix, the main interface with a program In Windows, barely supported if at all
  • 1981  4.1BSD 1983  4.2BSD 1986  4.3BSD
  • Transcript

    • 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 Thurrott’s 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 hasn’t it disappeared?
      • What has fueled its growth?
    • 7. History Of Unix
      • 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
      • 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
    • 8. Today, Two Major Divisions Linux Mac OS X (Darwin) FreeBSD Solaris Unix (1969) System V systems (1983) BSD systems (1978) IRIX Hurd HP-UX
    • 9.  
    • 10.  
    • 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 programmer’s 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. 1970’s
      • 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 1970’s, 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. 1980’s – 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 AT&T
        • AT&T 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-93’s – FSF and Gnu
      • Once you give people something for free, they don’t want to have to pay for it
      • The Free Software Foundation (1985)
        • Gnu (Gnu’s not Unix)
        • Create free versions of popular tools (1986 – gcc, 1987 – most tools)
        • Overall goal was to develop a free kernel (It hadn’t 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. Linux’s 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 GPL’d work must itself be GPL’d
    • 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
      • Don’t 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 = Unix Commands ??
    • 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/multitasking 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/
        • Don’t 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 AT&T
        • IEEE POSIX
        • X/Open Portability by X/Open Consortium
      • 각 표준안은 프로그래머와 OS 의 인터페이스를 정의 (function 과 자세한 semantics 를 정의 )
      • SVID 는 자세한 systemV 프로그래밍 인터페이스임
        • SVID : SVR2 용 , SVID2 : SVR3 용 , SVID3 : SVR4 용
    • 38. Standards(2)
      • AT&T 는 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) SVR 4.0 (89) SunOS 1.0(82) Mach(82) 1970- 1980- UnixWare 1(92) 4.0BSD(90) Solaris1(90) OSF/1(90) Linux 1.0(94) NetBSD 1.0(94) FreeBSD 1.0(93) 1990- 2000- PDP 버전 (69) UNIX V1 (71) 3BSD(79) Windows 3.0 (90) Windows NT (91) Windows CE 1.0(96) OpenUnix 8(01) Solaris 9 OE(03) Linux 2.6.3(04) NetBSD 1.6(02) FreeBSD 3.1(02)
    • 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) Block driver switch character driver switch Disk driver tape driver printer driver Network driver tty driver Virtual memory loader (a.out) Kernel
    • 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