CS/운영체제

Gyoogle (규글)
[운영체제] 메모리 (Memory)
·CS/운영체제
메인 메모리(main memory) 메인 메모리는 CPU가 직접 접근할 수 있는 접근 장치 프로세스가 실행되려면 프로그램이 메모리에 올라와야 함 주소가 할당된 일련의 바이트들로 구성되어 있음 CPU는 레지스터가 지시하는대로 메모리에 접근하여 다음에 수행할 명령어를 가져옴 명령어 수행 시 메모리에 필요한 데이터가 없으면 해당 데이터를 우선 가져와야 함 이 역할을 하는 것이 바로 MMU 메모리 관리장치(MMU)는 논리 주소를 물리주소로 변환해줌 뿐만 아니라 메모리 보호나 캐시 관리 등 CPU가 메모리에 접근하는 것을 총 관리해주는 하드웨어임 메모리의 공간이 한정적이기 때문에, 사용자에게 더 많은 메모리를 제공하기 위해 '가상 주소'라는 개념이 등장 (가상 주소는 프로그램 상에서 사용자가 보는 주소 공간이라고..
[운영체제] 페이지 교체 알고리즘(Page Replacement Algorithm)
·CS/운영체제
[운영체제] 페이지 교체 알고리즘(Page Replacement Algorithm) 페이지 교체 알고리즘 페이지 부재 발생 → 새로운 페이지를 할당해야 함 → 현재 할당된 페이지 중 어떤 것 교체할 지 결정하는 방법 좀 더 자세하게 생각해보면? 가상 메모리는 요구 페이지 기법을 통해 필요한 페이지만 메모리에 적재하고 사용하지 않는 부분은 그대로 둠 하지만 필요한 페이지만 올려도 메모리는 결국 가득 차게 되고, 올라와있던 페이지가 사용이 다 된 후에도 자리만 차지하고 있을 수 있음 따라서 메모리가 가득 차면, 추가로 페이지를 가져오기 위해서 안쓰는 페이지는 out하고, 해당 공간에 현재 필요한 페이지를 in 시켜야 함 여기서 어떤 페이지를 out 시켜야할 지 정해야 함. (이때 out 되는 페이지를 vic..
[운영체제] Deadlock
·CS/운영체제
[운영체제] Deadlock 데드락(DeadLock) 프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는 상태'교착 상태'라고도 부름시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생 데드락이 일어나는 경우 프로세스1과 2가 자원1,2를 모두 얻어야 한다고 가정해보자t1 : 프로세스1이 자원1을 얻음 / 프로세스2가 자원2를 얻음t2 : 프로세스1은 자원2를 기다림 / 프로세스2는 자원1을 기다림 현재 서로 원하는 자원이 상대방에 할당되어 있어서 두 프로세스는 무한정 wait 상태에 빠짐→ 이것이 바로 DeadLock!!!!!! (주로 발생하는 경우) 멀티 프로그래밍 환경에서 한정된 자원을 얻기 위해 서로 경쟁하는 상황 발생한 프로세스가 자원을 요청했을 때, 동시에 그 자원을 사용할 수 없..
[운영체제] 뮤텍스(Mutex) & 세마포어(Semaphore)
·CS/운영체제
임계 영역(Critical Section) 하나의 프로세스가 자신의 임계 영역에서 작업하는 동안에, 다른 프로세스가 그 임계 영역에 들어오지 못하도록 경쟁 상황을 막는 것 임계 영역은 프로세스 영역 중 'Code'에 해당 코드 영역은 다음과 같이 나누어짐 [잔류 영역] [진입 영역] [임계 영역] [출구 영역] 진입 영역과 출구 영역에서 임계 영역 처리 중일 때 다른 프로세스가 끼어들지 못하게 처리 Linux에서는 이러한 처리를 뮤텍스와 세마포어를 이용 진입 영역에서 뮤텍스 lock을 통해 다른 프로세스 접근을 막아줌 프로세스의 임계 영역 처리가 끝나면 뮤텍스 unlock을 통해 다른 프로세스 접근 허용 임계 영역이 중단되지 않도록 하기 위해선 3가지 조건을 만족해야 함 상호 배제 (Mutual Excl..
[운영체제] CPU 스케줄링
·CS/운영체제
03_김규석_스케줄러2 [운영체제] CPU 스케줄링 스케줄링이 뭐였죠?!실행 중인 모든 프로세스들에게 골고루 CPU를 할당하는 것! CPU 스케줄링이 필요한 이유는?!CPU를 점유하고 있는 한 프로세스가 입출력 요청에 의해 wait 상태로 되었다고 생각해보자.이 프로세스가 다시 ready 상태로 올 때까지 기다리고만 있는 것은 매우 비효율적임다중 프로그램의 목적은 CPU 효율을 극대화 하는데 있으므로, CPU 스케줄링은 다중 프로그램을 지원하는 운영체제에서 필수적인 요소다!또한, 시스템의 용도에 따라 적절하고 효율적인 스케줄링 알고리즘을 선택하는 것도 매우 중요함 CPU 스케줄링이 일어나는 시점running → waiting (비선점 ex. 입출력 요청)running → ready (선점 ex. 인터럽트..
[운영체제] 스케줄러
·CS/운영체제
[운영체제] 스케줄러 [운영체제] 스케줄러 스케줄링이란?시스템이 실행하고자 할 때 프로세서(CPU)를 프로그램들에게 할당하는 과정 프로세스(Process)는 자신의 임무를 모두 수행하고 사라질 때까지 많은 큐를 돌아다님이때 프로그램들은 제한된 프로세서(CPU)를 서로 사용하려고 함OS는 이러한 프로세스 중 하나를 택하는데, 바로 스케줄러가 이러한 역할을 담당 가장 자주 사용되는 스케줄러는 장기 스케줄러와 단기 스케줄러(주로 일괄처리 시스템에서 사용) 실행 준비가 완료된 프로세스들은 준비 큐에 놓임프로세스는, 프로세서(CPU)를 할당 받을 때까지 준비 큐에서 대기함 장기 스케줄러(Long Term Scheduler)작업 스케줄러, 승인 스케줄러라고도 함디스크 내의 작업을 어떤 순서로 메모리에 가져올 지 결..
[운영체제] 프로세스/스레드
·CS/운영체제
1주차 스레드 [운영체제] 프로세스/스레드 프로세스사전적 정의 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램과거의 MS-DOS와 같은 운영체제에서는 한번에 한가지 작업만 가능했음. 이때 하드디스크에 설치 되어있는 프로그램을 메모리 상에서 실행중인 작업을 프로세스라고 함기본적으로 프로세스마다 최소 1개의 스레드를 갖고 있음 (각 프로세스는 별도의 주소공간 할당) 최근 대표적 운영체제(윈도우, 리눅스, 유닉스)에서는 한번에 여러가지 작업을 동시에 처리할 수 있음. 이처럼 여러개의 프로세스를 동시에 실행하는 것을 멀티태스킹이라고 함 하나 이상의 프로세스에서 병렬로 작업을 처리하는 것이 멀티프로세스 프로세스 구조 Code, Data, Stack, Heap의 구조로 되어있는 독립된 메모리 영역 할당받음C..
운영체제(Operating System)란?
·CS/운영체제
운영체제 운영체제란?디바이스를 유연하고 예측 가능한 방식으로 동작할수 있도록 하기 위해 소프트웨어와 하드웨어를 제어하는 프로그램컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어이며, 컴퓨터의 시스템을 편리하게 이용할 수 있고 자원(CPU, IO, HDD, Memory)을 잘 관리해 주는 것이다.따라서 자원 관리를 잘 해주는 것이 좋은 운영체제라고 말할 수 있음 운영체제 컴포넌트프로세스 관리메모리 관리파일 관리장치 관리프로세스 : 메인 메모리에서 실행 중인 현재 프로그램 운영체제 종류 일괄처리 운영체제다량의 작업을 모아서 한꺼번에 일괄적으로 처리하는 자동화 방식다량의 데이터를 처리하거나 단순 반복 처리, 초창기 컴퓨터에서 주로 사용했음한번에 하나의 프로그램 수행, 운영체제는 항상 ..
Gyoogle
'CS/운영체제' 카테고리의 글 목록