본문 바로가기

운영체제6

프로세스 상태 먼저 프로세스 상태를 관리하는 스케줄러에 대해 정리해야겠다. 스케줄러는 크게 3가지로 장기, 중기, 단기 스케쥴러가 있다. - 장기 스케줄러(Job Scheduler): 대용량 메모리(디스크 등)에 있는 적재되어있는 프로세스들 중 일부 프로세스를 골라 메모리를 할당하여 바로 실행시킬 수 있는 상태로 변화시킨다. *프로세스 상태 new -> ready - 중기 스케줄러(Swapper): 메모리 여유 공간의 확보를 위해 일부 프로세스에 할당된 메모리를 해제시킨다. *프로세스 상태 ready -> suspended - 단기 스케줄러(CPU Scheduler): Ready Queue에 있는 프로세스를 실행시키고, 실행 중인 프로세스에 I/O나 인터럽트 발생 시 잠시 대기 상태로 변경하고 처리가 완료되면 다시 준.. 2021. 11. 19.
교착상태(Deadlock) 교착상태(deadlock)란 프로세스가 자원을 얻지 못하여 작업이 진행되지 못하는 상태. 한정된 자원을 여러 프로세스에서 동시 접근하려고 할 때 발생. 발생하는 경우 - 멀티프로그래밍 환경에서 한정된 자원을 얻기 위해 프로세스들이 서로 경쟁하는 경우 - 프로세스가 자원을 요청했을 때, 해당 자원이 이미 점유되어 있다면 대기 상태로 빠짐. 대기 상태에서 실행 상태로 변경이 불가능한 경우 예를 들어, P1이 R1을 P2가 R2를 각각 할당받은 상태에서 P1->R2, P2->R1 다음과 같이 자원을 요청한다면 두 프로세스 모두 무한 대기 상태에 빠지는데, 이러한 상태를 DeadLock이라고 하는 것! 발생 조건 - 4가지 모두 성립해야 데드락 발생 1. 상호 배제(Mutual Exclusion) 자원은 한번에.. 2021. 8. 19.
CPU 스케줄링 스케줄링 최고의 성능을 내기 위해 자원을 어떤 프로세스에 얼마나 할당하는지 정책을 만드는 것 스케줄링은 한마디로 최대한 평등하게, 효율적으로 자원을 활용하여 작업(프로세스)을 처리하는데 그 목적이 있다. 종류 Batch System: 가능한 많은 일 수행, 시간보다 처리량이 중요 Interactive System: 빠른 응답, 적은 대기시간 Real-Time System: deadline, 기한을 맞추는 것이 중요 선점: 운영체제가 CPU 사용권을 선점할 수 있는 경우. 진행 중인 프로세스가 있을 때, 다른 프로세스로 변경 가능 종류 라운드 로빈(Round Robin) 스케줄링 각 프로세스에 Time Quantum을 부여, Time Quantum만큼 수행 후 대기 Queue 맨 뒤로 보내짐. 시분할 방식.. 2021. 8. 18.
프로세스와 스레드 프로세스와 스레드 프로세스: 메모리상에서 실행 중인 최소 작업 단위 스레드: 프로세스 안에서 실행되는 작업 단위 프로세스는 각각 별도의 주소 공간 할당(독립적) Code: 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data: 전역 변수, 정적 변수, 배열 등(초기화된 데이터) Heap: 동적 할당 시 사용(new(), malloc()등) Stack: 지역변수, 매개변수, 리턴값(임시 메모리 영역) 스레드는 Stack만 따로 할당받고 나머지 영역은 서로 공유 하나의 프로세스가 생성될 때, 기본적으로 하나의 스레드를 함께 생성 프로세스는 자신만의 고유 공간과 자원을 할당받아 사용하는데 반해, 스레드는 다른 스레드와 공간, 자원을 공유하면서 사용하는 차이가 존재함 멀티 프로세스 Vs 멀티 스레드 멀티 .. 2021. 8. 18.
운영체제의 역할 운영체제 HW를 관리하고, 응용 프로그램과 HW 사이의 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어. 운영체제의 역할 1. 프로세스 관리 운영체제에서 동작하는 응용프로그램을 관리. 현재 CPU를 점유할 프로세스를 결정하고, 자원을 분배하며 프로세스 간 공유자원 접근과 통신 등을 관리. 프로세스, 스레드 스케줄링 동기화 IPC(InterProcessCommunication) 통신 각각의 Process 완전히 독립된 실행 객체이다. 따라서 상호 통신을 위해서는 별도의 매개체가 필요하다. 이를 위해 커널 영역에서 내부 프로세스 통신(IPC)을 제공 2. 저장장치 관리 메인 메모리, 하드디스크, NAND 등을 관리 1차 저장장치(메인 메모리) - 프로세스에 할당하는 메모리 관리 - 가상 메.. 2021. 8. 18.
[OSTEP] 운영체제 개요 앞으로 OSTEP를 공부하면서 운영체제에 대한 이론 정리 및 내가 이해한 내용을 정리할 계획이다 OS 개념 컴퓨터 시스템의 자원을 요청받은 프로세스에 효율적으로 분배하는 할당자, 관리자 OS 평가항목 처리량 : 일정 시간 내 시스템이 처리하는 일의 양 반환 시간 : 시스템에 작업을 의뢰 ~ 처리 완료된 시간 ex) 5ms에 요청하여 50ms에 프로그램이 종료되었다면 반환시간은 45ms 신뢰도 : 시스템이 주어진 문제를 정확히 해결하는 정도 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 자원관리 프로세스 관리 : 프로세스 스케쥴링, 동기화, 생성 및 제거, 시작 및 정지, 메시지 전달 등 기억장치 관리 : 프로세스에게 메모리 할당 및 회수 관리 주변장치 관리 : IO장치 스케쥴링,.. 2021. 1. 1.