인프런 워밍업 클럽 CS 2기 - 1주차 발자국

인프런 워밍업 클럽 CS 2기 - 1주차 발자국

지난 일주일 동안의 강의 내용 중 일부를 발췌했습니다. 자세한 내용은 개인 노션 페이지에 타이핑했습니다.

자료구조와 알고리즘

  • 자료구조: 데이터가 어떤 구조로 저장되고 어떻게 사용되는지를 나타냄

     

    • 예시: 변수, 배열

  • 알고리즘: 어떤 문제를 해결하기 위한 확실한 방법

    • 자료구조에 따라 알고리즘이 달라짐. 즉, 자료구조에 많은 영향을 받음

    • 같은 자료구조더라도 여러 알고리즘이 있을 수 있음

  • 시간 복잡도: 특정 알고리즘이 어떤 문제를 해결하는 데 걸리는 시간

  • 특정 알고리즘의 성능을 평가할 때는 해당 알고리즘의 반복문을 보고 성능을 평가

  • 스택: First In Last Out(FILO): 먼저 들어간 데이터가 나중에 나온다.

  • 큐: First In First Out(FILO): 먼저 들어간 데이터가 먼저 나온다.

  • 덱: 데이터의 삽입과 제거를 head와 tail 두 군데서 자유롭게 할 수 있는 자료구조

    • 스택은 head에서만 처리할 수 있고, 큐는 head에서 삽입, tail에서 제거한다.

  • 해시테이블: 해시와 테이블이 합쳐진 자료구조

    • 테이블의 메모리를 적게 차지하고, 충돌이 덜 일어나도록 데이터를 골고루 분배시키는 좋은 해시 함수의 구현이 필수적

운영체제

  • 커널

    • 프로세스와 메모리, 저장 장치를 관리하는 핵심적인 기능을 담당

    • 사용자는 커널에 직접 접근할 수 없으며, GUI/CLI를 통해 접근함 

  • CPU를 구성하는 장치

    • 산술 논리 연산 장치: CPU에서 실제로 데이터 연산을 담당하는 장치

    • 제어 장치: 모든 장치들의 동작을 지시하고 제어하는 장치

    • 레지스터: CPU 내에서 계산을 위해 임시로 보관하는 장치

  • 메모리 종류

    • 램(RAM): 랜덤으로 데이터를 읽어도 저장된 위치와 상관없이 읽는 속도가 같음. 전력이 끊기면 데이터를 잃어버리기 때문에 메인 메모리로 사용

    • 롬(ROM): 전력이 끊겨도 데이터를 계속 보관할 수 있지만, 데이터를 한번 쓰면 수정할 수 없으므로, 컴퓨터의 부팅과 관련된 바이오스를 저장하는데 주로 사용

  • 멀티프로그래밍

    • 메모리에 여러 개의 프로세스가 올라온 것

       

  • 멀티프로세싱

    • 유니프로그래밍, 멀티프로그래밍을 메모리 관점에서 정의했다면, 멀티프로세싱은 CPU 관점으로 정의한 것

    • CPU가 여러 개의 프로세스를 처리하는 것

  • 컨텍스트 스위칭

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

    • 컨텍스트 스위칭이 일어날 때 PCB의 내용이 변경된다.

  • FIFO(First In First Out)

    • 먼저 들어온 작업이 먼저 나간다는 뜻으로, 스케줄링 큐에 들어온 순서대로 CPU를 할당받는 방식

    • 먼저 들어온 프로세스가 완전히 끝나야만 다음 프로세스가 실행될 수 있다.

회고

잘한 점

강의 계획 일정에 따라 밀리지 않고 들었다. 애매했던 개념을 잘 정리할 수 있어서 좋았다.

아쉬운 점

정해진 일정의 강의만 생각하다보니 생각의 유연함이나 확장이 부족했다. 주말 동안에 시간을 내서 보충했는데, 평일에 강의를 들으면서 조금만 더 시간을 투자하면 주말엔 다른 공부나 휴식하는 데 쓸 수 있을 듯하다.

목표

  • 꾸준히 강의 듣고 학습하기

  • 강의를 보면서 타이핑한 내용을 한 번만 보는 게 아니라 두 세번 보면서 이해하기

  • 이전에 배웠던 내용도 꾸준히 복습하기


미션(https://inf.run/yyYhZ)

미션을 해결한 과정

한 주 동안의 강의 내용을 정리한 것을 보면서 미션을 해결했다. 강의에서는 나오지 않았지만, 비슷한 예시는 해당 강의를 다시 보면서 힌트를 얻었다.

회고

강의와 똑같은 내용이 미션에 나오기보다, 비슷한 유형을 낸 미션이었다. 처음 만났을 땐 막막했지만, 강의 내용을 되새겨보면서 힌트를 얻을 수 있었고, 해결했다. 이후 미션에 어떤 문제가 나올지 모르겠지만, 최대한 적용할 수 있도록 강의를 한 번 보고 끝내는 게 아니라 이해할 수 있도록 노력해야겠다.

댓글을 작성해보세요.

채널톡 아이콘