CS/운영체제 15

[운영체제] Process Synchronization 1

목차 1. Process Synchronization 문제 2. Process Synchronization 문제 해결 3. Deadlock과 Starvation Process Synchronization 문제 공유 데이터에 하나 이상의 주체가 가 동시에 접근하면 데이터의 불일치 문제를 발생시킬 수 있다. 이와 관련된 개념으로 Race condition이라는 것이 있다. Race Condition Race Condition은 여러 프로세스들이 동시에 공유 데이터에 접근하는 상황을 의미한다. 데이터의 최종 연산 결과는 마지막에 그 데이터를 다룬 프로세스에 따라 달라진다. E-box S-box CPU Memory 컴퓨터 내부 디스크 프로세스 프로세스의 주소공간 여러 프로세스의 시스템 콜에서의 문제 OS는 여러..

CS/운영체제 2022.07.16

[운영체제] CPU 스케줄링

목차 1. CPU 스케줄링 개요 2. 디스패처 3. 스케줄링 알고리즘 1. CPU 스케줄링 개요 1) 개념 어떤 프로세스가 대기해야 할 경우, 운영체제는 CPU를 그 프로세스로부터 회수해 다른 프로세스에 할당한다. 이 때 CPU 스케줄러는 어떤 프로세스에 CPU를 배정할지 결정한다 2) 선점형 스케줄링과 비선점형 스케줄링 CPU 스케줄링은 다음 네 가지 상황에서 발생할 수 있다. 선점형 스케줄링(2번, 3번) 프로세스가 CPU를 할당받아 실행 중이더라도 운영체제가 CPU를 강제로 빼앗는 방식이다. 시분할 시스템에서 타임이 만료되었거나, 인터럽트나 시스템 호출 종료 시 더 높은 우선 순위 프로세스가 발생 되었음을 알았을 때, 현 실행 프로세스로부터 강제로 CPU를 회수하는 것이다. 비선점형 스케줄링(1번,..

CS/운영체제 2022.06.13

[운영체제] 프로세스 관리

목차 1. 프로그램 실행과정 2. 프로세스 3. 스케줄러 4. 프로세스의 상태변화와 쓰레드 5. 프로세스 관리 1. 프로그램의 실행과정 1) 메모리 할당 과정 실행파일은 실제 메모리에 올라가기 전 가상 메모리에 올라간다. 가상 메모리에서는 각각의 프로세스가 주소값을 가지고 있다. 그 주소에는 세부적으로 stack, data, code가 있다. stack에는 함수 등의 값이, data에는 전역변수 등의 값이, code에는 우리가 작성한 코드가 할당된다. 이런 가상 메모리에서 필요한 부분만 실제 메모리에 할당되게 되고, 쓰지 않는 부분은 Swap area에 할당된다. ** 추가 등장 이유 PC는 폰 노이만 구조 기반으로, 프로그램 코드는 무조건 메모리 위에서 실행되어야 한다. 리눅스 프로세스는 하나에 4G인..

CS/운영체제 2022.06.07

[운영체제] 컴퓨터 시스템 구조

목차 1. 공개 소프트웨어/ 비공개 소프트웨어 2. 운영체제란? 3. Mode bit, Timer 4. 인터럽트 5. DMA 1. 공개 소프트웨어 / 비공개 소프트웨어 공개 소프트웨어 Linux, Android 비공개 소프트웨어 Windows 소프트웨어 시장은 1위가 독점하는 시장이다. 따라서 2위도 힘들게 만들었지만, 소비자들에게 판매를 할 수 없는 상황이 생긴다. 이에 오픈소스로 공개를 하는 소프트웨어가 생겨났다. 2. 운영체제란? 정의 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 협의의 운영체제(커널) 운영체제의 핵심 부분으로 메모리에 상주하는 부분 광의의 운영체제 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 목적 1. 운영체..

CS/운영체제 2022.06.02

[운영체제] cpu스케줄링, 메모리 관리, 디스크 스케줄링

목차 1. cpu 스케줄링 2. 메모리 관리 3. 디스크 스케줄링 운영 체제 기능: 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 1. cpu 스케줄링 개념 운영 체제는 프로세스들에게 CPU 등의 자원 배정을 적절히 함으로써 시스템의 성능을 개선할 수 있는데, 이를 cpu 스케쥴링이라고 한다. 1. cpu 큐에 프로세스가 p1,p2,p3를 들어온 순서대로 스케쥴링 하는 경우 p1가 24초를 사용하여 cpu를 사용하고, p2가 뒤를 이어 3초(24-27) p3가 뒤를 이어 3초(27-30)을 사용한다. average waiting = 17 2. 짧은 프로세스 순서대로 스케쥴링 하는 경우(SJF Short-Job-First) p1 = 6, p2 = 0, p3 = 3 average waiting = 3..

CS/운영체제 2022.05.31
728x90