[인프런 워밍업 클럽 스터디 3기] CS - 1주차 발자국

[인프런 워밍업 클럽 스터디 3기] CS - 1주차 발자국

학습 내용


운영체제

  • 폴링 방식: 주기적으로 CPU를 확인하여 I/O 완료 확인

  • 인터럽트 방식: I/O 완료 시 CPU에게 신호를 주고, ISR을 실행 시켜 작업 완료

  • 프로세스: 하드 디스크에 저장된 프로그램이 메모리에 올라간 상태

  • 프로세스 구조: 코드 영역, 데이터 영역, 힙 영역, 스택 영역

  • C 언어에서 프로그램이 되는 과정:

    C언어 -> 전처리기 -> 컴파일 -> 링커 -> .exe 파일

     

  • 프로그래밍과 프로세싱

    • 유니 프로그래밍: 메모리에 하나의 프로세스만 처리하는 것, I/O 작업동안 CPU는 쉼

    • 멀티 프로그래밍: 메모리에 여러 프로세스를 처리하는 것, I/O 작업동안 다른 프로세스 처리

    • 멀티 태스킹: 모든 프로세스를 번갈아가면서 실행하는 것

    • 멀티 프로세싱: CPU를 여러개 사용해서 작업을 처리하는 것

  • PCB

    • 프로세스의 정보를 저장하는 블록, 연결리스트로 PCB 연결

    • 구조: 포인터, 프로세스 상태, 프로세스 ID, 프로그램 카운터, 레지스터 정보 등

    • 프로세스 상태: 생성 New -> 준비 Ready -> 대기 Waiting -> 실행 Running -> 종료 Terminated

  • 컨텍스트 스위칭

    • 프로세스 실행 중 다른 프로세스를 실행하기 위해 현재 상태를 저장하고 새 프로세스의 상태값으로 교체하는 작업

       

    • 스위칭 이유: CPU 점유 시간 오버, Input 요청, 인터럽트 등

  • 스레드

    • 프로세스 내부에서 실행되는 가장 작은 작업 단위

    • 스레느는 프로세스 내 1개 이상, PCB와 코드, 데이터, 힙 영역 공유

  • CPU 스케줄링:

    프로세스를 우선순위에 따라 CPU에 할당하는 방법

  • FIFO(First In First Out): 먼저 들어온 작업이 먼저 나가는 것

    • 단점: 비효율적, 프로세스 작업이 완전히 끝나는 걸 기다려야함

  • SJF(Shortest Job First): Burst Time이 짧은 프로세스를 먼저 실행

    • 단점: 프로세스 종료 시간 예측 어려움

  • RR(Round Robin): 모든 프로세스에게 일정 시간만큼 할당

  • MLFQ(Multi Level Feedback Queue): 우선 순위에 따라 프로세스 할당

     

알고리즘 & 자료구조

  • 시간 복잡도: 특정 알고리즘이 문제를 해결하는 데 걸리는 시간 (Big-O로 표시)

  • 컴퓨터 사양이 모두 다르기 때문에 시간을 직접적으로 평가하기는 쉽지 않음

  • 배열:

    연속적으로 메모리에 할당되는 자료구조

     

  • 연결 리스트:

    모든 노드가 연결되어있는 자료구조

     

  • 스택:

    FILO LIFO 먼저 들어온 요소가 나중에 나가는 형태

     

  • :

    FIFO 먼저 들어온 요소가 먼저 나가는 형태

     

  • :

    tail, head에서 삽입/삭제가 가능한 형태

     

  • 해시테이블:

    키-값 구조로 데이터를 저장하는 자료구조

    • 해시 함수: 입력값으로 고정된 길이의 해시값을 출력하는 함수

       

  • :

    데이터의 중복을 허용하지 않는 자료구조

     

 

회고


  • Keep

    • 매일 시간표대로 강의를 수강하고, 학습한 내용을 꼼꼼히 노션에 정리했다.

    • [미션] 노션에 정리한 내용을 토대로 미션을 해결했다.

  • Problem

    • 해시테이블에 대해 이해가 부족하다는 생각이 들었다. 객체와 맵, 해시테이블의 차이점이 뭔지 정확히 알고 있어야 할 것 같다.

    • [미션] 해시 함수 작성할 때 해시값에 현재 배열의 길이를 나눈 나머지를 사용했는데, 이걸 더 깔끔한 방식으로 풀어야하는지 아직도 고민중이다.

       

  • Try

    • 이번 주차 내용 복습하기

    • [미션] 이번 주차 미션 다시 풀어보기

댓글을 작성해보세요.

채널톡 아이콘