본문 바로가기
코스웨어/10년 스마트폰BSP

[BSP]업무일지 - 김병찬-20100902

by 알 수 없는 사용자 2010. 9. 2.
728x90
반응형

9월2일
오전수업

리눅스(Linux)

- 워크스테이션이나 개인용 컴퓨터에서 주로 사용되는 유닉스와 유사한 오퍼레이팅시스템. 

1989년 핀란드 헬싱키대학에 재학중이던 리누스 토르발스(Linus Torvalds)가 유닉스를 기반으로 개발한 공개용 오퍼레이팅시스템(OS)으로, 1991년 11월 버전 0.10이 일반에 공개되면서 확대 보급되기 시작하였다. 유닉스(Unix)가 중대형 컴퓨터에서 주로 사용되는 것과는 달리, 리눅스는 워크스테이션이나 개인용 컴퓨터에서 주로 활용한다.

리눅스는 소스 코드를 완전 무료로 공개하여 전세계적으로 약 5백만 명이 넘는 프로그램 개발자 그룹을 형성하게 되었으며, 이들에 의해 단일 운영체제의 독점이 아닌 다수를 위한 공개라는 원칙하에 지속적인 업그레이드가 이루어지고 있다.

파일구성이나 시스템기능의 일부는 유닉스를 기반으로 하면서, 핵심 커널 부분은 유닉스와 다르게 작성되어 있다. 인터넷 프로토콜인 TCP/IP를 강력하게 지원하는 등 네트워킹에 특히 강점을 지니고 있으며, 유닉스와 거의 유사한 환경을 제공하면서 무료라는 장점 때문에 프로그램 개발자 및 학교 등을 중심으로 급속히 사용이 확대되고 있다.

리눅스는 각종 주변기기에 따라 혹은 사용하는 시스템의 특성에 맞게 소스를 변경할 수 있으므로 다양한 변종이 출현하고 있다.

(출처 : 네이버 백과사전)

 



리눅스의 장단점

리눅스 장점 
1. 유연성에 따른 선택의 폭 확대
- 리눅스는 과학 및 공학 어플리케이션, 높은 가용성이 요구되는 웹사이트, 기업 데이터 센터, e-비지니스 어플리케이션 같은 업무에 매우 적합한 운영 체제입니다.
2. 강력한 보안기능
- 리눅스는 비지니스에 적합한 커널 수준 보안과 네트워크 및 어플리케이션 방화벽 구축 방법론 기능을 제공하는 운영 체제로 커널 수준에서 강력한 암호화를 통해 네트워크 트래픽을 보호할 수 있으므로 가상 사설 네트워크 구현에 매우 적합합니다.
3. 신뢰성
- 리눅스는 연속 가종 시간면에서도 매우 뛰어난 운영체제로서, 리눅스에서는 메모리를 격리하고 시스템 프로세서와 사용자 프로세서를 분리함으로써 운영 체제의 신뢰성이 매우 높습니다.
4. e-비지니스의 표준
- e-비지니스를 수행하기 위해서는 다양한 통신기기들이나 디바이스들과의 원활한 접속이 지원되어야 하는데, 이 점에서 탁월한 성능을 지닌 리눅스는 e-비지니스의 표준 운영체제로 계속적으로 수요가 늘어날 것입니다.
5. 안정성
- 안정성은 신뢰성과 대조되는 개념으로 운영체제의 제어를 벗어난 문제를 처리하는 능력을 말하며, 잘못된 커널 수준 코딩이나 정합성 손상으로 인한 시스템 중지는 신뢰성에 관한 문제인 반면, 시스템에서 실행 중인 다른 프로세스로 인한 시스템 중지나 성능 저하는 안정성에 관한 문제입니다. 리눅스에서는 시스템 안정성 향상에 기여할 수 있는 보호 메모리와 선제 멀티태스킹이 제공됩니다.
6. 저렴한 총 소유 비용
- 초기에 리눅스는 무료 운영체제라는 이유로 신뢰성 면에서 오해를 사기도 했지만, 비지니스 환경에서 리눅스의 매력은 저렴한 비용이 아니라 낮은 유지보수 비용, 뛰어난 안정성, 다른 운영체제를 능가하는 성능에 있습니다.
리눅스에는 사용자 단위 라이센스나 사용료가 없고 구형 펜티엄 시스템에서도 잘 실행되기 때문에 적은 예산으로 고성능 네트워킹 인프라를 구축할 수 있습니다.
7. 풍부한 기술 인력
- 전 세계적으로 오픈 소스 커뮤니티를 구성하는 수많은 개발자들이 인터넷 상에서 활동하고 있으며, 대학을 졸업하는 기술 인력들이 리눅스 환경을 선택하는 비율이 급격하게 증가하고 있기 때문에, 미래의 인력 수급 전망도 밝습니다.
8. 어플리케이션 가용성
- 많은 ISV들이 리눅스를 기본 플랫폼으로 포팅하고 있으며, 새로운 소프트웨어 개발자들도 리눅스 상에서 개발을 하고 있습니다.
그에 따라서 소규모 서버에서 대용량 서버에 이르기까지 사용할 수 있는 솔루션이 다른 플랫폼보다 다양해지고 있으며, 사용에 따른 비용도 상대적으로 낮으므로 솔루션 구현이 용이합니다. 
9. 세계에서 가장 빠른 속도로 성장하는 운영체제
- 많은 ISV들이 기본적으로 리눅스 환경을 채택하고 있으며, 새로운 소프트웨어 개발할 경우에도 리눅스 플랫폼을 이용하는 경우가 크게 증가하고 있습니다.


