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

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

학습 했던 내용 요약

  • 자료구조 및 알고리즘

     

    • 재귀 : 자기 자신을 참조하는 것, 탈출 조건 필수! (하노이탑)

    • 버블 정렬 : 앞에 있는 숫자와 옆에 있는 숫자를 비교해서 자리를 바꾸는 알고리즘.

      • 구현하기 쉽지만 성능O(n²)은 좋지 않음.

    • 선택 정렬 : 배열에 정렬되지 않은 영역에서 가장 작은 원소를 가장 첫번째로 가져온다. 완료된 영역은 더이상 참조하지않고, 정렬되지 않은 영역만 이 과정을 반복해 정렬하는 알고리즘.

      • 이해와 구현이 간단하지만, 성능O(n²)은 좋지 않음.

         

       

  • 운영체제

     

    • 프로그램을 실행시키면 메모리에 프로세스가 생성되고 각 프로세스에는 1개 이상의 스레드가 있다.

       

    • 운영체제는 모든 프로세스에게 CPU를 할당, 해제하는데 이를 CPU 스케줄링이라 한다.

    • 스케줄링 알고리즘에는 FIFO,SJF,RR, MLFQ 가 있다.

    • FIFO (First In First Out) : 스케줄링 큐에 먼저 들어온 순서대로 CPU를 할당하는 방식이다.

    • SJF (Shortest Job First) : Burst Time(작업시간)이 짧은 프로세스 먼저 실행되는 방식이다.

    • RR (Round Robin) : 한 프로세스에게 일정 시간만큼 CPU를 할당하고, 할당 시간이 지나면 강제로 다른 프로세스에게 CPU 가 할당된다.

      강제로 CPU를 뺏긴 프로세스는 큐의 가장 뒷부분으로 밀려나는 방식이다.

    • MLFQ (Multi Level Feedback Queue) : 기본적으로 작은 크기의 타임 슬라이스를 선택하고, CPU 스케줄러에 의해 CPU가 뺏긴 상황이라면 , CPU Bound Process일 확률이 높으니 더 큰 타임 슬라이스를 할당 해주는 방식이다.


    • 공유된 자원에서 동기화 문제가 발생했고,

      이를 해결하기 위한 방법인 세마포어와 모니터방식이 있다.

      • 공유자원 : 프로세스 간 통신을 할 때 공동으로 이용하는 변수나 파일

      • 1. 세마포어 : 운영체제가 가지고 있는 열쇠로, 공유자원을 한 프로세스만 이용하게끔 관리

      • 2. 모니터 방식 : 따로 운영체제가 처리하는 것이 아니라, 프로그래밍 언어 차원에서 지원하는 것.

    • 동기화 문제를 해결하기 위해 공유된 자원을 한 프로세스가 점유하게 만들었는데 교착상태(데드락) 발생

      • 교착상태 (데드락) : 여러 프로세스가 서로 다른 프로세스의 작업이 끝나기를 기다리다가 작업을 진행하지 못하는 상태

      • 교착상태가 발생하는 원인 : 공유자원

      • 해결방법 :

        • 1. 가벼운 교착 상태 검출: 타이머 사용

          • 체크포인트를 만들어 저장하고, 타임 아웃시 마지막에 저장된 체크 포인트로 롤백

        • 2. 무거운 교착 상태 검출: 자원 할당 그래프 이용

          • 현재 운영체제에서 프로세스가 어떤 자원을 사용하는지 지켜보다가, 교착상태가 발생 시 해결

          • 순환 구조가 생긴 그래프를 통해 확인하고,

            교착 상태를 일으킨 프로세스를 강제 종료시킨다.

         

회고

  • 일주일 동안 스스로 칭찬하고 싶은 점

    • 일중일치 진도대로 인강을 다 수강하고, 미션과 발자국도 기한내에 진행한 점.

    • (인강을 수강하면서 정리한 내용)복습을 함께 진행한 점

  • 아쉬웠던 점

    • 토요일까지로 미션과 발자국을 미리 완수하고 싶었는데, 그렇지 못한 점.

       

  • 보완하고 싶은 점

     

    • 이해가 어려웠던 부분들은 더 찾아보면서 이해해보기

       

  • 다음주 학습 목표

    • 미션과 발자국을 마감기한보다 하루 일찍 완수하기

       

 



출처 : 그림으로 쉽게 배우는 운영체제 - 감자 , 그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)- 감자

댓글을 작성해보세요.

채널톡 아이콘