운영체제는 무엇일까? 우리는 컴퓨터로 다양한 응용프로그램을 실행하며 여러 작업을 처리합니다. 예를 들어, 저는 주로 구글, 유튜브, 인텔리제이와 같은 프로그램을 동시에 실행하여 여가시간을 보내거나 개발 작업을 합니다. 이렇게 여러 응용프로그램이 원활하게 동작하려면 C
대부분의 사람들이 컴퓨터를 이용할 때 하나의 프로그램만 이용하는 것이 아닌 여러 프로그램을 실행하며 컴퓨터를 이용하고 있습니다. 노래를 들으면서 게임을 하거나 개발을 하면서 검색을 하는 것처럼 여러개의 프로그램을 실행합니다. 이 때 각각의 프로그램은 동시에 동작하는 것
우리가 자주 사용하는 크롬, 카카오톡, 노션 등은 프로그램입니다. 프로그램은 일련의 작업을 포함하고 있는 코드 파일이며 이는 하드디스크에 저장되어 있습니다. 프로그램을 조금 복잡하게 설명했지만 단순하게 말하면 코드 덩어리를 의미합니다. 사용자가 프로그램(코드 파일)을
지난 포스트에서 프로세스에 대해서 알아보았습니다. 프로세스의 특징은 독립적인 메모리 공간을 가지고 있어서 멀티 프로세스 환경에서는 서로 영향을 미치지 않아서 안정성이 높은 반면 새로운 프로세스를 생성하는 것과 프로세스의 문맥전환 과정에서 많은 오버헤드가 발생한다는 특징
운영체제의 핵심은 하드웨어 자원을 응용프로그램으로부터 보호하는 것도 있지만 여러 프로그램들이 공정하게 하드웨어 자원(CPU, 메모리)등을 균등하게 사용할 수 있게 도와주는 역할을 합니다. 우리의 컴퓨터를 보면 여러가지가 프로그램이 프로세스의 형태로 메모리에 적재되어 있
이전 글(https://velog.io/@seokhwan-an/여러-프로세스는-어떤-순서로-동작할까)을 통해서는 운영체제가 여러 프로세스들이 한정된 자원인 Cpu을 이용하도록 스케줄링하는 방법에 대해서 알아보았습니다. CPU 같은 경우는 스케줄링 기법을 통해
지난 글에서는 공유 자원에 대해서 여러 스레드 및 프로세스가 접근했을 때 발생하는 문제와 이를 동기화하는 방법에 대해 알아보았습니다. 이번 시간에는 데드락(Dead lock)에 대해서 알아보겠습니다.위의 그림은 데드락을 설명하는데 자주 이용되는 그림입니다. 그림처럼 데