본 포스팅은 운영체제 스터디를 진행하면서 배운 내용에 대해 정리해둔 공간입니다.용어 개념 정리 부분은 강의를 수강하면서 기억이 잘 나지 않은 개념들에 대해서 간략하게 정리한것 입니다 ㅎInterruptCPU가 프로그램 실행 중, HW 또는 장치에 예외가 발생하여 처리가
프로세스(Process)메모리에서 실행 중인 프로그램BufferingBuffer에 데이터를 모았다가 사용하는 동작CachingCache라고 하는 메모리 영역으로 데이터를 가져와서 접근하는 방식데이터의 지역성 특성을 이용해서 성능 개선 달성지역성?공간 지역성한번 접근한
Multi Programming SystemCPU가 하나의 프로세스를 실행하는데 있어서, 대기상태를 가지게 되면 다른 프로세스의 루틴으로 변경한다.Time Sharing System각 프로세스마다 시간을 부여해서 지속적으로 변경하는 방법Process실행중에 있는 프로그
정의 : Main Memory 또는 Ready Queue에 프로세스들이 대기하고 있을때, 하나가 끝나고 다음것으로 넘어갈때 어느 프로세스를 선택할것인가를 결정하는 것Preemptive : 선점형CPU가 A 프로세스를 실행중에 있는데, Interrupt나 I/O가 발생하
먼저 온 순서대로 차례대로 CPU를 할당가장 간단하고 공평한 방법Non-preemptive scheduling위 FCFS를 하나의 예시를 들어 살펴보도록 합시다프로세스가 P1, P2, P3가 ReadyQueue에 순서대로 대기하고 있고, 각각의 프로세스들은 실행시간이
프로세스에는 많은 종류들의 프로세스들이 있다다양한 프로세스가 가진 기능 별로 그룹화를 지어보면 다음과 같다System processesInteractive processesInteractive editing processesBatch processes이외에도 다양한 프
프로세스는 프로세스에 의해 만들어진다OS가 부팅되면서 만들어진 초기 프로세스에 의해서 가지치기 형태로 계속 프로세스들이 생성된다부모 프로세스자식 프로세스프로세스 트리PID : Process Identifier프로세스별로 부여되는 유니크한 번호프로세는 프로세스에 의해 만
저번 포스팅까지 프로세스 CPU 스케쥴링에 대해서 알아보았습니다.CPU 스케쥴링에 대해서 공부하게 되면서 Thread에 대해서 간략하게 알아보았는데 확실한 개념을 잡아야할 것 같습니다.그래서 이번 포스팅의 주제는 Thread와 Process에 대한 총 정리 입니다!프로
뭔가 한 구역에 대해서 오류가 발생할 수 있는것Multi thread or Multi process 시스템에서 각각의 쓰레드는 코드 영역을 가지고 있는데 해당 코드 영역을 critical Section이라 함여러 쓰레드들이 공통으로 사용하는 변수 or 파일 or 데이터
프로세스 동기화요즘 컴퓨터에서는 스레드를 단위로 스위칭 되기 때문에 Thread Synchronization으로 생각하면 편하다프로세스의 종류두 프로세스가 서로 독립적이다 -> Independent Process두 프로세스가 서로 영향을 준다 -> Cooperating
지난 포스팅에서 Semaphore에 대해서 알아보았습니다.그때 살펴본 Semaphore는 오래된 동기화 도구이기에, 이번 포스팅에서는 Java에서 사용하는 동기화 도구인 Monitor에 대해서 알아보도록 하겠습니다.세마포어 이후 프로세스 동기화 도구의 일종세마포어보다는
지금까지의 포스팅들은 OS의 개요와 OS의 Process Management에 대한 내용들을 공부했습니다. 이번 포스팅 부터 OS의 또 다른 기능인 Main Memory Management에 대해서 알아보도록 하겠습니다.컴퓨터를 사용하는데 있어서 메모리는 항상 부족하다
옛날에는 OS가 없었기 때문에 단순히 메모리에 하나의 프로세스만 올려서 사용하였다.그 이후, 메모리에 하나의 프로세스와 OS가 함께 올라가는 형태를 취하다가현대에 들어와서 OS와 여러개의 프로세스를 동시에 메모리에 올려놓는 다중 프로그래밍 환경에 들어오게 되었다.다중
프로세스들은 자원들을 필요로 한다.자원? CPU, 메모리, 파일, 프린터어떤 자원은 갖고 있으나 다른 자원은 갖지 못할 때 대기해야 한다.다른 프로세스 역시 다른 자원을 가지려고 대기할 때 교착 상태가 발생할 수 있다.교착상태 필요 조건Mutual exclustion
가상 메모리를 사용하는 이유물리 메모리보다 큰 프로세스를 실행하기 위해예시) 100MB 크기를 가진 메인 메모리에서 200MB 크기의 프로세스를 실행할 때 사용가상 메모리를 사용하는 방법프로세스 이미지를 모두 메모리에 한번에 올려서 사용하지 않아도 된다현재 시점에서 필
Demand Paging을 통해 요구되는 페이지만 backing store에서 불러오게 되는데이때 요구되는 페이지는 점차 늘어나고 결국 메모리가 가득차는 문제가 발생한다이때 메모리가 가득찼는데도 추가로 페이지를 가져오기 위해어떤 페이지는 backing store로 다시