컴퓨터공학/운영체제11 7. 병행 프로세스 ■ 병행 프로세스- 프로세스가 여러개 동시 실행.-독립적 수행or 협력도 하기도 함. (협력수행을 위해 동기화를 해야하기도 한다.) ■ 동작의 재현 가능? : 서로 협력한 프로세스가 없기 때문에, 자기만의 고유한 작업실행을 또 다시 실행하기 쉽다는 뜻. ■ 협력 프로세스 사용시 충돌이 발생할 수 있다는 문제가 있다. ■ 병렬처리여러 프로세서가 동시에 동작하는 것을 말하는 것으로 병렬 처리 시스템에서는 프로세서 관리자가 프로세서 간의 상호 동작에 대한 동기화뿐만 아니라 각 프로세서의 활동까지 제어한다.■ 운영체제가 자원 경쟁을 고려하여 같은 디스크나 프린터로의 접근을 조 ■ 프로세스끼리 인식하고 통신할 수 있게 함. ■ 병행 프로세스에서 해결해야할 문제들■ 일정한 실행 결과 보장 (결정성) : 주어진.. 2024. 7. 3. 6. 스케쥴링 알고리즘 ■ 선입선처리(FCFS) 스케줄링 - 비선점 방법으로 프로세서 스케줄링 알고리즘 중 가장 단순하고 프로세서 요청하는 순서대로 프로세서 할당, 선입선출FIFO 큐로 구현한다. 그리고 일괄 처리 시스템에서는 매우 효율적이나 빠른 응답을 요청하는 대화식 시스템에는 적합하지 않다.- 먼저 들어온 작업에 대해 먼저 처리해줄게!- 비선점 방식- 빠른 응답이 필요한 대화식 시스템에서는 비효율적 ■ FIFO 큐 : 자료구조에서 나온다. 먼저 들어온 거, 먼저 내보내겠다! ■ (b) 간트차트 : 각각의 프로세스들이 언제 들어왔고, 얼만큼의 시간을 가지고 프로세스를 사용했는지, 실행시간을 한눈에 볼 수 있는 차트 ■ 반환시간, 대기시간 구하기■ 반환 시간- P2를 예로 들자.- (38-1) = 37로 되어있다. 여기서.. 2024. 6. 25. 5. 프로세서 스케쥴링 ■ 스케쥴시스템의 목표를 달성할 수 있도록 프로세서를 할당하는 일련의 과정을 의미한다. 좋은 스케쥴링은 프로세서의 효율성을 높이고 시스템의 작업 처리 능력을 향상시키며 작업의 응답시간을 최소화한다. 그리고 스케쥴링은 각 프로세스의 실행 여부를 결정하기 때문에 시스템 성능에 영향을 미친다. ■ 스케쥴링 목적1- 단위시간당 처리량 최대화 : 유휴 시간을 최소화 한다는 뜻- 적절한 반환시간 보장 : 프로세스가 시작해서 끝날 때까지 걸리는 시간- 오버헤드 최소화 : CPU에서 과부화 발생시, 자원이 낭비된다. 이 과부화를 없애기 위해서는 자원이 필요하다. 그래서 스케쥴링이 필요한 것이다.- 자원 사용의 균형 유지 : 시스템 내에 자원들이 유휴시간이 없도록 만들어야한다. 즉 낭비없이 계속해서 자원을 돌리는 것이.. 2024. 6. 12. 4. 스레드의 개념 ■스레드-프로세스를 사용하는 기본 단위-프로그램을 실행하는 프로세스 내에 명령어를 독립적으로 실행할 수 있는 흐름 ■내가 좀 더 알아본 스레드 정의-프로세스 내에서 실행되는 여러 흐름의 단위-프로세스의 특정한 수행 경로-프로세스가 할당받은 자원을 이용하는 실행의 단위■경량 프로세스 = 스레드 라고 보면 된다. ■중량 프로세스-스레드 하나에 프로세스 하나인 전통적인 경우 ■ 동일 프로세스의 여러 스레드는 코드 영역, 데이터 영역, 운영체제 자원(예: 열린 파일, 시그널)을 공유.-아래의 그림을 참고하자. ■ 프로세스가 다수의 제어 스레드를 가진다면, 프로 세스는 동시에 하나 이상의 작업을 실행할 수 있음-예를 들면, 한컴 문서(하나의 프로세스) 중에 인쇄도 하면서 타자도 치고 있다.-하나의 폴더(프로세스.. 2024. 5. 26. 이전 1 2 3 다음