운영체제
-
[운영체제] 5. 스케쥴링운영체제 2019. 10. 5. 17:18
스케쥴링이란 무엇이고 왜 해야하는 것일까? 우리가 현재 사용하고 있는 시스템에는 여러 개의 프로세스가 있다. 우리는 이런 환경을 다중 프로그래밍 환경이라고 부른다. 프로세스가 다수이기 때문에 한정된 자원을 나눠서 사용해야 하고, 운영체제는 프로세스에게 알맞게 자원을 할당해야 하는 의무가 있다. 운영체제가 자원을 관리하는 방법에는 크게 두 가지 방법이 있다. 시간 분할 관리 (Time Sharing) 하나의 자원을 여러 스레드가 번갈아가며 사용 하나의 프로세서는 하나의 프로세스만 실행시켜야 하기 때문에, 프로세스에게 프로세서 할당 시, 사용시간을 프로세스에게 분배 옛날에 동생이랑 컴퓨터 한대로 게임할 때, 서로 번갈아가면서 게임했던 기억이 난다. 공간 분할 관리 (Space Sharing) 하나의 자원을 ..
-
[운영체제] 4. 스레드운영체제 2019. 8. 16. 18:12
이번에는 스레드(Thread)에 대해서 알아볼것이다. Thread를 직역하면 '실'이다. 우리는 저번 Post에서 프로세스에 대해서 배웠다. 스레드는 프로세스에서 뻗어나온 실가닥 같은 느낌이다. 하나의 프로세스 내에서 프로세스에게 할당받은 자원은 공유하며, 제어는 따로 받는 가벼운 프로세스(?) 같은 느낌이다. 스레드는 프로세서 활용의 기본 단위이다. 스레드의 구성요소로는 크게 3가지가 있다. Thread ID Register Set Stack (Local Data) 프로세스는 기본적으로 싱글스레드이다. 하나의 흐름만 가지고 실행이 된다. 스레드를 잘 활용한다면 다음과 같은 장점이 있다. 스레드의 장점 사용자 응답성 : 일부 스레드의 처리가 지연되더라도, 다른 스레드는 작업을 계속 수행할 수 있다. 자원..
-
[운영체제] 3. 프로세스운영체제 2019. 8. 16. 17:37
저번 Post에서 운영체제의 중요한 역할 중 하나가 프로세스 관리라고 했었다. 이번 Post에서 프로세스가 정확히 무엇이고, 프로세스를 어떻게 관리하는지 알아보자. 프로세스란 무엇인가에 대해서 알아보기 전에, 우리는 PCB(Process Control Block)를 알아야한다. PCB란, 이름에서 알 수 있듯이 프로세스의 제어를 위한 블럭이다. 우리의 운영체제가 프로세스 관리에 필요한 정보들을 저장하는 영역이다. PCB는 프로세스 생성 시, 커널 영역에 생성이 된다. PCB에 담기는 정보들은 OS마다 다를 수 있지만 크게는 다음과 같은 정보들이 있다. PID (Process Identification Number) : 프로세스의 고유 아이디 스케쥴링 정보 : 프로세스 우선순위 등과 같은 스케쥴링 관련 정..
-
[운영체제] 2. 운영체제의 기능, 구조, 분류운영체제 2019. 8. 14. 17:58
저번 Post에서는 운영체제를 공부하기 전, 어떤 하드웨어들이 있는지 살펴봤다. 이제 구체적으로 운영체제가 무엇을 하는 친구인지 살펴볼 것이다. 운영체제의 역할과 기능, 분류, 구조에 대해서 알아보자 운영체제의 역할과 기능 운영체제는 정말 많은 것을 관리한다. 그 중에서도 중요한 몇 가지만 살펴보자. 프로세스 관리 (Process Management) 프로세스란 쉽게 말해서 실행중인 프로그램이라고 보면 된다. 운영체제는 프로세스들의 생성/삭제/상태를 관리한다. 프로세스에게 자원할당을 해준다. 프로세스들 간의 통신이나 동기화를 관리 해준다. 나중에 배우게 될 교착상태(DeadLock)도 관리해준다. 참고로 프로세스의 정보 관리는 PCB(Process Control Block)라는 메모리가 해준다. 프로세서..
-
[운영체제] 1. 하드웨어운영체제 2019. 8. 14. 16:19
운영체제를 공부해보자! 먼저, 운영체제란 무엇일까? 운영체제(Operating System, OS) 하드웨어를 효율적으로 관리하여 사용자나 응용프로그램에 서비스를 제공해주는 친구 우리가 알게 모르게 컴퓨터 내의 여러가지 기능을 쓸 수 있는 것은 운영체제 덕분! 하드웨어(Hardware)라는게 잘 와닿지 않는다. 하드웨어의 종류로는 크게 3가지가 있다. 프로세서 (Processor) 메모리 (Memory) 주변장치 하나씩 차근차근 살펴보자. 프로세서(Processor) 여러가지 연산을 위해 사용되고 컴퓨터의 모든 장치들의 동작을 제어하는 하드웨어 컴퓨터의 두뇌 역할을 하고 중앙 처리 장치라고도 부른다. 프로세서의 종류로는 CPU나 GPU가 있고, 특별한 목적을 가지고 연산하는 것들을 응용 전용 처리장치라고..