2024/10/21 3

운영체제 - 프로세스 동기화

프로세스 동기화: 실행 순서와 자원의 일관성을 보장해야한다. 실행 순서 제어 : 프로세스를 올바른 순서로 실행하기  -> 1,2번 프로세스가 있을때, 1번이 반드시 실행되어야 2번이 실행될 수 있는것 상호배제: 동시에 접근해서 안되는 자원에 하나만 접근하기: 공유 자원, 임계 구역 *공유 자원: 파일, 입출력 장치, 전역 변수... *임계 구역: 공유자원에 접근하는 코드 *race condition : 임계구역을 동시에 실행 자원의 일관성이 깨지는 현상  교착상태: 서로의 자원을 무한히 기다리는 상태 조건- 상호 배제 : 한 프로세스가 임계구역에 진입했다면 다른 프로세스는 기다려야 함- 점유와대기 : 자원을 할당 받고 다른 자원 할당을 대기- 비선점 : 강제로 자원을 빼앗을 수 없는 상태- 원형대기 : ..

운영체제 - CPU 스케쥴링

CPU 스케줄링 : 한정된 CPU 로 여러 프로세스를 실행한다. 우선순위에 따른 프로세스 유형: I/O bound process(입출력 : IO burst), CPU bound process(CPU : CPU burst): i/o bound process > cpu bound process  i/o가우선순위가 높다  스케쥴링 큐 준비큐(ReadyQueue) : cpu 이용을 기다리는 큐대기큐(Run Queue) :  대기 상태 프로세스들이 기다리는 큐 선점형 스케쥴링: 현재 실행중인 프로세스의 자원을 뺴앗아 실행-> 문맥교환 과정에 오버헤드 발생 - SJF 스케쥴링  : 짧은 프로세스 먼저 실행 - 라운드 로빈   : 선입 선처리 스케줄링 + 타임 슬라이스만큼 실행  - 최소 잔여 시간 우선 스케줄링(S..

운영체제 - 리눅스 + 프로세스/스레드

운영체제란?: 윈도우, 맥 os, 리눅스 : 운영체제는 자원을 관리하고 할당하는 특별한 프로그램 : 응용프로그램 -> 운영체제 -> 하드웨어  * 커널 영역: 운영체제가 적재된 메모리 영역 * 사용자 영역: 응용 프로그램이 실행되는 메모리 영역  커널: 운영체제의 핵심 부분, 프로세스, 네트워크.. 자원 할당 소스코드 리눅스 설정 - 환경 설정virtual box : 윈도우 내에 리눅스 운영체제를 사용할 수 있게하는 프로그램 : https://www.virtualbox.org/wiki/Download_Old_Builds_7_0리눅스 ui : virtual box 에서 리눅스 실행할때, ui  이미지를 설정 https://releases.ubuntu.com/jammy/ - 설치 프로그램gcc 설치(오픈 소..