본문 바로가기

학교 공부54

[운영체제] CPU 스케줄링 알고리즘 ■CPU 스케줄링 알고리즘■ ① FCFS(First Come First Service) : 가장 간단한 CPU 스케줄링 알고리즘으로, 대기 큐에 도착한 순서에 따라 CPU를 할당한다. 또한 비선점 스케줄링 기법이다. ② SJF(Short Job First) : SJF 스케줄링은 장기 스케줄링에서 자주 사용되는 알고리즘이며, 수행 시간이 가장 짧다고 판단되는 프로세스부터 먼저 CPU를 할당한다. FCFS보다 평균 대기 시간을 짧은 것에 비해, 큰 작업에 대해서는 FCFS 보다 대기 시간 예측이 어렵다. 비선점 스케줄링 기법이다. ③ 라운드 로빈 스케줄링(Round Robin Scheduling) : RR 스케줄링은 CPU 시간이 만료될 때까지 처리를 완료하지 못할 경우, CPU는 준비 큐에 있던 다음 프로.. 2020. 3. 5.
[운영체제] CPU 스케줄링이란? CPU 스케줄링(CPU Scheduling)이란? : 컴퓨터 자원을 효율적으로 관리하기 위해 프로세스들 사이에서 CPU 할당을 위한 우선순위를 관리하는 일 □역할에 의한 구분□ 1) 장기 스케줄러(Long-Term) - 실행할 작업을 준비 큐에서 꺼내 메인 메모리에 적재함. >> 작업 스케줄링, 상위 스케줄링으로도 불림 - 메인 메모리에 적재된 프로세스의 양을 판단하여 조절함. >> 멀티 프로그래밍의 정도를 결정 - Admit(생성->준비), Release(실행-> 종료) 일 때 관리. 메모리와 디스크 사이의 스케줄링을 담당 2) 중기 스케줄러(Mid-Term) - 어떤 프로세스들이 CPU를 할당받을 것인지 결정함. - CPU 사용에 대한 프로세스들을 중재하여 일시 보류&재활성화함. >> 교체(swapp.. 2020. 3. 3.
[운영체제] 프로세스란? (+ 문맥전환이란?) 프로세스란? 프로세스(process)란 실행 중인 프로그램을 의미한다. 고로 레지스터, 스택, 포인터, 실행 중인 프로그램, 데이터 등으로 구성된 집합체이다. 프로세스 내부에는 최소 하나의 스레드(thread)를 가지고 있다. 조금 이해하기 어려울 수 있지만, 하드디스크에 프로그램을 실행하면, 실행을 위한 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 되는데 이것을 "프로세스"라고 부른다. 스레드란? 스레드(thread)란 프로세스 내부의 작업의 흐름, 단위를 의미하는 것으로, 프로세스에서 실행의 개념만을 분리한 개념이다. 스레드가 여러개 존재하는 것을 멀티스레드(multithread)라고 하는데, 멀티스레드에서 각 스레드끼리는 프로세스의 일정 메모리 영역을 공유한다. ■프로.. 2020. 3. 3.
[운영체제] 운영체제란? 운영체제란? 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다. 컴퓨터 사용자와 하드웨어 간의 인터페이스로서 동작하여 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해주며, 대표적으로 유닉스, 리눅스, 윈도우가 있다. 운영체제의 목적 1. 처리 능력 향상 : 자원 처리량, 자원 처리 시간을 증진. 2. 신뢰성 : 주어진 기능을 정확히 수행. 3. 응답시간 단축 : 시스템에 작업을 의뢰한 반응 시간을 단축. 4. 자원 활용률 향상 : 자원을 효율적으로 활용. 5. 가용성 향상 : 고장과 오류의 영향을 최소화시킴. 운영체제의 기능 (자원) 1. 프로세스 관리.. 2020. 3. 3.
[System] 메모리 구조 운영체제로부터 프로그램을 실행할 메모리 공간(RAM)을 할당받는다. 이 메모리 내부 공간은 코드 영역, 데이터 영역, 힙 영역, 스택 영역, 커널 영역으로 나뉘어있다. 1) 코드 영역 : 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 불림 - 상수 저장 - 컴파일된 기계어 - CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리 - 프로그램이 시작하고 끝날 때까지 메모리에 남아있음 2) 데이터 영역 : 전역변수와 정적 변수가 저장되는 영역 - 프로그램이 시작하고 끝날 때까지 메모리에 남아있음 (전역변수의 특징 중 프로그램 시작과 종료까지 존재하는 이유이다.) 3) 힙 영역 : 사용자에 의해 메모리 공간이 동적 할당과 해제가 이루어짐 - 사용자가 직접 해야 하는 역영.. 2019. 11. 1.
Introduction to Theory of Computation 2장_9 정리/설명 우리가 앞 전 시간에 Regular Language는 Union Operation, Computination Operation, Star Operation에 대해서 폐쇄성을 지닌다고 이야기했다. 그리고 그것들은 NFA와 DFA로 표현되고 또한 정규표현식으로도 표현할 수 있었다. 그러면 모든 Language들은 Regular Language일까? 정답은 "아니다". 따라서 이번 시간에는 Pumping Lemma 이론으로 Regular Language가 아님을 증명하는 시간을 가질 것이다. (Pumping Lemma) : Regular Language의 일반적인 성질을 기술한 이론이다. -> Regular language의 필요조건을 담고 있음. >> 비둘기 집의 원리를 이용 & state의 개수보다 긴 s.. 2019. 10. 11.