[TIL/크래프톤 정글] DAY 13

배재준·2025년 3월 22일

크래프톤 정글 - TIL

목록 보기
8/93
post-thumbnail

2025.03.22

TIL(TODAY I LEARN)


  • WEEK02 :
    이분 탐색, 분할 정복, 스택, 큐, 우선순위 큐, Linked List, 해시 테이블

  • 컴퓨터 시스템 책(CSAPP)의 새로운 부분을 읽어보자

  • 이어서 알고리즘을 풀어보자


1.5 캐시가 중요하다.

  • 레지스터 ←——> 메인 메모리 수백 바이트 십억개의 바이트 100배 빠름 느림
  • 캐시 : 프로세서-메모리의 격차에 대응하기 위해 등장

1.6 저장장치들은 계층구조를 이룬다.

  • 꼭대기 ←—————→ 바닥

    fast ←—————→ slow

    small ←—————→ big

    expensive ←—————→ cheap

    레지스터 - L1 - L2 - L3 - 메인메모리 - 로컬저장소 - 원격 저장소


1.7 운영체제는 하드웨어를 관리한다.

  • OS(operating system) - 하드웨어와 소프트웨어 사이에 위치한 소프트웨어 계층
  • 목적
    1. 제멋대로 동작하는 응용프로그램들이 하드웨어를 잘못 사용하는 것을 막기 위해
    2. 응용프로그램들이 단순하고 균일한 메커니즘을 사용하여 복잡하고 매우 다른 저수준 하드웨어 장치들을 조작할 수 있도록 하기 위해
  • 위의 목적을 추상화를 통해 달성 → 프로세스, 가상메모리, 파일

1.7.1 프로세스

  • 실행중인 프로그램에 대한 운영체제의 추상화
  • 프로그램이 실행될 때 운영체제가 시스템에서 한개의 프로그램만 실행되는 것처럼 보여줌.
  • 컨텍스트 - 프로세스가 실행하는 데 필요한 모든 상태정보
  • 동시성(concurrency) - 문맥 전환(context switching)을 통해 동시에 실행하는 것처럼 보여줌.
  • 문맥 전환 - 실행중인 작업을 바꾸기 위해 상태(문맥)을 저장하고 복원하는 작업
  • 시스템 콜 - 사용자 프로그램이 운영체제(커널)의 기능을 요청할 때 사용하는 통로
  • 커널 - 운영체제의 핵심. 프로세스/메모리/디스크/입출력 제어 등을 담당

1.7.2 쓰레드(Thread)

  • 프로세스 내에서 실제 작업을 수행하는 실행 단위

→ 운영체제는 동시성을 위해

여러 프로세스/스레드를 번갈아 실행시켜야 하고,

이를 위해 컨텍스트 스위칭을 수행한다.

컨텍스트 스위칭은

  • 타임 슬라이스가 끝났을 때,
  • 시스템 콜로 인해 대기 상태가 되었을 때,
  • 인터럽트가 발생했을 때 등 다양한 상황에서 발생하며,

이때 커널이 개입해 현재 프로세스의 상태를 저장하고,

다른 프로세스의 상태를 복원한 뒤,

사용자 모드로 다시 실행을 이어간다.

1.7.3 가상 메모리

  • 각 프로세스들이 메인 메모리 전체를 독점적으로 사용하고 있는 것 같은 환상을 제공하는 추상화
영역용도주소
코드 영역 (text)실행 코드0
데이터 영역 (data)전역변수, static 변수
힙 (heap)동적 메모리 (malloc, new 등)
⬇️
⬆️
스택 (stack)지역변수, 함수 호출 정보
커널 영역시스템 호출용 (유저가 직접 접근 불가)N

1.7.4 파일

  • 연속된 바이트들
  • 모든 입출력장치는 파일로 모델링

0개의 댓글