본문 바로가기

CS/운영체제2

[운영체제] 상호배재와 교착상태 1. 상호배재와 임계영역 상호배재 : A프로세스가 공유자원을 사용할 때 B프로세스가 제어하지 못하게 하는 것 임계영역 : 하나의 프로세스만 접근 할 수 있는 영역 ※임계영역 3가지 조건 : 상호배재, 진행(어느 프로세스가 진입할 지 결정), 한정대기(무한히 대기하면 안됨) 2. 상호배재 방법 세마포어 이진 세마포어 : 0과 1로 카운트하여 1개의 자원만 접근 하도록 설계된 세마포어 계수 세마포어 : n개 자원까지 접근 할 수 있도록 설계된 세마포어 문제점 : 세마포어가 프로그램이 전체에 퍼져있을때 세마포어의 영향을 파악하기 어려움 모니터 세마포어보다 제어하기 더 쉽게 만든 동기화 도구 한개의 프로세스만이 모니터에 접근 가능 프로시저, 공유데이터, 초기화코드로 구성됨 3. 교착상태 교창상태란 서로 다른 프.. 2021. 5. 24.
[운영체제] 프로세스와 쓰레드 1. 프로세스와 프로그램 프로그램 : 컴파일된 코드와 전역 변수 등의 정적 데이터를 가진 정걱인 개체 프로세스 : 프로세스는 현재 메모리에 올라가 동작중인 프로그램 멀티프로세싱 : 여러개의 CPU에서 여러개의 프로세스를 처리하는 것 멀티프로그래밍 : 1개의 CPU에서 여러개의 프로세스를 처리하는 것 멀티태스킹 : 다수의 작업(프로세스, 쓰레드 등)을 운영체제 스케줄링에 의해 번갈아가면서 처리하는것 ※ 멀티프로그래밍과 멀티태스킹 차이 : 멀티프로그래밍은 프로세스가 Idle일때 실행되고 멀티태스킹은 정해진 시간동안 번갈아가면서 실행 2. 프로세스의 메모리 구조 프로세스는 4개의 영역으로 나누어져 있다. 1) 스택 : 지역변수나 매개변수들이 저장되는 공간, Top-Down방향으로 높은 메모리 주소에서 낮은 메.. 2021. 5. 16.