본문 바로가기

IT22

[운영체제 OS] CPU 스케쥴링 기본 및 선점형 비선점형 알고 가기 운영체제(OS)의 주요한 과제 중 하나는 중앙처리장치(CPU)가 쉬지 않고 계속 일을 하도록 시키는 것이다. 그러기 위해서는 여러 준비 상태인 프로세스의 작업 순서 및 스케쥴을 맞춰야 하는 데 이를 도와주는 것이 스케쥴러이다. 스케쥴러는 크게 장기 스케쥴러와 단기 스케쥴러가 있는 데, 여기서 단기 스케쥴러가 다른 말로 CPU스케쥴러라고도 한다. 오늘은 이 CPU 스케줄러에 대해서 자세히 알아보자. CPU 스케쥴링 개념 (=단기 스케쥴러) 메모리에 있는 작업들 중 실행 준비가 완료된 작업을 선정하여 CPU에 배당하는 것으로 이를 통해 CPU 이용률을 최대화 하고자하는 목적이 있다. 다른 프로세스가 작업 처리 중인 프로세스를 빼앗을 수 있는지의 여부에 따라 선점 스케쥴링 기법과 비선점 스케쥴링 기법으로 나뉜.. 2023. 7. 18.
[운영체제 OS] 스레드(Thread) 개념과 멀티 쓰레드 간단히 이해하기 스레드에 대해서 알아보자 스레드는 CPU를 활용함에 있어 기본단위라고 할 수 있으며, 프로세스에서 실행의 개념만을 분리한 것이다. 프로세스의 구성을 제어의 흐름 부분과 실행 환경 부분으로 나눌 때 스레드는 제어 부분을 담당한다. 스레드 각각의 고유한 스레드 ID, 프로그램 카운터 ( PC: program counter ), 레지스터 (집합), 스택 ( stack )으로 구성되며, 코드(code), 데이터 섹션(Data section), 오픈 파일(Open files)과 같은 운영체제 자원을 공유한다. 공유영역 스레드 간의 값을 공유하는 영역으로 스레드 통틀어 공통된 값을 가짐. 고유영역 이 영역 내에서는 스레드 각각 다른 유니크한 값을 가지는 영역. 중복값을 가지면 안 됨. 스레드 ID : 각각 스레드를.. 2023. 7. 16.
프로세스 개념 및 PCB, 문맥교환(Context Switching) 알아보기 프로세스란? 프로세스는 여러 가지로 정의될 수 있으며, 일반적으로 실행 중인 프로그램이라는 개념으로 가장 잘 알려져 있다. 프로세스와 프로그램의 비교 프로세스는 능동성(activeness)을 띄고 있다면, 프로그램은 수동성(passivity)을 띄고 있다. 또한 여러 개의 프로세스를 통해 하나의 프로그램으로 구성될 수 있다. 이는 프로세스가 프로그램보다 작은 단위로 구성되어 있다고 해석할 수도 있다. 프로세스 메모리 내부 구조 위의 그림과 깊이 동적영역인 스택, 힙 영역과 정적 영역인 데이터, 텍스트 영역이 있다. 프로세스 5단계 상태 별 설명 시작(new) : CPU를 할당받기 위한 프로세스 초기 시작점. 준비(ready) : Admitted과정을 통해 CPU를 할당받을 수 있는 상태 실행(runnin.. 2023. 7. 13.
데이터베이스 정규화 [ 1차, 2차, 3차, BNCF ] 알아보기 데이터베이스 정규화 개념 데이터베이스 정규화는 데이터의 중복을 최소화하여 이상현상을 해결하고 데이터를 구조화하는 일련의 과정으로 수학적인 원리를 기반으로 하게 된다. 정규화를 해야 하는 이유 이상현상이란 데이터의 중복성으로 인하여 릴레이션을 조작 시 발생하는 비합리적 현상으로 이런 이상현상을 해결하려면 데이터의 중복을 제거하는 정규화가 반드시 필요한 것이다. 정규화를 통해 해결하고자 하는 이상현상은 다음 3가지로 나눌 수 있다. 삽입 이상 특정 데이터를 삽입할 때 불필요한 정보까지 함께 삽입되는 경우 발생하는 현상 수정 이상 특정 데이터를 갱신 시에 이 특정 데이터가 중복 저장되어 있을 경우 하나만 갱신하고 나머지는 갱신되지 않아 발생할 수 있는 데이터 오류 현상 삭제 이상 특정 데이터를 삭제하는 경우 .. 2023. 7. 10.