본문 바로가기

별걸다하는 IT/운영체제 OS

(47)
운영체제(Operating System : OS)란 ? 운영체제 종류와 목적, OS 정복 운영체제(OS) 목차 &책 추천운영체제 종류? 컴퓨터를 사용해본자라면 왼쪽과 같은 화면을 본적이 있을거예요항상 기본으로 시작되는 화면의 이 아이콘은 무엇을 의마할까요윈도우!! 우리에게 가장 익숙한 운영체제 중에 하나입니다. 최근 가장 많이 사용되는 윈도우 10의 로고는 이와 같이 생겼죠. 요 아이가 바로 운영체제였어요!윈도우 종류라면,,, windows7, windows8, windowsXP 등등 여러분은 어느 세대의 윈도우를 지나왔나요?ㅎㅎ 이 외에도 운영체제라고 하면 대표적으로 유닉스, 리눅스 등이 있어요 우리 개인 PC나 노트북에 깔려 있는 운영체제는 보통 윈도우이기 때문에 리눅스가 사용되는 것을 본적이 없는 분들도 있을 수 있는데요 리눅스는 오픈 소스 소프트웨어를 가져다가 내 껄로 내 제품에 최적..
[운영체제]스케줄링과(Scheduling algorithm & criteria) 디스패쳐 dispatcher란? 운영체제 목차 Process Scheduling 프로세스 스케줄링 이번에는 스케줄링에 대해서 다뤄볼거예요 스케줄링에서는 이전의 포스트에도 언급한 적이 있는데 Ready queue 중에 실행시킬 프로세스를 하나 선택하는 것을 스케줄링이라고 해요! 이걸 다르게 말하면, Ready queue에 있는 프로세스들을 내가 스케줄링 할 순서대로 정렬하는 거죠. 정렬을 한 번 하면 제일 앞에 있는 것부터 하나하나씩 실행하면 되는거죠 여러분들도 사실 매일매일 스케줄링을 하면서 살고 있어요? 내가 오늘 뭘하고 뭘해야할지 내일 뭐할지 등등... 이것도 마찬가지입니다! 그래서 스케줄링이라고 해요 Dispatcher와 스케줄링을 합쳐서 넓은 의미의 스케줄링이라고 합니다. 고르는 작업을 스케줄링, 고른 프로세스를 CPU에 올리는..
[운영체제]프로세스 상태(Process State-ready, waiting etc) 프로세스라고 하는 것은 상태(state)를 가지고 있습니다.이번에는 그 프로세스 상태에 대해서 설명해보려고 합니다 프로세스 상태 - new, ready, running, waiting, terminated 프로그램을 하나를 실행시키면 일단 프로세스가 하나 만들어지겠죠? new: The process is being created.terminated : The process has finished execution.running : Instructions are being executedwaiting : The process is waiting for some event to occurready : The process is waiting to be assigned to a process 프로세스가 만들어..
[운영체제]프로세스와 프로그램 차이는? (Process vs Program) 운영체제 목차 A process is a program in execution Program이란?Program과 Process의 차이는 매우 간단한데 이름이 비슷하기도 하고 워낙 많이 쓰니까 헷갈려하시는 분들이 있더라고요.Program은 실행파일입니다. 파일 시스템에 존재하는 실행파일이 프로그램입니다.즉 '.exe'로 끝나는 파일들 많이 보셨죠?! 그런 것들이 프로그램이에요. MapleStory.exe(메이플), Hwp.exe(한글)등! Process?자 사용자가 이런 것들을 더블클릭해서 실행하게 되면 운영체제가 그 프로그램을 실행시켜줘야 하죠.그 프로그램을 실행 시키는 실행 주체 그것을 인스턴스라고도 표현을 합니다.프로그램의 하나의 인스턴스 그것이 프로세스예요! 즉 프로그램을 실행하게 되면 CPU를 차..
[운영체제]교착상태 처리방법(Handling deadlocks) 예방법, 해결방안 [운영체제(OS) 목차 &책 추천]교착상태 처리 방법 (Handling deadlocks) 저번 데드락 개념과 발생 조건에 이어서 이번에는 처리 방법에 대해서 알아볼게요! 1. Prevention 말 그대로 데드락이 발생될 가능성을 아예 예방하자는 것이죠. 어떻게 예방?! 데드락이 발생될 가능성이 없게 알고리즘을 만드는거예요 아예 deadlock이 발생되지 않도록 설계를 하는 것이 deadlock prevention! 이것은 오로지 프로그램을 개발하는 개발자의 역할입니다. 2. Deadlock AvoidanceRequire additional information about how resources are to be requested.Decide to approve or disapprove request..
[운영체제OS]교착상태(deadlock데드락)의 발생조건(necessary condition-필요조건) [운영체제(OS) 목차 &책 추천]데드락(deadlock) 발생 조건 저번 포스트에서는 데드락의 개념에 대해서 살펴보았어요이 데드락이라고 하는 것을 formal하게 정의를 하고 있는데 이를 수학적으로 증명을 해놨습니다이번 시간에 설명할 것은 Deadlock을 발생시킬 4가지 필요조건이예요 Necessary Conditions 고등학교 수학시간 때 배웠던 충분 조건과 필요조건! 4가지 필요 조건이란 이 4가지 조건이 동시에 다 만족을 하면 교착 상태에 빠질 수 있다는 것입니다. 즉 데드락이 발생하기 위한 필요조건이예요! (4 conditions 남 안주고 공유하지도 않고 오로지 나만 쓰는 그런 상황입니다. 나 빼고 다 배타적인거죠. 당연히 나만 쓰는 그런 상황이 일어나야지만 데드락이 발생할 수 있겠죠! 2..
[운영체제 OS]교착상태(데드락Deadlocks) 정의 및 예시 운영체제 목차 데드락(Deadlock)은 무엇인가? 데드락을 전공용어 없이 쉽게 설명하자면 자원이 한정되어 있어서 상대방이 자원을 다 쓰고 돌려줄 때까지 기다리고 그걸 받아서 쓴다고 합시다 근데 그걸 서로가 기다려서 영원히 무한 기다림에 빠져버리는 것을 말해요! 더어어어~~ 쉽게 설명하자면 A가 ★라는 자원과 ☆라는 자원을 이용해서 일을 처리하려고 해요. 그래서 ★를 주어왔는데 ☆를 주워오려고 하니까 ☆를 B가 가지고 있는거죠! 그래서 B가 ☆를 사용해서 일을 완수하고 ☆를 내려놓을 때까지 A는 ★를 가지고 있는채로 기다립니다. 그런데 동시에 B또한 ★와 ☆를 이용한 업무처리가 필요했던 것입니다 그래서 ☆를 주어오고 난 뒤 ★를 사용하려니까 ★를 A가 가지고 있는거죠 그러면 B또한 A가 내려놓을 때까지 ..