#O01. What is OS(Operating System)?-kernel, shell, terminal, console (운영 체제란?-커널, 쉘, 터미널, 콘솔)

kathy·2021년 11월 26일
0

OS

목록 보기
1/1
post-thumbnail

💻OS(Operating System-운영체제)

OS란 Operating System의 약자로 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어이다.
최근에는 가상화 기술의 발전에 힘입어 실제 하드웨어가 아닌 하이퍼바이저(가상 머신) 위에서 실행되기도 한다.

쉽게 말하자면, OS 운영체제는 컴퓨터를 효율적으로 관리하고 작동시키기 위한 프로그램이다. OS의 가장 대표적인 예로 window, mac, android, linux, ios, 등이 있으며 위와 같이 다양한 os가 존재한다.

운영체제는 [하드웨어(Hardware) ↔ 운영 체제(Kernel) ↔ 셸 / 응용 프로그램(shell) ↔ 사용자(User)]로

💻kernel이란?

커널은 운영체제의 대부분이라고 봐도 될 정도로 가장 핵심적인 부분으로 software와 hardware간의 다리 역할을 하며 커뮤니케이션을 관리한다. 종류는 단일형, 마이크로, 혼합형, 나노, 엑소 커널이 있으며 커널은 가장 대표적으로 보안, 자원 관리, 추상화의 역할을 한다.

🔸보안 : 컴퓨터 하드웨어와 프로세스의 보안을 책임진다.
🔸자원 관리 : 한정된 시스템 자원을 관리하여 효율적으로 프로그램을 실행할 수 있게 도와준다. (ex: 스케줄링)
🔸추상화 : 세상에는 아주 다양한 종류의 하드웨어가 존재한다. 소프트웨어가 각각의 다른 종류의 하드웨어(CPU, 메모리, 모니터, 등)에 접근하기 위해서 복잡하고 비효율적인 방법을 사용해야할지도 모른다. 이를 해결하기 위한 방법이 하드웨어 추상화이다. 공통 명령어를 통해 커널은 복잡성을 해결하고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공한다. 이를 통해 프로그래머가 여러 장비에서 작동되는 프로그램을 좀더 쉽게 개발할 수 있다.

💻Shell이란?

커널은 좀 더 기계(컴퓨터)에 가까운 쪽이라면 shell은 사람의 사용에 좀 더 가깝다. 우리는 컴퓨터가 사용하는 언어(ex:01011100)로 원하는 요청을 표현하는 것은 쉽지 않다. 따라서 사람의 언어로 표현을 하여 변환 시켜줘야 한다. 따라서 그 명령을 받아 컴퓨터에 맞는 언어로 전환해 커널에 전달하는 역할을 하는 프로그램이 shell이다.
대표적인 예로는 window에는 cmd, linux/unix/mac에는 bash,sh, csh, zsh등이 있다.
가장 흔히 볼 수 있는 window와 mac의 shell은 다음과 같다.

Window cmd

mac zsh

💻Terminal이란?

Terminal은 서버의 로컬이나 원격으로 접속할 수 있는 콘솔을 구현한 소프트웨어로 크게 GUI와 shell로 나눌 수 있다. 대부분 terminal을 열면 shell이 실행된다.

🔸GUI(graphical user interface) : 사용자가 편리하게 사용할 수 있도록 그래픽으로 이루어 져있으며 클릭을 통해 조작이 가능하다. 우리가 흔히 쓰는 모든 프로그램이 GUI로 이루어져있다. 대표적인 예로 window와 mac이 있다.
🔸Shell : shell은 텍스트 기반의 터미널이며 대표적인 예로 linux가 있다.

💻Console이란?

컴퓨터를 동작시키는 물리적 장치로 서버의 로컬 장치에서 직접 명령어를 작성할 수 있는 입출력 장치이다.
대부분 터미널과 콘솔을 혼용해서 사용하기도 한다. 다만 터미널은 원격제어 환경까지 포함하기에 더 넓은 범위라 할 수 있다.

profile
Here is future Backend Developer's Velog

0개의 댓글