리눅스의 단점
공개운영체제이기 때문에 문제점 발생시 보상받을 수 없습니다.


리눅스를 대표하는 캐릭터

                 
                 





#리눅스의 종류및 특징
WowLinux
  • 와우리눅스 7.1 Paran은 레드햇 7.1을 기반으로 하지만, 국내 리눅스 사용자들의 환경에 맞도록
  • 한글화 및 각종 패치 적용, 유용한 패키지 포함한, 보다 편리하고, 안정화된 배포판이다.
  • 커널 2.4.2를 채택해 엔터프라이즈 환경에서도 사용할 수 있으며 그래픽 사용자 인터페이스는
  • KDE 2.1.1을 사용해 그래픽 환경을 개선한 것이 특징이다.
  • 데스크탑 환경설정을 위한 WOW 문지기(Doorman)로 다른 데스크탑 환경을 설정할 수 있다.
  • 주소록과 메시지 규칙이 추가된 Paran Webmail, 버전업된 커뮤니티형 게시판 ZeroBoard 4.0등
  • 으로 서버로서의 활용이 가능하며, 그 외 보안 및 멀티미디어, 파일 공유등에 필요한 필수
  •  어플리케이션들은 다양한 환경을 쉽게 접근할 수 있도록 되어있다. 리눅스 운용체계와 함께
  • 메일서버, 게시판 제작 프로그램, MP3와 DVD를 지원하는 멀티미디어 재생기,
  •  인스턴트메신저, 그래픽 뷰어 등의 응용 프로그램을 함께 포함하여
  • 650MB CD-ROM 2장 분량으로 구성되어 있다.
  •  이 밖에 데스크톱 환경 설정을 편리하게 할 수 있는 와우문지기 기능을 갖췄으며
  • 10여종의 폰트를 내장했다.
Red Hat
  • 현재 세계적으로 유저 수가 가장 많은 리눅스 디스트리뷰션이다.
  • 레드햇은 Red Hat Software사에 의해 릴리즈되고 있는 디스트리뷰션으로,
  • 역사적으로 보아도 비교적 새로운 디스트리뷰션이라고 할 수 있을 것이다.
  • 그러나, 후발이면서 관리기능이 좋고, 그래픽컬하여 알기 쉬운 인스톨러와 관리툴,
  • 준비된 다수 바이너리 패키지, 간단한 패키지의 조립 등과 같은 특징으로 인해
  • 지금은 선구자인 슬랙웨어를 능가하는 기세이다. 그 가운데에서도 인스톨러에 의해
  • 익숙하지 않은 초보자도 리눅스를 쉽게 접할 수 있도록 되어 있으며 대부분의 인기
  • 디스트리뷰션이 레드햇 인스톨러 RPM 패키지 형식을 채용하고 있다.
