Computer Science 4

CPU 스케줄링 - 프로세스 우선순위 / 스케줄링 큐 / 선점형 · 비선점형 스케줄링 / 스케줄링 알고리즘

운영체제의 역할 중 하나인 CPU 스케줄링에 대해 알아보자.   ✅ CPU 스케줄링이란? 모든 프로세스는 CPU를 필요로 한다.또한 모든 프로세스는 CPU를 먼저 사용하고 싶어 한다. 이러한 프로세스들에게 공정하게 CPU를 할당하도록CPU 자원을 배분하는 것을 CPU 스케줄링이라고 한다.  프로세스들에게 현명하게 CPU를 배분하지 못한다면프로세스들이 무질서한 상태가 되는 등의 결과를 초래할 수 있다. 그렇기에 CPU 스케줄링은 컴퓨터 성능과도 직결될 수 있는 중요한 문제로 다루어진다.    ✅ 프로세스 우선순위 단순하게 생각해본다면, CPU를 사용하고 싶어하는 프로세스들이차례대로 돌아가며 CPU를 사용하게 하는 방법이 있다. CPU를 사용하고 싶다고 먼저 어필한 프로세스부터순서대로 번갈아 CPU를 사용하..

Computer Science 2024.04.28

프로세스와 스레드

지난 포스팅에서 프로세스에 대해 알아보았다. 이번 포스팅에서는 프로세스와 스레드의 관계에 대해서 알아보자. 프로세스와 스레드에 관련해서는 개별 포스팅을 작성하였으니, 이번 포스팅에서는 간단히 정리만하고 넘어간다. 프로세스 프로세스는 컴퓨터에서 실행 중인 프로그램을 뜻한다. 또한 프로세스는 운영체제에 의해 관리되며 자원을 할당 받을 수 있는 단위이며, 하나의 프로세스는 최소 하나의 스레드를 가진다. 이외의 프로세스에 대한 자세한 내용은 이전 포스팅에서 참고 바란다. 프로세스 / 프로세스 실행 · 제어 · 상태 지난 포스팅에서 운영체제에 대해 정리해 보았다. 운영체제의 핵심 서비스 중 하나로 프로세스 관리를 꼽을 수 있는데, 이번 포스팅에서는 프로세스에 대해 알아보겠다. 프로세스란? 프로그램 oscarsto..

Computer Science 2024.04.21

프로세스 / 프로세스 실행 · 제어 · 상태

지난 포스팅에서 운영체제에 대해 정리해 보았다. 운영체제의 핵심 서비스 중 하나로 프로세스 관리를 꼽을 수 있는데, 이번 포스팅에서는 프로세스에 대해 알아보겠다. 프로세스란? 프로그램은 실행되기 전까지는 그저 데이터 덩어리다. 하지만 메모리에 적재되어 실행되는 순간, 그 프로그램은 프로세스가 되었다고 할 수 있다. 즉, 컴퓨터에서 실행 중인 프로그램을 프로세스라고 한다. 당장 작업 관리자를 열어보아도 쉽게 확인할 수 있다. 프로세스 실행 · 프로세스 제어 블록 일반적으로 하나의 CPU는 하나의 프로세스만을 실행할 수 있다. 하지만 사용자는 여러 프로세스가 동시에 실행될 수 있다고 느낀다. 이는 CPU가 여러 프로세스를 번갈아 가며 실행하는데, 그 속도가 워낙 빠를 뿐이다. 즉, CPU는 여러 프로세스를 ..

Computer Science 2024.04.14

운영체제 (Operating System) / 역할 / 구조 / 종류

이번 포스팅에서는 CS의 기초라 할 수 있는 운영체제에 대해 알아보겠다. 운영체제의 정의 운영체제의 명확한 정의는 전공 서적이나 위키별로 조금씩 다르다. ● 네이버 지식백과 : 모든 하드웨어 · 소프트웨어를 관리하는 실행 관리자 ● 나무위키 : 사용자가 컴퓨터를 쉽게 다룰 수 있게 해주는 인터페이스 ● 위키백과 : 하드웨어 · 시스템 자원을 제어하고 프로그램에 대한 서비스를 지원하는 소프트웨어 ● 경북대학교 : 응용 프로그램 또는 사용자가 하드웨어를 편리하고 효율적으로 사용하게 하기 위하여 시스템 자원을 관리하고, 여러가지 프로그램이 필요로 하는 공통적인 서비스를 제공하는 소프트웨어 대부분의 정의를 보면 느끼겠지만, 운영체제를 한 줄 정의하기엔 벅찬 느낌이다. 경북대 강의 개요에 기재된 정의처럼, 길게 ..

Computer Science 2024.04.10