1. 동기화(Synchronization)란협력하여 실행되는 프로세스들은 실행 순서와 자원의 일관성을 보장해야 하기에 반드시 동기화 되어야 한다.즉, 프로세스 동기화란 프로세스들 사이의 수행 시기를 맞추는 것을 의미한다.실행 순서 제어: 프로세스를 올바른 순서대로 실행하기상호 배제: 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기+) 스레드도 동기화 대상이다. 1) 실행 순서 제어를 위한 동기화동시에 실행되는 프로세스를 올바른 순서대로 실행하는 것2) 상호 배제를 위한 동기화상호배제는 공유 불가능한 자원의 동시 사용을 피하기 위한 것. e.g. 생산자-소비자 문제 2. 배경생산자-소비자 문제에서 생산자와 소비자 프로세스는 공유메모리를 이용하여 공통된 변수와 버퍼를 공유한다. 각각의 프..
OS
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYOCdR%2FbtsG3yvwmHI%2FhR9WfNaHacNfrk9aIbeOsK%2Fimg.jpg)
1. 스케줄링 개념: 다중 프로그래밍의 목적은 항상 실행할 수 있는 프로세스가 있도록 하여 CPU 사용 효율을 극대화 하는데 있다. CPU - I/O 버스트 주기프로세스는 실행되는 동안 CPU 실행과 입출력 대기라는 두 주기를 반복한다.계산 중심 프로세스의 경우 적은 수의 매우 긴 CPU 버스트를 가지며, 입출력 중심 프로세스는 많은 수의 짧은 CPU 버스트를 가진다. CPU 스케줄러CPU가 유휴 상태가 되면 준비완료 큐에 있는 프로세스를 하나 선택해서 실행한다. 이 선택은 단기 스케줄러가 한다.CPU 스케줄링에 대한 결정은 4가지 상황에서 일어난다. 1. 한 프로세스가 실행 상태에서 대기 상태로 전환될 때(입출력 요청, 자식 프로세스들 중 하나가 종료되는것을 기다리기 위해 wait를 호출할 때)2. 프..
1. 운영체제란? 컴퓨터 하드웨어를 관리하는 프로그램이자 컴퓨터의 사용자와 컴퓨터 하드웨어 사이에 중간 매개체 역할을 해주는 프로그램이다.운영체제는 사용자에게 인터페이스를 제공하고 응용프로그램에 컴퓨터 자원을 골고루 배분하여 작업 환경을 만들어 준다. 적당한 시점에 응용 프로그램으로부터 자원을 회수하고 악의적인 응용 프로그램으로부터 컴퓨터를 보호한다. 컴퓨터 시스템의 구성요소: 하드웨어, 운영체제, 응용프로그램, 사용자컴퓨터 자원: 키보드, CPU, 메모리 등 2. 운영체제의 목표사용자에게 편리성을 제공하고, 컴퓨터 시스템을 효율적으로 운영하게 한다.컴퓨터 자원의 할당은 공정하고 효율적으로 이루어져야 한다. 3. 운영체제의 발전작업 방식 발전하드와이어링 시스템 → 일괄 작업 시스템: batch(한 번에 ..