Linux-Mandrake
  • Linux-Mandrake는 단순함을 추구한다. Linux-Mandrake 배포판은 설치가 쉽고 또한 미려하고,
  •  안정적이며, 친근한 고급 그래픽 데스크탑 매니저 KDE를 제공한다.
  • Linux-Mandrake에는 KDE뿐만 아니라 GNOME, AfterStep, Windowmaker, IceWM 등
  • 사용자의 기호에 맞게 선택할 수 있는 다양한 그래픽 환경이 포함되어 있다. Red Hat과
  • 100% 호환 가능한 데스크탑 매니저와 많은 향상된 기능들을 갖고 있으며,
  •  윈도우 사용자들에게도 Linux-Mandrake는 친숙한 윈도우 환경을 제공한다.
SuSE-Linux
  • 새로 출시된 SuSE Linux 6.2 는 SuSE Linux 엔진니어링팀에 의해 테스트되어
  • 그 가치와 유용성을 인정받은 1,300여개의 어플리케이션과 유틸리티를 가지고 있다.
  • 이 배포판은 설치가 용이하고 설치된 각 패키지를 한눈에 볼 수 있도록 구성된 것이 특징이다.
    ·이미지 관련: Gimp, blender, Image Magick
    ·프로그래밍: C/C++, Fortran, Pascal, Java
    ·사운드: CD-Player, MODPlayer, MP3-Player, MIDI-Sequencer, OSS, ALSA
    ·멀티미디어: MPEG Video Player (mtv/mtvp) and Xaudio MP3 player by MpegTV
    ·타입셋팅: teTeX




#리눅스의 파일 시스템 구조

1./etc 디렉토리

/etc 디렉토리는 시스템에 국한되는 설정 파일들을 담고 있습니다. 바이너리 파일을
/etc 디렉토리에 두지 않습니다. 과거에 /etc 디렉토리에 있던 파일들은 이제
/bin 디렉토리에 위치시켜야 합니다. X11과 skel 디렉토리는 /etc 디렉토리 밑에
위치시켜야 합니다.

/etc
| -- X11
+ -- skel

X11 디렉토리는 XF86Config 같은 X11 설정 파일을 위한 디렉토리입니다. Skel
디렉토리는 사용자를 생성할 경우, 홈 디렉토리를 만들 때 사용되는 사용자의 기본
골격입니다.


2. /lib 디렉토리

/lib 디렉토리는 /bin과 /sbin 디렉토리에 있는 바이너리를 실행할 때 필요한
라이브러리를 가지고 있는 디렉토리입니다.


3. /sbin 디렉토리

/sbin 디렉토리는 root에 의해 사용되는 실행 파일을 위한 디렉토리이며, 부팅과
/usr 디렉토리 마운트, 시스템 복구 작업을 하는데 필요한 파일이 있는 디렉토리
입니다. FSSTND에는 아래와 같은 내용이 있습니다.

“/sbin 디렉토리는 일반적으로 /bin에 있는 바이너리 외에 시스템을 부팅하는데
필수적인 파일을 담고 있다. /usr 디렉토리가 마운트된 후에 실행되는 파일들은
/usr/sbin 디렉토리에 위치해야 한다. 시스템 고유의 시스템 관련 바이너리는
/usr/local/sbin 에 위치해야 한다.”


4. /usr 디렉토리

/usr 디렉토리는 시스템 전체에 걸쳐 공유되는 파일을 위한 디렉토리입니다. /usr
디렉토리는 보통 자신만의 분할 영역을 갖으며, 읽기 전용으로 마운트 되어야합니다.
다음의 디렉토리가 /usr의 하위 디렉토리가 됩니다.

/usr
| -- X11R6
| -- bin
| -- doc
| -- etc
| -- games
| -- include
| -- info
| -- lib
| -- local
| -- man
| -- sbin
| -- share
+-- src

