기타
[리눅스] - 개요
파커초
2024. 2. 24. 23:41
리눅스란 무엇인가?
- 1991년 리누스 토발즈가 개발
- 리눅스는 운영체제임
- 다양한 배포판이 존재함
- 공통점
- 리눅스 커널(Linux kernel)
- GNU software
- 차이점
- 데스크탑 관리자
- 패키지 매니저
- 기본 파일 시스템
- 공통점
- https://distrowatch.com/ : 리눅스 배포판에 대한 정보를 담고 있는 사이트
운영 체제 (Operating System)
- 컴퓨터의 하드웨어와 소프트웨어 자원을 관리하는 시스템 소프트웨어
- 메모리를 어떻게 효율적으로 관리할지
- 작업을 어떻게 효율적으로 분배할지
구성 요소
- 커널(kernel)
- 핵심적인 역할을 하는 소프트웨어
- 하드웨어 관리
- 프로세스 관리
- System call
- 핵심적인 역할을 하는 소프트웨어
- 프로그램 실행과 멀티 태스킹
- 인터럽트
- 하드웨어 인터럽트(os에게 알려줌)
- 메모리 관리
- 컴퓨터를 구성하는 3대 요소: CPU MEM DISK
- CPU는 DISK 의 자원을 직접 접근하지 못함: MEM 을 통해서 읽어옴
- 컴퓨터를 구성하는 3대 요소: CPU MEM DISK
- 파일 시스템
- 디바이스 드라이버
- 각각의 디바이스를 잘 동작시키기 위한 작은 소프트웨어
- 네트워킹
- 사용자 인터페이스
패키지 관리 시스템
: (package management system)
- 기본 구조
- 사용자가 찾아줘 → 저장소를 봄 → 패키지를 찾아서 클라이언트에 보내줌
- client: Linux system, package manager
- server: repository
패키지 간 의존성
- A 패키지와 B 패키지가 있을 때 B 패키지는 A 패키지가 있어야만 돌아갈 때
- 패키지 관리 시스템은 이러한 의존성 관계들을 다 알고 있음
라이브러리 동적 로딩과 의존성
- 여러가지 기능들을 모아놓은 것
정적 라이브러리 (Static Linking)
- 라이브러리와 프로그램을 묶어버린것
동적 라이브러리 (Dynamic Linking)
- 공유 라이브러리를 만들어서 프로그램이 실행 될때 동적으로 라이브러리를 찾아서 실행 함
가상화
- 하나의 컴퓨터 위에 여러 os 가 올라가는 것
- Hypervisor 가 이를 가능하게 함
리눅스 가상 머신 설치
호스트
- Dual core 이상의 CPU
- 4GB 이상의 메모리
가상머신 관리자
- VMWare Player
- Virtualbox
리눅스 이미지
- Ubuntu 20.04
- Centos 7.x