= 운영체제실습 (2) = 리눅스 (Linux) 소개 표월성 passwd74@cherub.sungkyul.edu http://cherub.sungkyul.edu/~web
차례 운영체제와리눅스 Windows의역사 Unix/linux의역사 GNU프로젝트및 GPL Linux의역사및커널 Linux의특징 리눅스배포판 (Linux Distribution)
운영체제와리눅스 운영체제 (operating system, OS) 컴퓨터자원을효율적으로관리하며사용자와컴퓨터사이에인터페이스를제공 Kernel 운영체제의핵심부분 ( 프로세스관리, 메모리관리, I/O 시스템관리, 파일시스템관리등 ) shell 사용자와운영체제의내부 kernel 사이의인터페이스역할 ( 명령어해석기 ) Users Applications Shell Kernel H/W
Windows 의역사 1981 1982 1985 1987 1992 1993 1995 1996 CP/M PC-DOS1.0 OS/2 1.0 OS/2 2.0 MS-DOS1.0 MS-DOS4.0 MS-DOS6.0 MS-DOS7.0 Windows 1.01 Windows 2.0 Windows 3.1 Windows 95 Win NT 3.1 Win NT 3.5 Win NT 4.0 1998 1999 2000 2001 2003 2007 2008 2010 MS-DOS7.1 MS-DOS8.0 Windows 98 Windows 98se Windows Me Windows XP Windows Vista Windows 7.0 Win 2000 Windows 서버 2003 Windows 서버 2008
Unix / Linux 의역사 1960 1969 1970 1971 1975 1977 1979 1980 1981 1982 1983 1984 1985 1 2 Multics li DEC PDP-7 용 OS 개발 (Unics) PDP-11/20 용 OS (UNIX) Version 6 UNIX Version 7 UNIX SunOS1.0 SunOS1.1 Version 8 UNIX SunOS2.0 3 UNIX 를 C 언어로다시작성 UNIX System III UNIX System IV UNIX System V R1 UNIX System V R2 4 XENIX XENIX3.0 SOC XENIX3.0 5 1BSD 2BSD 2.8BSD 2.9BSD 6 Mach 7 3BSD/4.0BSD 4.1BSD 4.2BSD 8 MINIX 9 HP-UX 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 1 Version 9 UNIX Version 10 UNIX 2 SunOS3.0 SunOS3.5 SunOS4.0 Solaris1 Solaris2.0 Solaris2.6 Solaris7 Solaris8 Solaris10 3 UNIX System V R3 UNIX System V R4(SVR4) Unixware1 Unixware2.0 Unixware7 Open Unix8 R8.0 SCO Unixware7.13 4 IRIX IRIX2.0 IRIX3.0 IRIX4.0 IRIX5.0 IRIX6.0 IRIX6.5.30 5 2.10BSD 2.101BSD 2.11BSD 6 Mach2.0 Mach2.5 Mach2.6 Mach3 Mach4uk02 Mach4uk22 Mach4 7 4.3BSD OSF/1 OSF/1 3 4.4BSD NetBSD FreeBSD1.0 OpenBSD 8 MINIX1.0 MINIX1.5 MINIX2.0 MINIX3.0 Linux0.01 Linux0.99.11 Linux1.0 Linux2.0 Linux2.4 Linux2.4 Linux2.6.26 9 HP-UX1.0 HP-UX3.0 HP-UX7.0 HP-UX9.0 HP-UX10 HP-UX11 HP-UX11i HP-UX11iv2
GNU 프로젝트및 GPL GNU (GNU is Not Unix) http://www.gnu.org/ 80년대리차드스톨만 (Richard Stallman) 에의하여시작 GNU 프로젝트의목적 : 자유소프트웨어로만구성된하나의완전한 Unix 시스템을만드는것 리눅스는 GPL 라이선스에따라무료로배포및수정되어사용할수있는운영체제 Linux 에많은유용한유틸리티를포함시키게됨 GNU GPL (GNU General Public License) 누구나자유롭게사용, 변경, 배포가가능 다양한리눅스배포판존재 변경사항을포함해서재판매하는것은허용하나소스는공개해야함. 프로그래머는자신의소프트웨어로발생하는어떤위험이나손해에대한법률적책임이없음. ( 참고 ) 배포판과함께제공되는 S/W : 유료및무료가능 현재의기업 프로그램자체에대해서돈을받기보다, 서비스의질과시간적양에따라차별적으로돈을받는것을추구 소프트웨어에대한공식적인지원, 문제발생시책임문제고려한다면, 상용리눅스사용
Linux 의역사및커널 리차드스톨만 (Richard M. Stallman) -MIT 인공지능연구소의연구원 - 기업을중심으로소스를공개하지못하도록하는분위기, 기술을사업화하려는조류에대한반감 1983 년 : - GNU(GNU is Not Unix) 프로젝트를시작 1985 년 : -Emacs 에대한사용자들에대한관심이높아짐. - 자유소프트웨어재단 (FSF : Free Software Foundation) 을설립 (GNU 프로젝트운영을위해 ) 1990년 : - GNU프로젝트는시스템라이브러리, 컴파일러, 텍스트에디터, 쉘등의시스템의핵심적인부분을거의완성시켰다. ( 단, 운영체제에서핵심이되는커널이빠져있는상태 ) - Mach 를기반으로한커널허드 (Hurd) 를개발하기시작 - 마하가복잡한구조를가지고있어 Hurd의개발이지체됨
Linux 의역사및커널 리누스토발즈 (Linus Benedict Torvalds) - 앤드류타넨바움 (Andrew S. Tanenbaum) 라는교수가운영체제디자인을가르치기위해만든교육용유닉스인미닉스 (MINIX) 에서아이디어를얻어, - 독자적으로리눅스를개발 ( 탄넨바움은미닉스를다른사람이함부로수정하지못하도록제한 ) - 뉴스그룹 (comp.so.minix) 을통해리눅스를개발하고있음을알림 1991 년 9 월 : - 리눅스의등장 : 0.01 버전개발 ( 미공개 ) 1991 년 10 월 : -0.02 버전 : 뉴스그룹에첫공식적인발표 -10 명이다운로드, 그중 5 명이버그를수정및개선하여보내옴. 1992 년 3 월 : - 0.95 버전 (GUI 와 Intel x86 지원 ) - 리처드스톨만과 FSF 는리눅스를 GNU 커널로채택 - 리눅스는 GNU C 컴파일러 (gcc) 로컴파일한응용프로그램증가 1994년 : -1.0 버전 ( 네트워크기능추가 ) - 밥영과마크유잉의레드헷사설립운영체제실습2(Linux)
Linux 의역사및커널 1996년 6월 : - 20 2.0 버전 (SMP 기능추가 ) 1999 년 1 월 : -2.2 버전 ( 최대 16 개의 CPU 지원과최대동시접속사용자 2,048 명까지지원 ) 2001 년 1 월 : -2.4 버전 현재의안정버전 : 2626 2.6.26 ( 참고 ) 리눅스이름의유래 : - 아리람케라 (ftp.funet.fi사이트의운영자 ) 는사람이 LINUs' minix => LINUX폴더를만들어토발즈에게제공한것이유래 ( 원래 : 토발즈는 Freax( 프릭스 ) 로하려했다 ) 리눅스로고 - 1996 년래리유윙이창조한리눅스의마스코드 (Tux( 턱스 ) : Torvalds UniX => TUX) - 리누스는펭귄의모습이청어를배불리먹고포만감에젖어편안히앉아있는자세의정다운모습이라고묘사
Linux 의특징 Linux 의특징 다중플랫폼 (Multi-platform) 지원 Intel CPU (i386), Digital Alpha, Sun Sparc, Sparc64, PowerPC 등 다양한하드웨어장치지원 네트워크기능제공 이식성이뛰어남 C 언어기반으로, 프로그래밍과 porting 이용이 유닉스의특징포함 다중사용자 (Multi-user) 가동시에사용할수있는환경을제공 다중작업 (Multi-Tasking) 환경제공 (Win98이출시되면서가능해짐 ) 트리형태의계층적구조로된파일시스템 풍부한소프트웨어개발환경제공 거의모든프로그래밍언어제공 강력한네트워킹기능제공
리눅스배포판 (Linux Distribution) Linux 운영체제를사용하려면? linux kernel, shell, GNU S/W( 시스템유틸리티, 응용프로그램, 서버용프로그램등 ), 각종 Library, MIT X-윈도우시스템, 폰트, 부트로더, 기타소프트웨어등. 배포판등장배경 개인, 단체가리눅스운영체제를구성하여제공리눅스배포판 (Linux Distribution) 등장 초기 : kernel, linux binary파일 ( 미리컴파일한 S/W, C 컴파일러, C라이브러리등 ) CDROM 등장 : 배포판의크기증가 SLS 배포판슬랙웨어 (slackware) 수세 (SuSE), 데비안 (Debian), 레드햇 (Redhat) 등 - 자체패키지업그레이드기능사용 - 패키지업그레이드기능없음 ( 업그레이드및기능추가시배포판다시생성하는불편 )
리눅스배포판 (Linux Distribution) Linux 의배포판의종류 배포판홈페이지 (URL) 비고 레드햇 (Redhat) http://www.redhat.com RPM(Redhat Package Management), RHCE ( 레드햇인증엔지니어 ) 페도라 (Fedora) http://www.fedora.redhat.com/ redhat - 레드햇의공식후원을받고있음. - 주로레드햇앤터프라이즈리눅스를위한테스팅베이스역할 데비안 (Debian) http://www.debian.org 슬랙웨어 (Slackware) http://www.slackware.com - 패트릭볼커딩 (Patrik Volkerding) 이라는사람개인의노력으로만들어진배포판 - 완전한배포판형태 - 기초적인패키지관리기능만제공 => 업그레이드기능이없음 ( 새로운기능및버전이업그레이드되면, 다시설치해야함 ) 젠투리눅스 (gentoo) http://www.gentoo.org 첫안정버전 : 2002 년 3 월발표 수세리눅스 (SuSe Linux) http://www.suse.com ( 독일 ) 노픽스 (Knoppix) http://www.knoppix.com ( 독일 ) 린스파이어 ( 예전의 Lindows) http://www.linspire.com 맨드레이크 (Mandrake) http://www.linuxmandrake.com 레드햇리눅스배포한을기반으로프랑스맨드레이크소프트사에서만들어딘배포판. 아시아눅스 (asianux) 마루우분투 (ubuntu) SULinux http://www.asianux.com http://www.haansoftlinux.com http://www.linuxone.co.kr http://www.ubuntulinux.org http://www.sulinux.net 아시아의대표적인 linux 운영체제를만들기위해만들어진운영체제 - 한국, 중국, 일본을중심으로개발 ( 한글과컴퓨터, 홍기리눅스, 미라클리눅스 ) 기타리눅스배포판알짜, 터보, 와우, ASP 리눅스등.
Q&A Q & A