[리눅스 입문 - 개념으로 탄탄히!!] 인프런 강의, 강의 자료를 참고해 정리한 내용입니다.
강의 링크: https://inf.run/cqqom
강의자: ProgCoach4U
섹션 0. 리눅스란 무엇인가?
리눅스란 무엇인가?
- 리눅스의 종류: Ubuntu(linux), centOS, SUSE…
- 단체나 회사가 목적을 가지고 특수한 특징으로 각각 리눅스를 만들어 배포한 것으로 각자의 니즈에 따라 골라서 사용하면 된다.
- 가장 많이 사용하는 리눅스: Ubuntu
운영체제(Operating System, OS)
- 컴퓨터의 하드웨어와 소프트웨어 자원을 관리하는 시스템 소프트웨어
- 하드웨어(CPU, 하드디스크, 메모리, GPU…) 위에 올라가는 시스템 소프트웨어
- 운영체제가 애플리케이션(소프트웨어)이 동작할 수 있게 관리, 하드웨어랑 애플리케이션을 유기적으로 연결해줌
![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Operating_system_placement.svg/248px-Operating_system_placement.svg.png)
- 예시: 리눅스, 윈도우, ios, 안드로이드 등등
운영 체제의 주요 구성요소
- 커널
커널 = 운영체제
가장 핵심적인 역할 수행.
하나의 소프트웨어로 하드웨어(CPU, 메모리, 다른 디바이스..)를 관리
프로세스 관리.
시스템 콜(프로세수가 커널한테 요청하는 것을 처리)
- 인터럽트
하드웨어가 운영 체제에게 보내는 요청
컴퓨터 시스템에서 발생하는 이벤트나 조건으로, CPU가 현재 수행 중인 작업을 중단하고, 특정한 처리를 하도록 하는 메커니즘
- 프로그램 실행과 멀티 테스킹
프로세스 스케줄러
멀티 테스킹 - 운영 체제가 메모리가 얼만큼 있고 어떻게 사용중인지 파악하는 것이 중요
- 메모리 관리
하드웨어 관점 - 저장 장치(하드디스크)에 실행한 프로그램이 저장되어 있음. 그 프로그램을 메모리로 땡겨와서 로드함. CPU가 메모리에 있는 프로그램을 가져와서 실행.
![](https://velog.velcdn.com/images/harper_young/post/0ef629e1-5877-4f6f-97ef-acf9ce316160/image.jpg)
- 파일 시스템
컴퓨터에 하드디스크(hdd, sdd, usb...) 여러개 연결. 이러한 저장 장티들에 파일이라는 단위로 뭔가를 저장.
운영 체제가 어떤 디렉토리의 어떤 폴더에 있는 파일을 열라는 명령을 하면 이제 파일 시스템이 찾아서 운영 체제에 전달.
- 디바이스 드라이버
각각의 디바이스를 잘 동작시키기 위한 작은 시스템 소프트웨어
운영 체제와 같이 동작
- 네트워킹
운영체제의 한 부분 - 네트워크 스택
- 사용자 인터페이스(UI)
패키지 관리 시스템
인터넷 상 어딘가에 있는 repository를 접속해서 패키지를 요청하면 찾아서 응답함
- 라이브러리 동적 로딩과 의존성
![](https://velog.velcdn.com/images/harper_young/post/64800438-1fad-41d7-93f3-b38a7dcb1d38/image.jpg)
![](https://velog.velcdn.com/images/harper_young/post/7fbc4de0-99aa-4c31-a97f-76f79318386b/image.jpg)