X11R6 은 X 윈도우 시스템,bin은 실행파일,doc는 매뉴얼 페이지가 아닌 임의 문서,
etc는 시스템 전체에 걸친 설정파일,include는 C 헤더 파일,info는 GNU info 파일,
lib는 라이브러리, man은 매뉴얼 페이지,sbin은 시스템 관리에 사용되는 바이너리,
src는 소스 코드를 위한 디렉토리입니다.


5. /usr/local 디렉토리

FSSTND에는 다음과 같은 내용이 기술되어 있습니다.

"/usr/local 구조는 시스템 관리자가 시스템 고유의 소프트웨어를 설치할 때 사용하기
위한 것이다. 시스템 소프트웨어가 업그레이드 될 때 덮어쓰여 지는 것으로부터 안전하게
유지될 필요가 있다. 이 디렉토리는 시스템 내 그룹간에 공유될 수 있으면서 /usr 디렉
토리에서 찾을 수 없는 프로그램과 자료를 위해 사용될 수 있다.”

/usr/local 디렉토리는 구조적으로 /usr 디렉토리와 비슷합니다. 이 디렉토리는 /usr의
하위 디렉토리들의 용도와 비슷한 목적을 가지는 하위 디렉토리 구조를 갖습니다.

/usr
| -- bin
| -- doc
| -- etc
| -- games
| -- include
| -- info
| -- lib
| -- man
| -- sbin
+-- src


6. /var 디렉토리

FSSTND는 /usr 디렉토리를 읽기 전용으로 마운트하도록 구너고하고 있기 때문에,
기록 파일을 작성하거나, 스풀 디렉토리나 lock 디렉토리를 필요로 하는 프로그램은
/var 디렉토리를 사용해야 합니다. FSSTND는 다음과 같이 기술하고 있습니다.

"변할 수 있는 자료 파일, 이 디렉토리에는 스풀 디렉토리 및 파일, 관리 및 점검
기록 자료와 임시로 생성되는 파일이 포함되어 있다.”

/var의 하위 디렉토리들입니다.

/var
| -- log
| -- catman
| -- lib
| -- local
| -- named
| -- nis
| -- preserve
| -- run
| -- lock
| -- tmp
+-- spool
| -- at
| -- cron
| -- lpd
| -- mail
| -- mqueue
| -- rwho
| -- smail
| -- uucp
+-- news

wtmp와 lastlog와 같은 시스템 기록 파일들은 /var/log 디렉토리에 위치하게
됩니다. 또한 /var/lib 디렉토리는 RPM 시스템 데이터 베이스를 포함하고 있습니다.
형식화된 매뉴얼 페이지는 /var/catman에 위치하게 되고, lock 파일은 /var/lock
디렉토리에 위치합니다. /var/spool 디렉토리는 자료 파일을 저장할 필요가 있는
다양한 시스템을 위한 하위 디렉토리를 가지고 있습니다.







#커널이란?
운영체제에서 가장 핵심적인 자원(메모리,프로세서,디바이스 등)을 관리하며 시스템이
원활히 돌아갈 수있도록제어
자원관리자로서 동작
사용자가 내린 명령을 수행하면서 시스템의 하드웨어를 조작

#구조에 따른 커널구분
-모놀리딕 커널과 마이크로 커널의 구조

#마이크로 커널의 장.단점
장점-기능의 확장과 수정이 용이하며 다른 시스템으로의 이식이 쉽다
단점- 프로세스 간의 통신에 있어 메시지 전달에 오버헤드가 존재하고 문맥교환의 이유로 인한 자원의 이용 측면에서도 효율성이 떨어진다.

#모놀리딕 커널의 장. 단점
장점-마이크로 커널에 비해 속도가 빠르고 시스템 자원을 효율적으로 관리할수있다
단점-커널이 커지며 커널이 변경되면 전체 커널을 재컴파일 및 재 부팅 해야한다.
이를 해결하기위해 리눅스에서는 모듈개념을 도입하였다.




#용어

1.GNU(Gnu is Not Unix) 
GNU란 FSF에서 진행하는 프로젝트에 붙인 이름으로 그 뜻은 재귀적인 의미로서 제공되는데
이들은 이 프로젝트를 통해서 FSF가 지원하는 리눅스에 많은 프로그램을 개발하고 제공하고
있다.
그러나 리눅스는 GNU프로젝트에 의해서 만들어진 것이 아니다. GNU는 리누즈 토발츠가
만든 커널이 아닌 다른 커널을 개발하고 있다.
 
