본문 바로가기

Operation System15

OS OS 개념 Operating System 하드웨어 관리, 컴퓨터 자원 관리, 응용 프로그램과 하드웨어 간 인터페이스 역할 사용자가 컴퓨터를 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 기능 프로세스 관리 운영체제에서 작동하는 프로그램 관리 현재 CPU가 점유할 프로세스를 결정하고 CPU를 할당하고 프로세스 간 통신을 관리 저장 장치 관리 1차 저장 장치(메인 메모리) 프로세스에 할당하는 메모리 영역 할당 및 해제 각 메모리 영역 간 침범 방지 가상 메모리 사용 2차 저장 장치(HDD, NAND, Flash Memory) 파일 형식 데이터 저장 파일 시스템 관리 네트워킹 인터넷에 연결하거나 응용 프로그램이 네트워크를 사용할 수 있도록 운영체제에서 네트워크 프로토콜을 지원 사용자 관리 하나의 PC에서.. 2023. 5. 10.
Race Condition Race Condition 개념 경쟁 상태 공유 자원에 대하여 여러 프로세스가 접근하려고 하여 결괏값에 영향을 줄 수 있는 상황 Race Condition 사례 커널 작업 도중 인터럽트 발생 발생 상황 커널 모드에서 데이터를 로드하여 작업하다 인터럽트가 발생하여 해당 데이터를 조작하는 경우 해결 방법 커널 모드에서 작업하는 상태에서는 인터럽트를 disabled시켜서 CPU 제어권을 막는다. System call을 통하여 커널 모드에서 context switching 발생 발생 상황 프로세스가 system call을 통해 커널 모드에서 작업하다가 context switching이 발생하여 다른 프로세스가 CPU 제어권을 가져가서 공유 자원에 접근하는 경우 해결 방법 프로세스가 커널모드에서 작업하는 경우 시.. 2023. 5. 6.
Paging and Segment Paging and Segment 개념 가상 메모리 프로세스의 물리적인 주소보다 더 큰 가상의 물리적 주소를 활용하여 실제 메모리보다 큰 주소값들을 사용해서 활용성을 높이는 것 물리 주소는 Frame으로 나뉘고, 논리적 주소는 page나 segment로 나뉜다. 단편화 데이터를 저장하고 그 사이에 존재하는 빈 공간이 발생하는 현상 외부 단편화 메모리 할당, 해제가 반복되면서 메모리에 저장된 데이터 사이에 존재하는 빈 공간 존재 내부 단편화 메모리를 할당할 때 프로세스가 필요한 양보다 더 크게 할당되어 메모리 공간이 남는 현상 Page 고정 분할 기법 논리적으로 같은 크기로 메모리를 분할한다. page mapping을 위해 page table 생성 연속적이지 않은 공간도 활용할 수 있기 때문에 외부 단편화.. 2023. 5. 3.
CPU Scheduling CPU Scheduling 개념 Scheduling CPU를 효율적으로 사용하기 위하여 프로세스를 적절히 할당하는 방식 Batch time 최대한 많은 일을 하는 것이 목표 Interactive system 빠른 시간 안에 응답하고 적은 대기 시간을 가지는 것을 목표 Real time system 기한을 맞추는 것을 목표 선점형 스케줄링 OS가 프로세스 작업을 강제 회수할 수 있는 권한을 가지는 경우 비선점형 스케줄링 프로세스 종료나 이벤트가 발생할 때까지 보장 프로세스 상태 전이 승인(Admitted) 프로세스 생성이 가능하여 승인 스케줄러 디스패치(Scheduler Dispatch) 준비 상태의 프로세스를 선택하여 실행 인터럽트(Interrupt) 이벤트가 발생하여 프로세스 상태를 실행에서 준비 상태.. 2023. 5. 2.