분류 전체보기141 6.1. 프로세스 동기화 Process_Synchronization1 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 1. Synchronization의 필요 1.1. 데이터의 접근 이해를 돕기 위해 저장소를 Storage, 연산하는 곳을 Execution이라는 이름으로 임의로 지정한 상태이다. 컴퓨터 시스템에는 이런 구조가 자주 있다. 데이터가 저장된 곳에서부터 연산할 데이터를 받아서 연산을 하고, 다시 결과를 전달해주면 그것을 저장하는 것이다. 그림의 예시처럼 Memory, 디스크, 주소 공간 등의 경우이다. 여러 Execution박스가 Storage를 공유 시 문제가 생길 수 있다. 누가 먼저 읽어왔는가에 따라 결과가 달라질 수 있다. proces.. 2022. 7. 30. 5.2. CPU 스케줄링 CPU_Scheduling 2 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 1. Multilevel Queue 여러 줄로 cpu 사용을 기다린다 위로갈수록 우선순위가 높다. 우선순위가 높은 프로세스가 기다리고 있으면, 먼저 처리한다. 의문 프로세스를 어느 줄에 넣을 것인가? 무조건 우선순위 높은 프로세스만 우선하는가? 1.2. Multilevel Queue 예시 레디큐를 여러 개로 분할한다. -> interactive한 foreground와 interactive하지 않은 일괄처리를 하는 background 각 특성에 맞게 독립적인 스케줄링 알고리즘을 가지게 한다. 먼저 어느 줄에 cpu를 줄지 결정하고, 해당 줄에서 어느 프.. 2022. 7. 28. 5.1. CPU 스케줄링 CPU_Scheduling 1 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 1. CPU 스케줄링이란? CPU 스케줄링은 ready queue에 대기하는 프로세스 중 누구에게 CPU를 줄 것인가를 결정하는 작업이라고 한다. 컴퓨터 시스템 안에 있는 job들이 I/O bound job과 CPU bound job이 섞여 있어서 스케줄링이 필요하다. 크게 두 가지 이슈로 보자면, 먼저, 당장 어떤 프로세스에게 CPU를 줄 것인지를 결정해야 한다. 그리고 특정 프로그램에 CPU를 준 다음에는 CPU를 특정 시점에 가져갈 것인지, 해당 작업을 끝낼때까지 기다릴 것인지도 결정을 해야한다. 1.1. CPU burst, I/O burst C.. 2022. 7. 27. 4.2. 프로세스 관리 Process Management 2 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 1. 프로세스 관련한 시스템 콜 유닉스의 경우 fork() -> exec() 를 통해 자식 프로세스를 생성한다. 사용자 프로세스가 직접 못하고, 운영체제를 통해서만(시스템콜) 복제할 수 있다. 1.1. fork() 새거 만듦 fork()를 하면 해당 코드의 처음부터 실행되는 것이 아닌, fork()한 바로 다음 시점부터 실행된다. 부모의 fork 시점의 context를 복제했기 때문이다. 복제된 프로세스와 원본을 착각하지 않기 위해 장치가 마련되어 있다. 위 이미지를 보면, fork()함수의 return value(pid)로 부모 프로세스와 자.. 2022. 7. 26. 4.1. 프로세스 관리 Process Management 1 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 1. 프로세스 생성, 종료 1.1. 생성 부모 프로세스가 자식 프로세스를 생성하며, 프로세스의 트리 구조를 형성한다. 맨 위에 태초의 노드가 있다고 하면, 삼각형 구도로 자식노드가 연결되는 구조를 상상하면 되겠다. 프로세스는 자원(CPU, 메모리 등)을 필요로 하며, 보통 운영체제로부터 받는다. 자원 공유 방식 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 원칙적으로는 자식 프로세스가 생겨나면, 자원을 두고 경쟁하는 사이가 되며, 자원을 공유하지 않는다. 하지만 공유하는 모델도 존재한다. Copy-on-.. 2022. 7. 25. 3.2. 프로세스 Process 2,3 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 질문 동기식 구현방법 1,2 입출력 비동기식 입출력 다시 정리 1. Thread 1.1. Thread란? 경량화된 프로세스(lightweight process)라고도 한다. 프로세스 내부에 CPU 실행 단위가 여러 개인 경우 동일한 일을 하는 프로세스를 여러개 만든다면 별도의 프로세스를 만든다면 주소공간이 여러개 만들어지고 낭비가 생긴다. 주소공간을 하나 띄워놓고, 각 다른 코드 부분을 수행하도록 시킬 수 있다. PC 여러 개, 각 실행단위마다 어떤 레지스터, 어떤 코드를 별도로 유지한다. 스택도 별도로 두게 된다. 그림처럼 상태, 각종 자원 등은 공유한다. .. 2022. 7. 24. 이전 1 ··· 3 4 5 6 7 8 9 ··· 24 다음