인프런 워밍업 클럽 스터디 2기 - CS 3주차 미션

인프런 워밍업 클럽 스터디 2기 - CS 3주차 미션

운영체제

  1. 메모리의 종류는 어떤 것들이 있나요? 각 메모리의 특징도 함께 적어주세요.

    • 레지스터

      • 가장 빠른 저장 장소, 휘발성 메모리

    • 캐시

      • 메인 메모리에서 미리 가져온 데이터를 저장

    • 메인 메모리

      • 휘발성 메모리, 실행 중 프로그램을 올림

    • 보조저장장치

      • 비휘발성 메모리

  2. 사용자 프로세스가 메모리의 운영체제 영역에 침범하지 못하도록 만든 레지스터는 어떤 레지스터일까요?

    • 경계 레지스터

  3. 메모리 할당 방식에서 가변 분할 방식과 고정 분할 방식의 장단점은 뭔가요?

    • 가변 분할 방식

      • 장점 : 내부 단편화 없음

      • 단점 : 외부 단편화 발생

    • 고정 분할 방식

      • 장점 : 구현이 간단함, 오버헤드가 적음

      • 단점 : 내부 단편화 발생

  4. CPU 사용률을 올리기 위해 멀티프로그래밍을 올렸지만 스왑이 더 많이 이루어져 CPU 사용률이 0%에 가까워 지는 것을 뭐라고 할까요?

    • 스레싱

  5. HDD나 SSD는 컴퓨터를 실행시키는데 꼭 필요한 걸까요? 이유를 함께 적어주세요.

    • 필요함, 컴퓨터를 실행시킬 때 필요한 파일들이 저장되어있음

  6. 파일을 삭제해도 포렌식으로 파일을 복구할 수 있는 이유가 무엇일까요?

    • 파일 시스템이 파일의 모든 정보가 아닌 파일 테이블의 헤더를 삭제하고 Free Block List에 추가함

    • 사용했던 블록의 데이터는 그대로 남아있음


자료구조와 알고리즘

  1. 지금까지 배운 5개의 정렬 알고리즘의 장단점과 시간 복잡도를 적어주세요.

    • 버블 정렬

      • 장점 : 이해와 구현이 간단

      • 단점 : 성능 좋지 않음

      • 시간 복잡도 : O(n^2)

    • 선택 정렬

      • 장점 : 이해와 구현이 간단

      • 단점 : 성능 좋지 않음

      • 시간 복잡도 : O(n^2)

    • 삽입 정렬

      • 장점 : 이해와 구현이 간단

      • 단점 : 성능 좋지 않음

      • 시간 복잡도 : O(n^2)

    • 병합 정렬

      • 장점 : 성능 좋음

      • 단점 : 이해와 구현이 어려움

      • 시간 복잡도 : O(nlogn)

    • 퀵 정렬

      • 장점 : 성능 좋음

      • 단점 : 이해와 구현이 어려움

      • 시간 복잡도 : Θ(nlogn) ~ O(n^2)

  2. 메모리가 부족한 시스템에서 어떤 문제를 해결하는데 재귀로 쉽게 구현이 가능할 것 같습니다. 여러분이라면 메모이제이션과 타뷸레이션 중 어떤 걸 이용하실 건가요? 이유를 함께 적어주세요.

    • 타뷸레이션

      • 적은 메모리 사용임에도 성능이 좋음

댓글을 작성해보세요.

채널톡 아이콘