본문 바로가기

운영체제26

운영체제 6장 - 프로세스 관리(3) : 쓰레드 및 프로세스 동기화 - 운영체제 6장- 프로세스 관리(3) : 쓰레드 및 프로세스 동기화 - 쓰레드라고 하는 것은 프로그램 내부에 흐르는 맥, 흐름이라고 한다. 우리가 상위 언어 예를 들어 자바나 C로 프로그램을 작성할 때 메인 함수를 통해 각종 표현식이 돌아 프로그램이 끝이 나는 것을 “맥이 흐른다.”라고 한다. 기본적으로는 한 프로그램에 맥이 하나 흐른다. 하지만 한 프로그램에 2개 이상의 맥이 흐를 수 있는데 이것을 다중 쓰레드라고 한다. 하지만 다중 쓰레드는 실제로 맥이 빠른 시간 간격으로 스위칭을 진행하는 것이 여러 가지 맥이 동시에 진행되는 것이 아니다. 시간 간격이 매우 짧아 동시에 맥이 흐르는 것처럼 보이는 것이다. 현재 대부분의 프로그램은 다중 쓰레드이다. 예를 들어 웹 브라우저를 들면 화면을 출력을 시켜주는 .. 2017. 4. 17.
운영체제 5장 - 프로세스 관리(2) : 스케줄링 - 운영체제 5장- 프로세스 관리(2) : 스케줄링 - 앞장에서 설명한 스케줄링의 종류가 3가지가 있었다. 하지만 그 중 CPU 스케줄링이 가장 중요하다고 할 수 있다. 이 점은 컴퓨터의 성능과 바로 직결되는 문제를 안고 있기 때문이다. 따라서 CPU 스케줄링이 어떻게 진행되는지에 대해 학습해 보고자 한다. CPU 스케줄링은 크게 두 가지의 특징으로 나눌 수 있다.선점하는 방식(Preemptive)과 비선점하는 방식(non-preemptive)이다. 선점하는 방식은 하나의 프로세스가 CPU를 할당받아 작업을 수행하고 있는 도중에 다른 프로세스가 새치기를 할 수 있는 방식을 말한다. 따라서 선점하는 방식을 사용하면 언제든지 CPU가 다른 프로세스에 할당될 수 있다. 하지만 비선점하는 방식을 사용하면 하나의 프.. 2017. 4. 16.
운영체제 4장 - 프로세스 관리(1) - 운영체제 4장- 프로세스 관리(1) - 운영체제가 하는 역할은 매우 많다. 하지만 프로세스 관리는 그 역할 중 가장 중요한 역할이라고 할 수 있다. 그러면 프로세스에 대해 먼저 알아보자. 프로세스는 실행 중인 프로그램이다. 하드디스크에 있는 프로그램이 메인 메모리로 적재되어 있을 때 프로세스라고 부른다. 프로세스는 다섯 가지의 상태 중 하나의 상태에 존재한다. 메인 메모리에 올라오는 상태인 new, CPU 할당을 받는 것을 기다리는 ready, CPU가 할당되어 작업을 수행 중인 running, I/O와 같은 CPU 외의 할당을 받아 기다리는 waiting, 이러한 모든 작업이 끝날 경우 terminated라는 상태에 존재하게 된다. 이러한 상태를 나타내기 위해서는 프로세스에 대한 모든 정보가 저장되어 .. 2017. 4. 16.
운영체제 3장 - 이중 모드 및 하드웨어 보호 - 운영체제 3장- 이중 모드 및 하드웨어 보호 - 컴퓨터를 사용하는 환경은 다양하다. 특정 사람이 특정 컴퓨터만 사용하는 경우도 있겠지만 한 컴퓨터를 여러 사람이 동시에 사용하거나 한 사람이 여러 개의 프로그램을 동시에 실행하는 경우 한 사람의 고의 또는 실수로 다른 프로그램 전체가 영향을 받을 수 있는 환경이 만들어진다. 예를 들면 많은 사용자들이 같은 컴퓨터를 사용하고 있는데 특정 사람의 stop(컴퓨터 강제 종료) 명령어 실행하는 프로그램을 갑자기 실행시키면 모든 사용자가 하던 작업이 종료되어 큰 영향을 끼칠 수 있다. 이런 문제가 발생하지 않기 위한 보호 장치가 바로 이중 모드이다. 이중 모드는 사용자 모드와 관리자 모드로 두 가지의 모드를 가지고 있어서 이중 모드이다. 사용자 모드는 단순한 사용자.. 2017. 4. 16.
운영체제 2장 - 운영체제 종류와 역할 - 운영체제 2장- 운영체제 종류와 역할 - 운영체제의 종류는 운영체제의 발전 과정을 보면 알 수 있다. 맨 처음의 컴퓨터는 운영체제를 가지고 있지 않았다. 사용자가 일일이 모든 상황을 컨트롤 해야만 컴퓨터를 사용할 수 있었다. 이런 점에서 매우 불편함을 느꼈고 컴퓨터 자체에서 관리를 해주는 프로그램을 만들 필요성을 있었다. 따라서 최초의 운영체제가 탄생했다. 처음에 나온 운영체제는 일괄처리 운영체제이다. 처리해야 할 데이터를 일정 기간 또는 일정량 정리하여 일괄 처리하는 것이었다. 하지만 일괄처리만으로는 불편함을 없앨 수 없었다. 그래서 나온 것이 다중프로세서 운영체제이다. 다중 프로그래밍 시스템에서 메모리에 더 많은 유저 프로그램을 가동시키고 싶었다. 또한 한 명의 유저 프로그램이 쉬면 다른 유저의 프로.. 2017. 4. 14.
운영체제 1장 - 운영체제란? - 운영체제 1장- 운영체제란? - 여러분들은 운영체제에 대해서 잘 알고 있는가? 아마 컴퓨터 전공자가 아니더라도 컴퓨터의 운영체제에 대해서는 많이들 알고 있을 것이다. 우리가 컴퓨터를 킬 때 나타나는 Window 10이라는 것이 바로 운영체제이기 때문이다. 또한 파일을 관리할 때 Window라는 파일에 있는 파일들은 건들이지 않는다. 그곳에 있는 파일들이 잘못될 경우 컴퓨터가 엉망진창이 된다는 것을 알기 때문이다. 그러면 왜 그렇게 되는지는 아는가? 운영체제는 왜 우리의 컴퓨터에 중요한 존재인가? 우리는 운영체제에 대해서 공부를 해볼 것이다. 컴퓨터를 하나의 국가에 비유를 한다면 운영체제는 컴퓨터 세계에 있어서 정부와 같은 곳이다. 쉽게 말해 컴퓨터의 대부분을 관리하는 역할을 한다. 운영체제는 컴퓨터 하드.. 2017. 4. 13.