2.BSD(Berkeley Software Distribution) 계열 유닉스 
캘리포니아 버클리대학에서 무료로 배포하기 시작한 유닉스 버전들을 일컫는 말이다.
BSD 유닉스 개발자들은 가상 메모리 지원, C 셸, 작업 제어, TCP/IP네트워킹 추가 등
여러 가지 기능을 추가해 발전시켰다. 1980년대에 발표된 4.2 BSD와 4.3 BSD 는 SYSⅤ 계열의
유닉스에 많은 영향을 끼쳤고, 1993년에는 4.4 BSD가 발표된 바 있다.
 
3.FSF(Free Software Foundation) 
컴퓨터를 사용함에 있어서 소프트웨어들의 복사, 배포, 이해, 수정에 대해 모든 제한을 철폐하기
위해 노력하는 단체이다. 이들은 수많은 프로그램을 GNU프로젝트라는 것으로 개발하고 있다.
현재 사용하는 리눅스의 대다수 프로그램은 이들에 의해서 개발되었고,
그렇기 때문에 우리는 마음대로 소스를 볼 수 있고, 변경할 수 있다.

4.리눅스커널(Linux Kernel) 
커널은 운영체제의 중심에 위치하여 모든 작업에 우선하여 동작하는 프로그램으로,
인터럽트(interrupt) 혹은 시스템 호출(system call)에 의해 수행된다.
인터럽트 처리, 프로세스 관리, 메모리 관리, 파일 시스템 관리, 프로그래밍 인터페이스 제공 등
운영체제의 기본적인 기능들을 제공하는 핵심 부분이라 할 수 있다. 리눅스 커널의 실질적인
부분에 대한 개발은 리눅스 토발즈를 비롯한 수많은 자원 개발자들에 의해 이루어지고 있다.
리눅스 커널의 버전은 [주번호],[부번호],[패치 수준]으로 부여되는데 (예:2.2.3),
주번호는 주요한 변경을 의미하고, 부 번호는 새로운 기능의 추가를, 마지막으로 패치
수준은 버그를 수정한 패치(patch) 정도를 뜻한다. 부 번호가 홀수이면 새로운 추가 기능이
개발 중임을, 짝수이면 어느 정도 안정화되었다고 볼 수 있다.
일반적으로 리눅스 버전이라 함은 바로 리눅스 커널버전을 말한다.

 
5.리눅스 배포판(Linux Distributions) 
리눅스 운영체제는 리눅스 커널과 GNU의 많은 시스템 유틸리티들,
그리고 X 윈도시스템을 포함한 다양한 소프트웨어 패키지들이 결합되어 제공되는데,
이러한 리눅스 운영체제의 소프트웨어 패키지들의 묶음을 리눅스 배포판이라 한다.
대표적인 리눅스 배포판으로는 RedHat, Alzza, Debian, Turbo 리눅스 등이 있고 ,
이들은 각각 리눅스 커널과는 별도로 배포판 자체의 버전을 가지고 있다. 각 배포판은
인터넷을 통해 누구든지 무료로 다운로드 받을 수 있으나 CD-ROM 형태로 되어 있는
패키지는 소정의 요금을 지불해야 한다.

 

 

 

 

 

 




오후 수업


JAVA

(JCheckBox,JRadioButton,JCombo,JList 사용하여 pc방 관리프로그램)
실질적인 기능은 없고 디자인만..

코드보기
↓↓↓클릭

더보기


실행 결과




#JTabbedPane 이용하여 탭이있는 윈도우만들기
역시나 기능은 없고 디자인구현만

코드보기
↓↓↓클릭

더보기

실행결과




#JTable 을 이용해서 사원관리를  위한 테이블 만들기
기능은 없고 디자인만..

코드보기
↓↓↓클릭

더보기


실행결과
테이블 글상자를 더블클릭하면 내용도 바꿀수있고 마우스로 끌어서 위치도 변경할수있다.

728x90