반응형
리눅스 운영체제는 크게 커널, 쉘, 사용자 프로그램으로 분류할 수 있다.
- 커널(Kernel)
- 쉘(Shell)
- 사용자 프로그램
1. 커널(Kernel)
- 운영체제의 핵심
- 도스에서 IO.SYS와 MSDOS.SYS
- 모든 부분에서 여러 가지 기본적인 서비스를 제공
- 시스템의 하드웨어와 다양한 프로세스나 메모리 등을 관리
- 시스템을 제어
2. 쉘(Shell)
- Operating System Command Interpreter
- 커널과 사용자 프로그램의 중간에 위치하는 명령어 해석기
- 쉴은 커널과 직접적으로 연결
- 사용자가 로그인을 하면 자동으로 형성되어 명령어를 해석할 수 있는 상태로 만듬
- 사용자 프로그램에서 실행시킨 명령어를 해석하여 그 결과를 커널로 보내주는 역할을 함
- 쉘의 종류는 다양하나, 리눅스에서는 주로 bash(Bourne-Again Shell)을 사용
3. 사용자프로그램
- 일반적으로 리눅스에서 사용하는 프로그램
- 네트워크 서비스
- 아파치 웹서버
- FTP
- SSH
- 메일서버
- 데몬이나 각종 소프트웨어 등
● 쉘(Shell)의 종류
1. Bourne Shell(sh)
- 1979년, Bell 연구소의 Steven Bourne이 개발한 최초의 대중화된 유닉스 쉘
- 가장 오랫동안 UNIX 시스템의 표준 구성요소
- 후에 개발된 쉘에 비하여 기능적인 명에서 부족
- 현재 리눅스에서 가장 많이 사용하고 있는 Bourn Shell의 변종인 Bash가 있음
2. Korn Shell(ksh)
- Bourne Shell을 포함하는 더욱 강력한 쉘
- 강력한 명령어 편집기로 인해서 일반적으로 유닉스에서 많이 쓰임
- AT&T 사의 David Korn이 제작
- Bourne Shell의 기능들을 확장한 쉘
- Bourne Shell과의 호환성이 높음
- C Shell의 기능들도 제공
3. C Shell(csh)
- 버클리 대학교에서 개발됨
- Bourne Shell과 호환이 되지만 인터페이스 구조가 다름
- C언어 문법과 제어구조에 비슷한 면을 가짐
- C Shell은 명령어 모드에서 다양한 기능을 제공
- 유닉스 실행 시의 기본 Shell로 주로 스이기도 함
4. TC Shell(tcsh)
- 1908년대 초반, Ken Greer 등이 C Shell을 확장시켜 제작
- 프리 소프트웨어로 많은 사람들이 사용
- C Shell의 모든 기능을 제공
- 명령어 편집을 emacs 스타일 방식을 취함
5. Bourne Again Shell(bash)
- 현재 리눅스 시스템의 기본 Shell
- 가장 많이 이용
- Bourne Shell의 기능을 추가, 발전
- C Shell과 Korn Shell에서 제공하는 기능들도 상당수 포함
- 다른 쉘에 비해 쉽게 접근이 가능
반응형
'SW개발' 카테고리의 다른 글
[Linux]심볼릭 링크&하드 링크 (2) | 2012.11.20 |
---|---|
[스마트 포인터] (0) | 2012.10.10 |
[3GPP2] (0) | 2012.09.03 |
[QXDM] [로그 저장하고 불러오기] (2) | 2012.08.24 |
[리눅스 쉘(Shell) 스크립트] (5) | 2012.08.17 |
[VI 글자 색상 바꾸기] (2) | 2012.08.13 |
[Android]서비스의 라이프 사이클 (0) | 2012.08.10 |
[Android][OOM(Out Of Memory) Adjustment] (0) | 2012.08.02 |
[Linux][VIM설정] (0) | 2012.07.31 |
[Linux][Screen] (1) | 2012.07.31 |