Your SlideShare is downloading. ×
0
OS  개관 서울대학교 컴퓨터공학과 ssrlab
기종별 운영체제 <ul><li>IBM-PC  Windows Vista, Windows XP </li></ul><ul><li>IBM  MVS, VM, AIX </li></ul><ul><li>HP  HP-UX </li></...
DOS 의 발전  <ul><ul><li>1981 DOS 1.0 </li></ul></ul><ul><ul><ul><li>CP/M,MP/M </li></ul></ul></ul><ul><ul><ul><li>$ 40 </li>...
Windows 의 발전  Source : Wikipedia
Windows 7 – 2010(?) <ul><li>Windows 7  (formerly  codenamed  Blackcomb, then Vienna) is a future version of  Microsoft Win...
History Of Unix <ul><li>Unix has been around in one form or another since 1969 (probably before any of us were born) </li>...
History Of Unix <ul><li>1965 :Bell Lab + GE + MIT (project MAC) MULTICS  개발 착수 . </li></ul><ul><li>1969 :Bell Lab team qui...
Today, Two Major Divisions Linux Mac OS X (Darwin) FreeBSD Solaris Unix (1969) System V systems (1983) BSD systems (1978) ...
 
 
System V Versus BSD <ul><li>If you know one, you can learn the other fairly quickly </li></ul><ul><ul><li>Some programs ha...
1969 – The Origin of Unix <ul><li>Multics – a timesharing operating system that grew too complex for its own good </li></u...
Computers of that age <ul><li>No such thing as a video display </li></ul><ul><li>No keyboard as we know it </li></ul><ul><...
PDP-7
Unix features <ul><li>From the very beginning, this was a programmer’s environment </li></ul><ul><ul><li>Ability to code a...
1970’s <ul><li>1971-1973: In order to have this OS on other systems, Thompson and Ritchie create C and rewrite the OS in C...
The C Connection <ul><li>From the early 1970’s, C and Unix have gone together </li></ul><ul><li>C was designed as a sort o...
1980’s – The Unix Wars <ul><li>1983 – Networking gets added to BSD </li></ul><ul><li>Sun Microsystems gets founded </li></...
1985-93’s – FSF and Gnu <ul><li>Once you give people something for free, they don’t want to have to pay for it </li></ul><...
Linux <ul><li>In 1991, Linus Torvalds announced the Linux project </li></ul><ul><ul><li>A free Unix kernel for x86 systems...
Linux’s Success <ul><li>Internet culture and newsgroup postings caused a group of similar minded people to contribute and ...
Free Software Foundation <ul><li>Founded by Richard Stallman </li></ul><ul><ul><li>Wrote original version of gcc and gdb <...
Open Source Movement <ul><li>Software should be free just because – FSF viewpoint </li></ul><ul><li>Software should be fre...
The Hacker Connection <ul><li>The entire history of Unix has been co-mingled with the history of hackers </li></ul><ul><li...
Where Are We Today, And Where Are We Going? <ul><li>The Single Unix Specification have been approved as an international s...
Mentality Of Unix <ul><li>Unix was designed with the K.I.S.S. principle </li></ul><ul><ul><li>Keep It Simple, Stupid! </li...
“Third System Effect” <ul><li>First system: a simple prototype that is missing needed functionality </li></ul><ul><li>Seco...
Analogy <ul><li>Do one thing, but do it well </li></ul><ul><li>Hidden menu is like command line options </li></ul><ul><ul>...
Unix Versus Windows <ul><li>Is Unix purposefully anti-GUI? </li></ul><ul><ul><li>Not really… </li></ul></ul><ul><ul><li>Se...
Multitasking/Multiuser (Multichoice) <ul><li>Unix was always designed as a multiuser/multitasking system </li></ul><ul><ul...
For more information <ul><li>Read chapter 1 in the book </li></ul><ul><li>Read “In the Beginning was the Command Line” by ...
BSD(1) <ul><li>1974  U.C.Berkeley license  획득  </li></ul><ul><li>1978  BSD  판매개시 ($50)  </li></ul><ul><ul><li>ex editor, P...
BSD(2) <ul><li>BSD UNIX </li></ul><ul><ul><li>FAST File System 채택  </li></ul></ul><ul><ul><li>socket 채택 </li></ul></ul><ul...
UNIX의 상업화 <ul><ul><li>1977 년   Interactive System 가 첫  UNIX  사업 개시 (PDP-11 용 )  </li></ul></ul><ul><ul><li>1982 년   Bill J...
UNIX의 성공이유 <ul><ul><li>고급 언어로 작성 </li></ul></ul><ul><ul><li>간단한 유저 인터페이스 </li></ul></ul><ul><ul><li>단순한 프로그램으로부터 복잡한 프로그램 ...
Mach <ul><li>1985 CMU 서 개발  </li></ul><ul><li>micro kernel  기반 </li></ul><ul><ul><li>UNIX 의 커널이 너무 커짐  </li></ul></ul><ul>...
Standards(1) <ul><li>초기의  System V 와  BSD 는 서로 비호환 </li></ul><ul><ul><li>물리 파일 시스템이 서로 비호환  </li></ul></ul><ul><ul><li>네트워...
Standards(2) <ul><li>AT&T 는  SVVS(SystemV Verification Suites) 도 발간 </li></ul><ul><li>1986 년  IEEE 가  OS 표준 위원회 구성 </li></...
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...
1.2 필수적인 변화 <ul><li>소규모 ,  내장 컨트롤러 부터  MPP 까지 활용  </li></ul><ul><li>다양한 응용 (office,  대규모  DB,  입자 물리학 )  </li></ul><ul><li...
1.2.1 기능 <ul><li>IPC  </li></ul><ul><li>다중 스레드 응용지원  </li></ul><ul><li>위의 두 기능은 클라이언트 - 서버 모델에 유용 ( 서버가 클라이언트 당 하나의 스레드 생성...
1.2.2 네트워킹 <ul><li>BSD 의  TCP/IP  통합  </li></ul><ul><li>다수의 네트워크 인터페이스 ( 이더넷 , FDDI, ATM)  지원  </li></ul><ul><li>소켓 ,  스트림...
1.2.3 성능 <ul><li>버클리 Fast file system </li></ul><ul><li>extent-based 할당  </li></ul><ul><li>journaling기법  </li></ul>
1.2.4 하드웨어 변화 <ul><li>HW 의존 코드를 독립모듈로 분리 ( 이식성 향상 ) </li></ul><ul><ul><li>예 ,  인터럽트 취급 ,  가상 메모리 변환 ,  문맥 교환 ,  디바이스 드라이버 ...
1.2.5 질적 향상 <ul><li>시스템을 보다  robust,  보다  reliable </li></ul><ul><li>초기의 시그널은  unreliable  </li></ul><ul><li>시스템 크래쉬에 취약 (...
1.2.6 패러다임 전환 <ul><li>1970 년대는 중앙집중형 ( 타임쉐어링 )  </li></ul><ul><li>1980 년대는 워크스테이션 등장  </li></ul><ul><li>이어 클라이언트 - 서버 컴퓨팅 ...
UNIX System Differences <ul><li>Version 6 and 7 (1976, 1978) </li></ul><ul><li>System III (1982) </li></ul><ul><ul><li>Nam...
1.2.7 여타 응용 영역 <ul><li>초기의 단순한 시분할 응용  </li></ul><ul><li>근래에는 실시간 ,  멀티미디어 응용에 이용  </li></ul><ul><ul><li>예 .  자원 가용성에 대한 보...
1.2.8 Small is Beautiful <ul><li>초기 유닉스는  small, simple  </li></ul><ul><li>초기 유닉스는  monolithic,  쉽게 확장 불가  </li></ul><ul><...
1.2.9 신축성 <ul><li>1980 년대 중반 원격 화일 지원 필요 대두 (DFS)  </li></ul><ul><li>타임쉐어링 클래스  ,  실시간 클래스 지원  </li></ul><ul><li>동일한 작업을 수...
Traditional UNIX Kernel File system (s5fs) Block driver switch character driver switch Disk driver tape driver printer dri...
Modern UNIX Kernel
1.3 과거와 미래 <ul><li>대단히 대중화됨  </li></ul><ul><li>최근 윈도우 XP, Linux등이 위협  </li></ul>
1.3.1유닉스의 장점 <ul><li>초기에 실비로 배급  </li></ul><ul><li>초기에는  small, simple  </li></ul><ul><li>pipe  기법  </li></ul><ul><li>단순한 ...
1.3.2 유닉스의 단점 <ul><li>초기는 단순 ,  후에 성능향상 등 이유로 기능 추가  </li></ul><ul><li>단순하고 유니폼한 유저 인터페이스 결여 </li></ul><ul><li>( 빌딩 블록 방법은...
References <ul><li>Jason Villarreal,  Introduction To Unix- CS 21 </li></ul>
Upcoming SlideShare
Loading in...5
×

Download It

802

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
802
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
1
Likes
0
Embeds 0
No embeds

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 of "Download It"

    1. 1. OS 개관 서울대학교 컴퓨터공학과 ssrlab
    2. 2. 기종별 운영체제 <ul><li>IBM-PC Windows Vista, Windows XP </li></ul><ul><li>IBM MVS, VM, AIX </li></ul><ul><li>HP HP-UX </li></ul><ul><li>SUN Solaris </li></ul><ul><li>기타 Linux, FreeBSD, … </li></ul>
    3. 3. DOS 의 발전 <ul><ul><li>1981 DOS 1.0 </li></ul></ul><ul><ul><ul><li>CP/M,MP/M </li></ul></ul></ul><ul><ul><ul><li>$ 40 </li></ul></ul></ul><ul><ul><ul><li>96% 차지 </li></ul></ul></ul><ul><ul><li>1983 DOS 2.0 </li></ul></ul><ul><ul><li>1984 DOS 3.0 </li></ul></ul><ul><ul><ul><li>AT 발표 </li></ul></ul></ul>
    4. 4. Windows 의 발전 Source : Wikipedia
    5. 5. Windows 7 – 2010(?) <ul><li>Windows 7 (formerly codenamed Blackcomb, then Vienna) is a future version of Microsoft Windows . </li></ul><ul><li>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. </li></ul><ul><li>It will likely include some form of the &quot;Hypervisor&quot; (Windows Virtualization) technologies that will ship shortly after Windows Server 2008. </li></ul><ul><li>It will also likely include the WinFS (Windows Future Storage) technologies, though they won't be packaged or branded as WinFS. </li></ul><ul><li>Microsoft says it might also make a subscription-based version of the OS available to consumers, but that's still in flux </li></ul>Source : Wikipedia, Paul Thurrott’s web site
    6. 6. History Of Unix <ul><li>Unix has been around in one form or another since 1969 (probably before any of us were born) </li></ul><ul><li>Why is it important to know the history? </li></ul><ul><li>Why hasn’t it disappeared? </li></ul><ul><li>What has fueled its growth? </li></ul>
    7. 7. History Of Unix <ul><li>1965 :Bell Lab + GE + MIT (project MAC) MULTICS 개발 착수 . </li></ul><ul><li>1969 :Bell Lab team quit. Thompson 과 Ritchie 가 PDP-7 에 초기 시스템 구현 . ( 어셈블리 어 ) </li></ul><ul><li>1971 : PDP-11 에 이식 , C 언어 개발 </li></ul><ul><li>1973 : C 로 다시 작성 . ( 크기가 1/3 증가 ) </li></ul><ul><li>대학에 보급 시작 </li></ul><ul><li>1974 : CACM 에 발표 </li></ul><ul><li>1977 : Interdata 8/32 에 이식 , 1BSD </li></ul><ul><li>1979 : Version 7 UNIX, 3BSD </li></ul><ul><li>1980 : XENIX (microsoft), 4.0BSD </li></ul><ul><li>1982 : UNIX 시스템 III </li></ul><ul><li>1983 : UNIX 시스템 V 지원 개시 , 4.2 BSD, 4.2 on SUN </li></ul><ul><li>1984 : System V Release 2 </li></ul><ul><li>1986 : 4.3 BSD </li></ul><ul><li>1987 : SVR 3 </li></ul><ul><li>1988 : OSF, UI </li></ul><ul><li>1989 : SVR 4.0 </li></ul><ul><li>1990 : Solaris 1(SunOS 4.1.1) </li></ul><ul><li>1991 : SVR 4.0 MP, Univel 설립 , Linux 0.01 </li></ul><ul><li>1992 : SVR 4.0 ES/MP, UNIXWARE 1(Univel), Solaris 2.0 </li></ul><ul><li>1993 : SVR 4.2, Novell 사가 USL 인수 </li></ul><ul><li>1994 : Mach 4, Linux 1.0 </li></ul><ul><li>1995 : SCO 사가 Unix 권리 인수 </li></ul><ul><li>1996 : NetBSD1.2, FreeBSD2.1.5 </li></ul><ul><li>1998 : Solaris 7, UnixWare 7(SVR5) </li></ul><ul><li>2000 : Linux 2.2, UnixWare 7.1.1 </li></ul><ul><li>2001 : OpenUNIX 8 </li></ul><ul><li>2002 : NetBSD 1.6, FreeBSD4.7, OpenBSD 3.1 </li></ul><ul><ul><li>QNX 6.2, SCO UnixWare 7.1.3 </li></ul></ul><ul><li>2004 : FreeBSD 5.2, Solsris 9 OE(2003) </li></ul><ul><ul><li>Linux 2.6.3 </li></ul></ul>
    8. 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. 11. System V Versus BSD <ul><li>If you know one, you can learn the other fairly quickly </li></ul><ul><ul><li>Some programs have different flags and run in different ways </li></ul></ul><ul><ul><li>Some files are located in different areas </li></ul></ul><ul><li>We will cover System V in this class (Linux in lab) </li></ul>
    10. 12. 1969 – The Origin of Unix <ul><li>Multics – a timesharing operating system that grew too complex for its own good </li></ul><ul><ul><li>Timesharing was novel, as batch processing was the accepted norm </li></ul></ul><ul><li>Ken Thompson of Bell Labs </li></ul><ul><ul><li>Bell Labs withdrew from Multics support, and Ken lost a system to play “Space Travel,” a game he wrote </li></ul></ul><ul><ul><li>He wrote the first version of UNIX (UNICS) on a PDP-7 </li></ul></ul><ul><ul><li>Soon joined by Dennis Ritchie </li></ul></ul>
    11. 13. Computers of that age <ul><li>No such thing as a video display </li></ul><ul><li>No keyboard as we know it </li></ul><ul><ul><li>A teletype was used to communicate with the computer </li></ul></ul><ul><ul><ul><li>Basically a glorified electronic typewriter </li></ul></ul></ul>
    12. 14. PDP-7
    13. 15. Unix features <ul><li>From the very beginning, this was a programmer’s environment </li></ul><ul><ul><li>Ability to code and test in one session </li></ul></ul><ul><li>Interactive computing was stressed over batch processing </li></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>Timesharing allows several programs to be run at once, although each takes a little more time </li></ul></ul>
    14. 16. 1970’s <ul><li>1971-1973: In order to have this OS on other systems, Thompson and Ritchie create C and rewrite the OS in C </li></ul><ul><li>Unix use slowly spreads among academic circles </li></ul><ul><li>1977: First BSD release (source code included!) </li></ul><ul><li>SCO created in 1978 </li></ul>
    15. 17. The C Connection <ul><li>From the early 1970’s, C and Unix have gone together </li></ul><ul><li>C was designed as a sort of “portable assembler” </li></ul><ul><ul><li>Low level enough to do things fast </li></ul></ul><ul><ul><li>High level enough to be human readable </li></ul></ul><ul><li>C remains the language of choice </li></ul>
    16. 18. 1980’s – The Unix Wars <ul><li>1983 – Networking gets added to BSD </li></ul><ul><li>Sun Microsystems gets founded </li></ul><ul><ul><li>Early idea was to create a perfect Unix system with networking built in and sell it </li></ul></ul><ul><li>Department of Justice breaks up AT&T </li></ul><ul><ul><li>AT&T rushed to commercialize System V </li></ul></ul><ul><li>Source code was no longer free </li></ul><ul><li>Error 2: Focus on the wrong market </li></ul><ul><ul><li>Every version of Unix started competing with every other version, and Microsoft took over </li></ul></ul>
    17. 19. 1985-93’s – FSF and Gnu <ul><li>Once you give people something for free, they don’t want to have to pay for it </li></ul><ul><li>The Free Software Foundation (1985) </li></ul><ul><ul><li>Gnu (Gnu’s not Unix) </li></ul></ul><ul><ul><li>Create free versions of popular tools (1986 – gcc, 1987 – most tools) </li></ul></ul><ul><ul><li>Overall goal was to develop a free kernel (It hadn’t happened by 1993) </li></ul></ul><ul><li>Squabbling continued and Unix suffered </li></ul>
    18. 20. Linux <ul><li>In 1991, Linus Torvalds announced the Linux project </li></ul><ul><ul><li>A free Unix kernel for x86 systems </li></ul></ul><ul><ul><li>Used Gnu tools from the very beginning </li></ul></ul><ul><li>By 1993, Linux had both internet capability and X capability </li></ul><ul><ul><li>Just in time for the big internet boom </li></ul></ul>
    19. 21. Linux’s Success <ul><li>Internet culture and newsgroup postings caused a group of similar minded people to contribute and create a worthwhile kernel </li></ul><ul><li>A competing free attempt had problems </li></ul><ul><ul><li>The free BSD attempt was mired in a lawsuit (3 files were copied illegally) </li></ul></ul><ul><ul><li>The Berkeley development group disbanded </li></ul></ul>
    20. 22. Free Software Foundation <ul><li>Founded by Richard Stallman </li></ul><ul><ul><li>Wrote original version of gcc and gdb </li></ul></ul><ul><ul><li>Software should be free, because it should be free </li></ul></ul><ul><ul><ul><li>As in “free speech, not free beer” </li></ul></ul></ul><ul><ul><li>Wrote the General Public License (GPL) </li></ul></ul><ul><ul><ul><li>You are free to do whatever you want as long as the source code goes with it no matter what </li></ul></ul></ul><ul><ul><ul><li>Controversy: Anything derived from a GPL’d work must itself be GPL’d </li></ul></ul></ul>
    21. 23. Open Source Movement <ul><li>Software should be free just because – FSF viewpoint </li></ul><ul><li>Software should be free because free software is better – Open Source Movement viewpoint </li></ul><ul><ul><li>Every problem can be eliminated if more people look at it </li></ul></ul>
    22. 24. The Hacker Connection <ul><li>The entire history of Unix has been co-mingled with the history of hackers </li></ul><ul><li>The hacker mentality continues to drive the use and progress of Unix </li></ul><ul><li>Groups of people create and maintain Linux and BSD systems for fun (and to better their resume) </li></ul>
    23. 25. Where Are We Today, And Where Are We Going? <ul><li>The Single Unix Specification have been approved as an international standard </li></ul><ul><ul><li>If a system wants to be called Unix, it has to conform to the guidelines in this standard </li></ul></ul><ul><li>The open source movement continues to thrive and shows no slowing down </li></ul><ul><ul><li>As anger and resentment for Microsoft continues (some unwarranted), people continue to look for a better alternative </li></ul></ul>
    24. 26. Mentality Of Unix <ul><li>Unix was designed with the K.I.S.S. principle </li></ul><ul><ul><li>Keep It Simple, Stupid! </li></ul></ul><ul><li>Why do something repetitive when you can automate? </li></ul><ul><ul><li>Write scripts and programs for simple or commonly used tasks </li></ul></ul><ul><li>Don’t overly complicate matters </li></ul>
    25. 27. “Third System Effect” <ul><li>First system: a simple prototype that is missing needed functionality </li></ul><ul><li>Second system: overly complex system that throws everything in </li></ul><ul><ul><li>Multics was a second system </li></ul></ul><ul><ul><li>Collapses under its own weight </li></ul></ul><ul><li>Third system: simple system with improved functionality </li></ul>
    26. 28. Analogy <ul><li>Do one thing, but do it well </li></ul><ul><li>Hidden menu is like command line options </li></ul><ul><ul><li>Still getting a burger, just different </li></ul></ul>Cf: http://www.in-n-out.com/history.asp = Unix Commands ??
    27. 29. Unix Versus Windows <ul><li>Is Unix purposefully anti-GUI? </li></ul><ul><ul><li>Not really… </li></ul></ul><ul><ul><li>Several window managers exist for X-windows </li></ul></ul><ul><ul><li>Basing an OS on a GUI makes it more complicated than it needs to be </li></ul></ul><ul><li>Simple interfaces allow for different programs to easily communicate </li></ul><ul><ul><li>Counterexample: How many different formats does Microsoft Word save as? How many of those can WordPad read correctly? </li></ul></ul>
    28. 30. Multitasking/Multiuser (Multichoice) <ul><li>Unix was always designed as a multiuser/multitasking system </li></ul><ul><ul><li>More than one user can be logged on one machine at a time </li></ul></ul><ul><ul><li>More than one process can be running at one time (time sharing) </li></ul></ul><ul><li>Many different ways exist to do things in Unix </li></ul><ul><ul><li>Different graphical interfaces, different commands, etc. </li></ul></ul>
    29. 31. For more information <ul><li>Read chapter 1 in the book </li></ul><ul><li>Read “In the Beginning was the Command Line” by Neal Stephenson </li></ul><ul><ul><li>joesacher.com/documents/commandline.php </li></ul></ul><ul><li>Visit www.faqs.org/docs/artu/ </li></ul><ul><ul><li>Don’t worry about most of the book, but look at the philosophy and history sections </li></ul></ul>
    30. 32. BSD(1) <ul><li>1974  U.C.Berkeley license 획득 </li></ul><ul><li>1978  BSD 판매개시 ($50) </li></ul><ul><ul><li>ex editor, Pascal 컴파일러등 유틸리티만 포함 </li></ul></ul><ul><li>1979  3BSD( 첫 OS 개선판 ) </li></ul><ul><ul><li>페이지 기반의 가상기억 장치 채택 </li></ul></ul><ul><ul><li>DARPA 지원 개시 (TCP/IP 개발 목표 ) </li></ul></ul><ul><li>1980  4.0BSD </li></ul><ul><li>1993  4.4BSD, FreeBSD 1.0 </li></ul><ul><li>1994  BSD/OS 2.0, NetBSD 1.0 </li></ul><ul><li>1995  FreeBSD 2.0, OpenBSD </li></ul><ul><li>1998  4.4BSD Lite 2, BSD/OS 4.0, OpenBSD 2.4 </li></ul><ul><li>2000  BSD/OS 4.2, FreeBSD 4.2, NetBSD 1.5, OpenBSD 2.8 </li></ul><ul><li>2003  BSD/OS 5.0, FreeBSD 4.8, NetBSD 1.6.1, OpenBSD 3.3 </li></ul>
    31. 33. BSD(2) <ul><li>BSD UNIX </li></ul><ul><ul><li>FAST File System 채택 </li></ul></ul><ul><ul><li>socket 채택 </li></ul></ul><ul><ul><li>reliable signal </li></ul></ul><ul><li>4.4 BSD </li></ul><ul><ul><li>MACH의 메모리 관리 기법 채택 </li></ul></ul><ul><ul><li>log-structured file system 채택 </li></ul></ul>
    32. 34. UNIX의 상업화 <ul><ul><li>1977 년   Interactive System 가 첫 UNIX 사업 개시 (PDP-11 용 ) </li></ul></ul><ul><ul><li>1982 년   Bill Joy (BSD 개발자 ) 가 Sun 을 공동 설립 </li></ul></ul><ul><ul><ul><li>Sun OS(4.2 BSD 기반 )( 후에 Solaris(SVR4 기반 )) </li></ul></ul></ul><ul><ul><li>Microsoft 와 SCO 가 XENIX 개발 </li></ul></ul><ul><ul><li>SCO 는 SCO UNIX 개발 (386 用 ) </li></ul></ul><ul><ul><li>IBM AIX </li></ul></ul><ul><ul><li>HP HP-UX </li></ul></ul><ul><ul><li>DEC ULTRIX -> OSF/1 -> Digital UNIX </li></ul></ul><ul><ul><li>Sun OS 의 부가 기능 </li></ul></ul><ul><ul><ul><li>NFS (Network File System) </li></ul></ul></ul><ul><ul><ul><li>Vnode/Vfs interface </li></ul></ul></ul><ul><ul><li>AIX 는 처음으로 journaling file system 도입 </li></ul></ul>
    33. 35. UNIX의 성공이유 <ul><ul><li>고급 언어로 작성 </li></ul></ul><ul><ul><li>간단한 유저 인터페이스 </li></ul></ul><ul><ul><li>단순한 프로그램으로부터 복잡한 프로그램 구성 </li></ul></ul><ul><ul><li>계층적 파일 시스템 </li></ul></ul><ul><ul><li>파일과 바이트 스트림에대해 일관된 포맷 사용 </li></ul></ul><ul><ul><li>주변장치에 대해 단순하고 일과된 인터페이스 제공 </li></ul></ul><ul><ul><li>멀티 유저 , 멀티 프로세스 시스템 </li></ul></ul><ul><ul><li>기계 구조를 은폐시킴 </li></ul></ul><ul><ul><li>유닉스는 처음 프로그램 개발을 지원하기 위한 편리한 시스템으로 설계됨 </li></ul></ul>
    34. 36. Mach <ul><li>1985 CMU 서 개발 </li></ul><ul><li>micro kernel 기반 </li></ul><ul><ul><li>UNIX 의 커널이 너무 커짐 </li></ul></ul><ul><li>UNIX 프로그래밍 인터페이스 지원 (UNIX personality 지원 ) </li></ul><ul><li>다중 처리기서도 수행 </li></ul><ul><li>분산환경에 적합 </li></ul><ul><li>마이크로커널의 몇개의 단순한 abstraction 만 지원 </li></ul><ul><li>OS 기능은 유저 레벨의 서버가 지원 </li></ul><ul><li>OSF/1(1992) 과 NextStep(1989) 은 Mach 2.5 에 기반 </li></ul><ul><li>Mach 의 초기 버전들은 모노리딕 커널과 4BSD 인터페이스를 제공하는 고위층으로 구성 </li></ul><ul><li>Mach 3.0(1990) 이 첫 마이크로 커널 구현 </li></ul>
    35. 37. Standards(1) <ul><li>초기의 System V 와 BSD 는 서로 비호환 </li></ul><ul><ul><li>물리 파일 시스템이 서로 비호환 </li></ul></ul><ul><ul><li>네트워킹도 상이 </li></ul></ul><ul><ul><li>가상메모리 구조도 상이 </li></ul></ul><ul><li>다수의 표준안 존재 </li></ul><ul><ul><li>System V Interface Definition (SVID) by AT&T </li></ul></ul><ul><ul><li>IEEE POSIX </li></ul></ul><ul><ul><li>X/Open Portability by X/Open Consortium </li></ul></ul><ul><li>각 표준안은 프로그래머와 OS 의 인터페이스를 정의 (function 과 자세한 semantics 를 정의 ) </li></ul><ul><li>SVID 는 자세한 systemV 프로그래밍 인터페이스임 </li></ul><ul><ul><li>SVID : SVR2 용 , SVID2 : SVR3 용 , SVID3 : SVR4 용 </li></ul></ul>
    36. 38. Standards(2) <ul><li>AT&T 는 SVVS(SystemV Verification Suites) 도 발간 </li></ul><ul><li>1986 년 IEEE 가 OS 표준 위원회 구성 </li></ul><ul><ul><li>POSIX(Portable OS based on UNIX) </li></ul></ul><ul><li>POSIX 1003.1 (=POSIX.1(1990 년 발표 )) 은 SVR3 와 4.3BSD 합성 </li></ul><ul><li>X/Open 은 1984 년 구성 </li></ul><ul><ul><li>새로운 표준안 생성기구가 아님 </li></ul></ul><ul><ul><li>기존 de facto 표준안에 기반하여 개방형 CAE(Common Application Environment) 개발 </li></ul></ul><ul><ul><li>X/Open Portability Guide (XPG) Issue4 를 1993 년 발간 </li></ul></ul><ul><li>XPG Issue4 </li></ul><ul><ul><li>POSIX.1 에 기반 </li></ul></ul><ul><ul><li>국제화 , 윈도우 인터페이스 , 데이터 관리 등을 포함 </li></ul></ul>
    37. 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)
    38. 40. 1.2 필수적인 변화 <ul><li>소규모 , 내장 컨트롤러 부터 MPP 까지 활용 </li></ul><ul><li>다양한 응용 (office, 대규모 DB, 입자 물리학 ) </li></ul><ul><li>원래의 설계가 단순 , 점진적 확장가능한 구조 </li></ul>
    39. 41. 1.2.1 기능 <ul><li>IPC </li></ul><ul><li>다중 스레드 응용지원 </li></ul><ul><li>위의 두 기능은 클라이언트 - 서버 모델에 유용 ( 서버가 클라이언트 당 하나의 스레드 생성 ) </li></ul><ul><li>화일 시스템 기능 </li></ul><ul><li>FIFO files </li></ul><ul><li>심볼릭 링크 </li></ul><ul><li>디스크 파티션보다 큰 파일 </li></ul>
    40. 42. 1.2.2 네트워킹 <ul><li>BSD 의 TCP/IP 통합 </li></ul><ul><li>다수의 네트워크 인터페이스 ( 이더넷 , FDDI, ATM) 지원 </li></ul><ul><li>소켓 , 스트림즈 지원 </li></ul><ul><li>분산화일 시스템 -NFS, AFS, DFS(Transarc 社 ) </li></ul><ul><li>분산 서비스 (NIS, DCE) </li></ul><ul><li>분산 OS(Mach, Chorus, Sprite) </li></ul>
    41. 43. 1.2.3 성능 <ul><li>버클리 Fast file system </li></ul><ul><li>extent-based 할당 </li></ul><ul><li>journaling기법 </li></ul>
    42. 44. 1.2.4 하드웨어 변화 <ul><li>HW 의존 코드를 독립모듈로 분리 ( 이식성 향상 ) </li></ul><ul><ul><li>예 , 인터럽트 취급 , 가상 메모리 변환 , 문맥 교환 , 디바이스 드라이버 등 </li></ul></ul><ul><li>다중처리기 시스템 </li></ul><ul><li>1970 년대는 성능이 처리기 속도와 메모리 크기에 좌우 ( 스와핑 , 페이징 활용 ) </li></ul><ul><li>최근에는 I/O 병목화 -RAID </li></ul>
    43. 45. 1.2.5 질적 향상 <ul><li>시스템을 보다 robust, 보다 reliable </li></ul><ul><li>초기의 시그널은 unreliable </li></ul><ul><li>시스템 크래쉬에 취약 ( 캐쉬 버퍼 ) </li></ul><ul><ul><li>fsck 로 복구 , 최근에는 journaling </li></ul></ul>
    44. 46. 1.2.6 패러다임 전환 <ul><li>1970 년대는 중앙집중형 ( 타임쉐어링 ) </li></ul><ul><li>1980 년대는 워크스테이션 등장 </li></ul><ul><li>이어 클라이언트 - 서버 컴퓨팅 </li></ul><ul><li>파일 서버 , 계산 서버 , DB 서버 </li></ul><ul><li>최근에는 분산 계산으로 전환 </li></ul>
    45. 47. UNIX System Differences <ul><li>Version 6 and 7 (1976, 1978) </li></ul><ul><li>System III (1982) </li></ul><ul><ul><li>Named Pipes </li></ul></ul><ul><ul><li>The Run Queue </li></ul></ul><ul><li>System V (1983) </li></ul><ul><ul><li>Hash Tables </li></ul></ul><ul><ul><li>Buffer and Inode Caches </li></ul></ul><ul><ul><li>Semaphores, Shared Memory, Message Queues </li></ul></ul><ul><li>System V Release 2 (1984) </li></ul><ul><ul><li>Record /File Locking </li></ul></ul><ul><ul><li>Demand Paging </li></ul></ul><ul><li>System V Release 3 (1987) </li></ul><ul><ul><li>Remote File Sharing </li></ul></ul><ul><ul><li>I/O STREAMS </li></ul></ul><ul><ul><li>Enhanced Signal Operations </li></ul></ul><ul><ul><li>File System Switch </li></ul></ul><ul><ul><li>Shared Libraries </li></ul></ul>
    46. 48. 1.2.7 여타 응용 영역 <ul><li>초기의 단순한 시분할 응용 </li></ul><ul><li>근래에는 실시간 , 멀티미디어 응용에 이용 </li></ul><ul><ul><li>예 . 자원 가용성에 대한 보장 , 정해진 응답시간 , 다수 처리기 사용보장등 </li></ul></ul>
    47. 49. 1.2.8 Small is Beautiful <ul><li>초기 유닉스는 small, simple </li></ul><ul><li>초기 유닉스는 monolithic, 쉽게 확장 불가 </li></ul><ul><li>기능이 추가될 때마다 커널 크기 증가 </li></ul><ul><li>초기의 유닉스 철학 + 확장성 + 모듈성 </li></ul><ul><li>Mach(OSF/1 과 NesxtStep 의 기반 ) </li></ul><ul><li>마이크로 커널은 성능이 다소 떨어짐 </li></ul>
    48. 50. 1.2.9 신축성 <ul><li>1980 년대 중반 원격 화일 지원 필요 대두 (DFS) </li></ul><ul><li>타임쉐어링 클래스 , 실시간 클래스 지원 </li></ul><ul><li>동일한 작업을 수행하는 다수의 다른 방법 지원 </li></ul><ul><ul><li>예 . vnode/vfs, exec switch, 스케줄링 클래스등 </li></ul></ul>
    49. 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
    50. 52. Modern UNIX Kernel
    51. 53. 1.3 과거와 미래 <ul><li>대단히 대중화됨 </li></ul><ul><li>최근 윈도우 XP, Linux등이 위협 </li></ul>
    52. 54. 1.3.1유닉스의 장점 <ul><li>초기에 실비로 배급 </li></ul><ul><li>초기에는 small, simple </li></ul><ul><li>pipe 기법 </li></ul><ul><li>단순한 파일 시스템 </li></ul><ul><li>대부분의 시스템 응용이 데이터를 텍스트로 표시 </li></ul><ul><ul><li>( 예 . /etc/passwd, /etc/tty 등 )- 쉽게 조작 가능 </li></ul></ul><ul><li>simple, uniform I/O interface </li></ul><ul><li>이식성이 큼 </li></ul>
    53. 55. 1.3.2 유닉스의 단점 <ul><li>초기는 단순 , 후에 성능향상 등 이유로 기능 추가 </li></ul><ul><li>단순하고 유니폼한 유저 인터페이스 결여 </li></ul><ul><li>( 빌딩 블록 방법은 초심자에게는 부적합 ) </li></ul><ul><li>victim of its own growth </li></ul>
    54. 56. References <ul><li>Jason Villarreal, Introduction To Unix- CS 21 </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×