-컴퓨터의 소프트웨어와 하드웨어를 제어하는 것은 바로 OS (운영체제)입니다.
-os는 컴퓨터의 h/w와 응용프로그램 상호작용, cpu, 주기억장치, 연산, 출력, 데이터와 파일의 저장관리 기능을 담당합니다. 한마디로 컴퓨터를 제어하기 위한 프로그램들의 모음입니다.
-운영체제를 구성하는 2가지가 바로 커널과 쉘입니다. 커널과 쉘의 역할은 다음과 같습니다.
1. 커널(kernal) :
-운영체제 내부에 있는 것으로 컴퓨터의 하드웨어를 제어한다. 운영체제의 90%를 차지한다.
- 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하여 응용 프로그램이 하드웨어에서부터 오는 자원을 관리하고 사용 할 수 있게 해줍니다.
-운영체제(OS)에서 가장 중요한 구성요소로서, 입출력을 관리하고 소프트웨어로부터 요청 (System Call)을 컴퓨터에 있는 하드웨어(CPU, 메모리, 저장장치, 모니터)가 처리할 수 있도록 요청(System Call)을 변환하는 역할을 한다.
2. 쉘(shell) :
-커널만으로는 운영체제가 완성되지 않는다.
-우리가 커널에 명령을 내리기 위해서는 커널이 이해할 수 있는 언어로 전달해야 하는데 그것은 쉽지 않다. 우리는 그저 영어로(표준) 타이핑을 하여 명령을 전달한다.
-이때 우리가 전달한 스크립트를 커널이 이해하기 쉽게 해석해주는 역할이 바로 쉘이다.
-윈도의 cmd, linux/unix의 bash 가 대표적인 예이다. 이외에도 sh,csh
-실제로 명령어를 전달하고 결과를 전달받는 프로그램
-커서 앞의 $는 프롬프트로 사용자의 명령을 받아들일 준비가 되었음을 모니터에 나타내는 표시이다.
-리눅스 환경에서 주로 $ 혹은 #을 만나게 되는데 이는 현재 로그인 한 유저의 계정 정보를 나타낸다.
- Dollar sign ($) means you are a normal user. (보통 유저)
- hash (#) means you are the system administrator (root ). (시스템 관리자)
- percent(%) In the C shell, the prompt ends with percentage sign (%). (C 쉘일 때 프롬프트 표시)
3. 터미널(terminal) :
-인간과 컴퓨터가 소통하게 해주는 통로, 인터페이스라고 생각하면 쉽다.
-터미널은 크게 gui 기반 터미널과 텍스트 기반 터미널이 두 가지가 있는데 그중 리눅스 터미널은 텍스트 기반 터미널이다. 터미널은 주로 shell을 이용한다.
-서버의 로컬 또는 원격으로 접속할 수 있는 콘솔을 구현한 소프트웨어
4. 콘솔(console) :
-터미널의 일종으로, 시스템 제어를 위한 특수목적 터미널이다.
-서버의 로컬 장치에서 직접 명령어를 작성할 수 있는 입출력 장치.
-콘솔이 물리적인 장치라면 터미널은 원격제어 환경까지 포함하는 더 넓은 의미라고 할 수 있다.
-콘솔 = 물리적 터미널
출처
https://surgach.tistory.com/12
'Operating System > Linux' 카테고리의 다른 글
Linux Vi editor (vi 편집기) 명령어 (0) | 2020.09.21 |
---|---|
Linux 명령어 vs 윈도우 명령어 비교 (0) | 2020.09.15 |
개발자(프로그래머)가 리눅스(Linux) 배워야하는 이유 (0) | 2020.07.27 |
서버 가상화(server virtualization) (0) | 2020.07.07 |
리눅스(LINUX) vs 윈도우(Windows) (0) | 2020.07.07 |
댓글