본문 바로가기

Computer Science/OS(Operating System)

(8)
[OS]데드락(Dead Lock), 교착 상태 데드락(Dead Lock)은 교착 상태라고도 불립니다. 1. 교착 상태가 뭘까요? 교착 상태란 자원이 한정적인 상황에서 두 개 이상의 프로세스가 각자 먼저 확보한 자원을 가진 채 상대방의 자원을 필요로 할 경우, 외부 조치가 없는 한 프로세스들이 아무 일도 하지못하고 계속 기다려야 하는 상황 을 말합니다. 잠깐 주의! 무한 대기와 교착 상태의 차이점 - 무한 대기는 프로세스가 자원을 할당 받는데 오랜 시간이 걸리는 것뿐 언젠간 할당 받을 수 있는 상태. - 교착 상태는 아무리 오랜 시간이 흘러도 프로세스가 자원을 할당 받지 못하고 마비된 상태. 그렇다면 교착 상태가 일어나면 어떤 문제점이 발생될까요? 2가지가 있습니다. ① 해당 프로세스들이 더 이상 실행되지 못하여 사용자들에게 응답해 주지 못한다는 점...
[OS] 페이지 부재(page fault)와 가상기억장치의 원리 1. 가상기억장치의 필요성 가상기억장치가 있는 이유가 뭘까? 잠시 운영체제가 메모리를 어떻게 할당하는지 알아볼 필요가 있다. 운영체제는 여러 프로그램이 동시에 수행되는 시분할(time sharing) 환경에서 한정된 메모리 공간을 여러 프로그램이 조금씩 나누어 사용한다. 이 과정에서 운영체제는 모든 프로그램들에게 똑같은 메모리 크기를 할당하는 것보다는 몇몇 프로그램들에게 집중적으로 메모리를 할당하고 프로그램 수행 후 메모리를 회수하여 다른 프로그램들에게 할당하는 방식을 사용한다. 이유는 ①빠른 프로세스의 수행 ②프로그램마다 최소한 확보해야하는 메모리의 크기가 존재하기 때문이다. 프로그램이 실행되기 전에 그 프로세스의 주소 공간 전체가 메모리에 올라와 있어야 하는 것은 아니다. 따라서, 운영체제는 CPU ..
[OS] 운영 체제 개요 - 운영 체제의 자원 관리 기능 운영 체제의 가장 핵심적인 기능은 자원을 효율적으로 관리하는 것이다. (1) 하드웨어 자원 : CPU, 메모리, 주변 장치 및 입출력 장치 등이 있다. CPU는 통상적으로 컴퓨터 한 대에 하나가 장착되기 때문에 서로 다른 다수의 프로세스들이 나누어 쓸 수 있도록 해야한다. (2) 소프트웨어 자원 : 응용 프로그램들과 기타 추상적인 소프트웨어 관리 프로세스 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램. 1. CPU 관리 방법 ( CPU 스케줄링 ) 컴퓨터에 일반적으로 하나밖에 없는 CPU를 어떤 프로세스에게 할당할 것인지를 결정하는 일. 효율적이면서 특정 프로세스가 불이익을 당하지 않도록 하는 것이 목적( 효율성, 형평성 ) 선입 선출(FCFS : First Come First Served), ..
[OS] 운영 체제 개요 - 운영 체제의 분류 운영 체제의 분류 1. 단일 작업(single tasking) vs 다중 작업 (multi tasking) (1) 단일 작업 운영 체제 한 번에 하나의 프로그램만 수행시킬 수 있는 운영 체제로 초기 컴퓨터용 운영 체제는 대개 단일 작업용 운영 체제에 해당되었다. MS 윈도즈가 나오기전 DOS 환경에서는 하나의 프로그램이 실행되는 동안 명령어를 입력할 수가 없어 한 번에 하나의 작업만 가능했다. 최근에는 대부분의 운영 체제가 동시에 두 개 이상의 프로그램을 처리할 수 있는 다중 작업을 지원한다. (2) 다중 작업 운영 체제 MS 윈도즈나 유닉스 환경에서는 하나의 프로그램의 수행이 끝나기 전에 다른 프로그램을 수행시키는 것이 가능하다. PC환경에서 다양한 프로그램들을 띄워놓을 수 있다는 점이 MS 윈도즈가 ..
[OS] 운영 체제의 개요 - 운영 체제의 기능 운영 체제의 역할은 두 가지로 나뉜다. 하나는 하드웨어적 역할, 다른 하나는 사용자에 대한역할이다. (1) 하드 웨어적 역할 - 사용자가 알기 힘든 각종 하드웨어를 운영 체제가 직접 관리하는 역할 (2) 사용자에 대한 역할 - 사용자에게 편리한 인터페이스를 제공 즉, 운영 체제의 기능은 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공(2)하고 컴퓨터 시스템 내의 자원을 효율적으로 관리하는 것.(1) (주요 역할) 편리한 환경 제공이란 운영 체제가 동시 사용자 및 프로그램들에게 각각 독자적으로 컴퓨터를 사용하는 것과 같은 환상을 제공하는 것을 말한다. 즉, 위 그림에서 보듯 사용자가 프로그램에 관해서 알지 못하더라도 프로그램을 실행할 수 있게 해주는 일이다. 예를들어, 사용자는 파일이 어떻게 복사되고..
[OS] 운영 체제 개요 - 운영 체제의 정의 운영체제(operating system)의 정의 운영 체제란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어이다. 보통 시스템(System)이란 용어는 하드웨어를 지칭하는 데 주로 사용되는데, 왜 운영 체제(Operating system) 은 소프트웨어 말할까? 운영 체제는 하드웨어와 한 몸이 되어야만 사용자에게 쓰일 수 있는 컴퓨터 시스템이 된다. 즉, 컴퓨터 전원만 켜고 운영 체제가 없을 경우에는 단순한 고철 덩어리에 불과하다. 컴퓨터라는 고철 덩어리를 사용자가 쉽게 컨트롤 할 수 있는 상태가 되게 하기 위해 운영 체제를 설치한다. 각종 소프트웨어들을 컴퓨터 하드웨어와 운영 체제 위에서 실행된다. 컴퓨터 전원을 키면 운영 체제도 동시에 실행이 된다. 보통 소프트웨어가 컴퓨터 시스템에서 수행되기 위해 ..
[OS] 책 설명이 x같아서 내가 쉽게 쓴 B 트리 파일 처리 시험 공부를 하다가 너무 말이 어려워서 저만의 방식으로 다시 정리해봤습니다. 왜 말을 그렇게 어렵게 쓰는지... 일단 B트리가 뭔지 알아보자. ●B 트리 개요 (1) B 트리의 정의 : B 트리는 데이터를 정렬하여 탐색, 삽입, 삭제 및 순차 접근이 가능하도록 유지하는 트리형 자료구조 이다. 그냥 한 마디로 데이터를 쉽게 다룰 수 있게 하는 자료 구조의 일종이다. 그렇다면 왜 B 트리를 쓰는가 ? B 트리는 Balanced- Tree 의 일종으로 트리의 균형이 맞다. 즉 트리내에서 삽입과 삭제가 일어나더라도 최대한 균형있는 트리 형태를 유지하여 이진 탐색의 장점을 살린 트리다. 균형이 맞춰진 트리의 장점이 뭘까? 바로 이진 탐색을 활용할 수 있다는 점이다. 아래는 편향 트리이다. 편향 트리란 ..
[OS] 페이징 알고리즘에 대해 알아보자 이번년도에 꼭 취업에 성공하려는 취준생으로서 OS 공부를 다시 해야한다고 생각했어요. 주변 지인들과 이미 취업한 친구들로부터 엄청나게 들리는 OS 의 중요성...! 대학교 3학년데 OS 과목을 수강했지만 재미와 흥미가 떨어져서 그런지 머리속에 남는 게 많이 없었어요. 4학년 1학기 시스템 성능 분석 과목에서 페이징 알고리즘에 대해 발표를 할 기회가 있어서 이 기회에 다시 정리해보려고 합니다. - 페이지 부재(Page fault)란? : 메모리에 적재된 페이지 중에 사용 페이지가 없을 때를 가리킨다. 시스템의 종류에 따라 약간 다를 수 있으나, 대체로는 빈 페이지가 하나도 없거나, 미리 정한 수보다 적을 때 발생한다. - 지역성(Locality)란? : 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부..