imgusdn
Linux 01 본문
Linux 개요
1. Operating System
- 컴퓨터의 Hardware와 다른 응용프로그램들을 제어, 관리하는 역할을 하는 System Software
- 운영 체제의 목적
- 사용자가 프로그램을 편리하게 사용할 수 있는 환경 제공
- 자원을 최대한 공정하고 효율적으로 프로세스에 할당
- 올바르지 않은 자원의 낭비를 막기 위해 프로세스 관리, 입출력 장치 제어
- 운영 체제의 역할
- 프로세스 관리(프로세스 생성, 삭제, 중단 및 재개)
- 메모리 관리(메모리 할당 여부 감시, 프로세스의 메모리 할당 및 해제)
- 2차 기억장치 관리(저장 장치 할당, 디스크 스케줄링)
- 운영 체제의 종류
- Unix, Linux, Windows, MAC OS 등
2. Linux 소개
- Linus Torvalds(리누즈 토발즈)가 Linux 커널 개발
- 어원 : Linus' unix
- Unix System의 MINIX를 i386 CPU의 IBM PC에 호환될 수 있도록 제작
- 1991년 9월 Linux Kernel 0.01 개발, 같은 해 10월 0.02 발표
(1) Linux 역사
- 1971년 Unix Server 운영체제 발표
- 1970년대 'BSD 계열'과 'System V' 계열로 발전
- 1985년 오픈 소소의 사상이 되는 'GNU 선언문' 발표
- 1991년 리누즈 토발즈에 의해 Linux Kernel 공개
- 강력한 네트워크 기반의 운영체제로 현재도 계속해서 발전
(2) 특징
- 공개형 오픈 소스(Open Source) 운영체제(GNU/Linux)
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking), 가상 터미널(VIrtual Terminal)
> 단일 시스템 상에서, 여러 사용자가 가상 터미널을 이용하여 동시에 다중 작업이 가능
- TUI, GUI 환경 제공
> Console(TUI; Text User Interface)과 X-Window(GUI; Graphic User Interface)
- 강력하면서 안정적인 네트워크 지원
- Unix와 완벽한 호환 : UNIX 표준인 POSIX 표준에 따라 개발됨.
- 다양한 플랫폼을 지원
- 가상 메모리 시스템 구현
3. Linux 구성 요소
(1). Kernel(커널)
- Linux System 구성의 기초를 이루는 핵심(Core) 부분
- OS라 불리는 실질적인 요소
- Hardware와 사용자 프로그램 사이에 위치하여 CPU, Memory, Disk등의 자원을 제어
- 프로세스 스케줄링, 기억장치 관리, 파일 관리, 시스템 호출 인터페이스, I/O 기능
- Linux Kernel의 최신 정보 확인 -> http://www.kernel.org
The Linux Kernel Archives
www.kernel.org
(2) Shell(쉘)
- User가 입력한 명령어를 기계어로 번역해 주는 명령 해석기(Command Interpreter)
- DOS의 command.com의 역할과 유사
- Kernel에 내장되어 있지 않은 하나의 독립 프로그램
- Kernel과 사용자 프로그램 사이에 위치하는 System 제어의 수단
- User가 로그인시에 자동으로 형성
- Shell에는 다양한 종류가 있으며 Linux의 기본 Shell은 Bash Shell
- Shell의 종류
- Bourne Shell(/bin/sh)
- AT&T Bell 연구소의 Steve Bourne이 개발한 Original Unix Shell
- Shell Programing 용도로 권장
- Unix System의 시스템 관리자 계정(root)의 기본 Shell
- 프롬프트 : #(관리자 계정), &(일반 계정)
- C Shell(/bin/csh)
- 버클리 대학의 Bill Joy가 C언어를 기본으로 개발
- Bourne Shell에 기능 강화(command history, alias, job control 기능 등..)
- 프롬프트 : #(관리자 계정), %(일반 계정)
- Korn Shell(/bin/ksh)
- AT&T Bell 연구소의 David Korn이 개발
- Bourne Shell에 C Shell의 몇몇 기능을 추가
- 프롬프트 : #(관리자 계정), $(일반 계정)
- Bash Shell(GNU/Bourne Again Shell)(/bin/bash)
- FSF(Free Software Foundation)에서 개발한 POSIX 호환 Shell
- Linux에서 가장 많이 사용되는 Shell
- Bourne Shell에 csh과 ksh의 몇몇 기능을 추가
- 프롬프트 : #(관리자 계정), $(일반 계정)
- 기타 TC Shell, Z Shell 존재
'리눅스' 카테고리의 다른 글
리눅스 명령어 (0) | 2023.02.21 |
---|---|
Ubuntu에 apache, openSSH 서비스 설치 (0) | 2023.02.21 |
리눅스의 파일과 디렉터리 (0) | 2023.01.08 |