Search
Duplicate
📒

[Linux CLI] 01-1. 운영체제와 커널

상태
완료
수업
Linux
주제
연관 노트
3 more properties
참고

유닉스(UNIX)와 리눅스(Linux)

NOTE
UnixLinux는 운영체제이다.
유닉스의 역사
Unix
대부분의 컴퓨터 운영체제의 원형이된 OS이다.
다중 사용자, 다중 작업을 지원하는 신뢰성 높은 운영체제
Linux
Unix 계열의 운영체제이며, Unix의 무료공개 버전
오픈소스로 자유롭게 배포되어 지속적으로 발전해옴

리눅스의 등장

NOTE
정보) 리누스 토르발스는 펭귄을 좋아해서 리눅스의 로고로 선택함
리눅스에서 배우는 요소들
리처드 스톨먼이 UNIX와 유사한 공개 운영체제를 개발하기 위해 GNU(GNU is Not Unix) 프로젝트를 시작
리눅스 커널과 GNU 프로젝트의 여러 소프트웨어들이 합쳐져 완전한 운영체제 GNU/Linux가 완성됐다.
리눅스는 역사상 가장 규모가 크고 널리 보급되었으며 가장 중요한 오픈소스 프로젝트라 할 수 있다.

Linux vs Unix

특징\운영체제
리눅스
유닉스
비용
무료, 일부 유료이지만 windows 보다 저렴
유료, 가격은 회사마다 각각 다름
개발배포
오픈소스 프로젝트
회사마다 개발과 배포가 각각 다름
GUI
GNOME, KDE  두 가지 GUI를 제공하나, 다른 GUI들도 많음GNOME(GNU Network Object Model Environment): 유닉스 운영체제를 위한 오픈 소스 데스크탑 환경이며 GNU 프로젝트의 공식 데스크탑
원래 CLI 기반이었으나 GNOME을 제공
텍스트 인터페이스
리눅스의 기본 쉘인 BASH (Bourne Again SHell)
원래는 Bourne Shell이지만, 현재는 BASH를 포함한 다른 쉘들과 호환
Ubuntu, Fedora, Red Hat, Debian, Archlinux, Android 등
OS X, 모든 리눅스

GNU

유닉스와 완벽하게 호환되는 오픈소스 소프트웨어 시스템
GNU가 유닉스 계열이지만, 오픈소스인 점과, Unix코드를 포함하지 않는다는 차별점

운영체제(커널)

NOTE
프로그램 실행에 필요한 요소들을 시스템 자원이라 하는데, 실행할 프로그램에 자원을 할당하고, 올바르게 실행되도록 돕는 프로그램운영체제라고 한다!
운영체제는 메모리에 올라가고, 커널영역에 할당된다!
운영체제를 정부와 비교해보자! (관리자 개념이라 보면 좋음)
응용 프로그램들이 하드웨어의 자원들을 어떻게 사용할지에 대해 관리해준다.
printf의 함수도 운영체제의 도움을 받아 출력되는 것

운영체제는 왜 필요한가?

NOTE
운영체제가 필요한 이유는 운영체제의 주요 기능이 다양한 하드웨어를 추상화하고 API를 제공하는것이기 때문, 커널은 이 API를 제공한다.
커널의 이중모드에 대해서는 다음에 다룬다.
다른 계층간의 인터페이스는 리눅스 운영체제 패키지의 일부이며 잘 정의되어 있다.
사용자 영역 - 커널 ⇒ 시스템 콜 인터페이스
하드웨어 - 커널 ⇒ 개별 인터페이스(CPU, 메모리, 인터페이스 ..)

터미널, 쉘

NOTE
위와 같은 흐름으로 우리는 CLI를 사용한다!

터미널(Terminal)

입출력이 가능한 하드웨어로서, 명령어를 입력받고 출력하는 곳이다.
쉘을 실행하기 위한 껍데기라 생각하자!

쉘(Shell)

운영체제 상세어 다양한 운영체제 기능과 서비스를 구현하는 인터페이스 제공
명령어를 해석하고 커널로 전달되어 명령을 실행하게 된다.
대표적으로 Bash가 존재하며 Fish, ZSH와 같은 다양한 Shell이 존재한다.

패키지 설치

NOTE
리눅스의 주요 모듈은 패키지 매니저를 통해 설치가 가능하다
yum
레드헷 계열
CentOS
apt-get
데비안 계열
우분투
dpkg
우분투 계열에서 사용
파일로 패키지를 설치할 때 사용한다.