🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

[워밍업 클럽] CS 전공지식 2주차 발자국

[워밍업 클럽] CS 전공지식 2주차 발자국

운영체제

프로세스 동기화

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

  • 임계 구역(Critical Section) : 여러 프로세스가 동시에 사용하면 안되는 영역

  • 경쟁 조건(Race Condition) : 공유 자원을 서로 사용하기 위해 경쟁하는 것

  • 상호 배제(Mutual Exclusion) : 임계 구역 문제 해결하기 위한 메커니즘

    • 상호 배제 요구사항


      1. 임계영역엔 동시에 하나의 프로세스만 접근한다.


      2. 여러 요청에도 하나의 프로세스의 접근만 허용한다.


      3. 임계구역에 들어간 프로세스는 빠르게 나와야한다.

    • 세마포어 : 상호 배제 메커니즘/정수형 변수/동기화 방지/잘못 사용할 가능성 있음

    • 모니터 : 세마포어 단점 해결한 상호 배제 메커니즘/프로그래밍 언어 차원에서 지원(예: 자바의 synchronized)

데드락

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

    공유자원 때문에 발생

  • 교착상태의 필요조건

     

    • 상호배제

    • 비선점

    • 점유와 대기

    • 원형 대기

       

  • 교착상태 회피(Deadlock avoidance) - 은행원 알고리즘

  • 교착상태 검출

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

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

자료구조

재귀

  • 어떠한 것을 정의할 때 자기 자신을 참조하는 것

  • 재귀 함수는 호출할 때마다 콜스택의 영역을 차지

  • 기저 조건(탈출 조건)이 반드시 있어야

  • 하위 문제의 결과를 기반으로 현재(상위) 문제 계산하는 데 유용(하향식 계산)

     


회고

칭찬하고 싶은 점

강의를 듣고 주력 언어인 자바로 복습하고 있다.

아쉬웠던 점

계획보다 진도가 밀려서 목표한 학습량을 채우지 못한 점

보완하고 싶은 점

공부한 내용을 나의 언어로 정리해서 발행하기(Output 만들기)

댓글을 작성해보세요.


채널톡 아이콘