리눅스 데브코스[3주차 - 2]<리눅스 살펴보기, 커리큘럼 상세 소개>

심우열·2023년 4월 18일
0

1. 시스템 콜이란?

1. 핵심 기능

  1. 운영체제 커널과 사용자 응용 사이의 인터페이스
  2. 운영체제의 기능을 활용할 수 있도록 제공하는 API
  3. 사용자 모드(user)에서 커널 모드(super user)로 진입하는 경로

2. 주요 시스템 콜

5개 핵심 시스템 콜

  1. open()
  2. close()
  3. read()
  4. write()
  5. ioctl()

그 외 프로세스 관리, 통신, 프로세스간 통신(IPC) 등을 위한 시스템 콜 존재

Unix 계열의 운영체제는 모든 리소스(디바이스, 네트워크 등)를 파일처럼 접근하게 함

3. 시스템 프로그래밍

  1. 시스템 콜을 적절히 활용하여 시스템 관리 소프트웨어를 작성하는 스킬
  2. 운영체제 지식과 시스템콜 활용 경험이 필요함

4. 읽어보면 좋을 책

Advanced Programming in the UNIX Environment,Stevens W Richard

2. 운영체제(커널)를 이루는 것들

3. 네트워킹 및 소켓 프로그래밍

  1. 네트워크 상의 두 개체를 연결, 정보 교환하기 위한 체계
  2. 네트워크 연결을 파일 입출력과 유사한 방법으로 구현
  3. TCP/IP 프로토콜 네트워크 지원
  4. 클라이언트-서버 프로토콜 구현

4. ARM 프로세서의 시대

1. ARM 프로세서 아키텍쳐

  1. 1990년 영국의 Acorn 사에서 독립
  2. 가장 간단하고, 가장 활용도 높은 프로세서 설계

2. ARM 프로세서 아키텍쳐의 특징

1.간단한 RISC 아키텍쳐
2. 저전력
3. 자체적으로 CPU를 생산하지 않음 (모두 설계 라이센스)
4. 성능 최적화를 위해 운영체제와 협력하는 기능 확대
5. 자동차, IoT, 가전, 서버 등에 활용

5. CPU 아키텍쳐에 대한 이해

1. RISC VS. CISC

파이프라인 구조, 레지스터의 수, CPU가 연산을 하는 방법에 따라 나뉨

연산 C=A+B

RISC : A, B, C 모두 레지스터에 있음, 빠른 속도의 예측가능한 시간에 연산 수행 가능

CISC : A와 B 중 어떤 값은 메모리에 있을 수 있음, Memory access가 필요하므로 속도 느림

2. Inclusion Property

메모리 계층 구조에서 지켜지는 원리

3. Locality

왜 Cache 메모리가 필요한가?

1. 공간적 Locality : 한번 접근되었던 메모리의 근처 메모리에 접근될 확률이 높다

  1. CPU가 메모리에 access해서 메모리 블럭(메모리의 n번 주소 ~ n+x번 주소)을 가져올때, Cache로 가져옴

2. 시간적 Locality : 한번 접근되었던 메모리는 다시 접근될 확률이 높다

  1. 다음 연산에 같은 메모리에 access하려는 경우 메모리 단계까지 내려가지 않고 Cache에서 가져와 실행속도 높임

4. Cache Coherence

멀티 프로세서에서 메모리 내용의 정확성 유지, 멀티 프로세서의 각 Cache 내용 동기화

5. Mode

Supervisor VS. User (Mode 별로 권한에 관한 내용)

6. Exception

특별한 처리가 필요한 사건(정상적인 사건 VS. 오류)

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글