<Linux Chapter 1> - 리눅스란 무엇인가? 1

심우열·2023년 1월 10일
0

Linux OS

목록 보기
2/10

리눅스란?

  1. 1991년 리누스 토르발스가 제작
  2. 리눅스는 운영체제(OS: Operating System)
  3. 다양한 배포판(distribution,distro)
    1. 공통점
      1. 리눅스 커널
      2. GNU software
    2. 차이점
      1. 데스크탑 관리자(gnome, KDE,...)
      2. 패키지 매니저(apt, yum,rpm,...)
      3. 기본 파일 시스템 등등

운영체제(Operating System: OS)

컴퓨터의 하드웨어와 소프트웨어 자원을 관리하는 시스템 소프트웨어
Hardware < Operating system < Application < User

1. 운영체제의 주요 구성 요소

1. Kernal

1. 가장 기본적이고 핵심적인 역할 수행하는 S/W
2. H/W(CPU, Memory, device, ...) 관리

2. 프로그램 실행과 멀티 태스킹

3. 인터럽트

4. 메모리 관리

5. 파일 시스템

6. 디바이스 드라이버

7. 네트워킹

8. 사용자 인터페이스

패키지 관리 시스템(Package management system)

1. 기본 구조

1.Linux System

리눅스의 여러 배포판 등 리눅스 시스템

2. Package Manager

1. 패키지를 관리하는 시스템
2. 예를 들면 안드로이드의 playstore, ios의 appstore, 파이썬의 pip ...
3. 패키지들 간의 의존성을 관리해줌

3. Repository

Package Manager 가 package를 찾아오는 저장소

2. 패키지 간 의존성

  1. 어떠한 패키지를 실행하기 위해서 다른 패키지를 필요로 하는 경우가 대다수임
  2. 이를 패키지 간 의존성 이라 함
  3. 이것을 관리해 주는 것이 패키지 관리 시스템

라이브러리 동적 로딩과 의존성

1. 라이브러리(library)

Ogg Vorbis 프로그램의 예시


1. Ogg Vorbis 프로그램이 음악을 플레이 하기 위해서는 좌측과 같은 라이브러리들을 필요로 한다.
2. 이를 라이브러리에 대한 의존성 이라 함.

2. 정적 라이브러리 vs. 동적 라이브러리

1. 정적 라이브러리

1. 위의 예시에서 프로그램과 라이브러리를 묶어서 하나의 실행파일로 제공하는것

2. 동적 라이브러리

1. Dynamic Linking
	1. 프로그램만 제공함 
	2. 서로 다른 프로그램에서 시스템에 설치되어 있는, 여러 프로그램에서 공유 가능한  Shared Library를 프로그램 실행시에 가져와 사용  
2. Dynamic Loading
	위의 과정을 동적 로딩 이라 함
profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글