운영체제

Computer Science/Operating System

[OS] 가상 메모리(swap) 사용 시 CPU 점유율이 폭증하는 이유

연구팀을 위해 데이터를 뽑는 도중 큰 데이터를 뽑다가 서버를 터트렸다. 해당 원인에 대해서 공부했던 내용에 대해서 서술한다. 가상 메모리(swap)란? 가상 메모리는 물리적인 RAM이 부족할 때 디스크 공간의 일부를 RAM처럼 사용하는 시스템이다. 이는 임시 방편으로 RAM이 부족한 상황에서 프로세스를 계속 실행하게 해준다. 예를 들어, 사용자가 8GB RAM을 갖춘 컴퓨터에서 10GB의 메모리를 요구하는 대규모 응용 프로그램을 실행하려고 시도한다면, 실제 물리적인 RAM만으로는 충분하지 않다. 이때, 운영체제는 2GB의 데이터를 하드 디스크의 swap 영역에 저장하게 된다. 이로 인해 사용자는 마치 10GB의 RAM이 있는 것처럼 프로그램을 실행할 수 있다. 하지만, 디스크 I/O는 RAM보다 느리므로..

Computer Science/Operating System

[CS] 운영체제 - Deadlock

데드락이란 교착상태를 말한다. 일련의 프로세스들이 서로가 가진 자원을 기다리며 blcok된 상태를 말한다. Resource(자원) 자원은 하드웨어, 소프트웨어 등을 포함하는 개념이다. 예를 들어 I/O 장치, CPU cycle, memory space, semaphore 등이 있다. 프로세스가 자원을 사용하는 절차는 크게 4 단계를 거친다. request: 자원 요청 allocate: 자원을 획득 use: 자원을 사용 release: 자원을 반납 Deadlock 발생의 4가지 조건 데드락이 발생하려면 아래 4가지 조건을 모두 만족해야한다. Mutual exclusion(상호 배제): 매 순간 하나의 프로세스만이 자원을 사용할 수 있다. No preemotion(비선점): 프로세스는 자원을 스스로 내어놓을..

Computer Science/Operating System

[CS] 운영체제 - 프로세스 관리

프로세스 생성 부모 프로세스가 자식 프로세스를 생성한다. 프로세스의 트리를 형성한다. 프로세스는 자원을 필요로 한다. 이러한 자원은 운영체제로부터 받으며, 부모와 공유한다. 자원 공유 종류는 크게 3가지가 있다. 부모와 자식의 모든 자원을 공유하는 모델, 일부를 공유하는 모델, 전혀 공유하지 않는 모델이 있다. 수행: 부모와 자식이 공존하며 수행되는 모델과 자식이 종료될 떄까지 부모가 기다리는 모델이 있다. 자식은 부모의 주소 공간을 복사하고, 그 공간에 새로운 프로그램을 올린다. Copy-on-write란 내용이 바뀔때 카피해서 새로운 내용을 만드는것을 말한다. 프로세스 종료 프로세스가 마지막 명령을 수행한 후 운영체제에게 알려준다. (exit라는 system call을 사용함) 프로세스 종료시 자식이..

Computer Science/Operating System

[CS] 운영체제 - 시스템 구조와 프로그램 동작 방식

컴퓨터 시스템 구조 컴퓨터는 크게 CPU, Memory, I/O device 로 구성되어있다. 각 IO 장치에는 device controller가 붙어있다. CPU는 메모리에서 꺼내와서 프로그램을 실행한다. 컴퓨터 안에는 timer라는 하드웨어가 존재한다. timer는 특정 프로그램이 CPU를 독점하는 것을 막는다. Mode bit 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치가 필요한데 이 장치가 바로 Mode bit이다. Mode bit을 통해 하드웨어적으로는 두 가지 모드의 operation을 지원한다. 1 사용자 모드: 사용자의 프로그램을 수행한다. 0 모니터 모드(= 커널 모드, 시스템 모드): OS 코드를 수행한다. interrupt나 ..

얼은펭귄
'운영체제' 태그의 글 목록