오늘날 흔히 사용하는 데스크톱이나 노트북, 스마트폰에는 모두 운영체제가 설치되어 있다.운영체제는 컴퓨터 부품들을 관리하고 여러 프로그램들이 올바르게 실행 되도록 돕는다.모든 프로그램들은 하드웨어를 필요로한다.여러 연산작업이 필요한 프로그램은 CPU를 필요로하고 데이터를
운영체제가 응용 프로그램에게 제공하는 서비스 종류는 다양하지만, 그중에서 핵심적인 서비스들이 있다.이러한 운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 한다.운영체제 커널의 주요 기능은 이중 모드와 시스템 호출을 먼저 짚은 다음에 살펴보자.운영체제는 응용 프로그
실행 중인 프로그램을 프로세스이라고 한다. 프로그램은 실행되기 전까지는 보조기억장치에 있는 데이터이지만, 메모리에 적재하고 실행하는 순간 그 프로그램은 프로세스가 된다.윈도우에서 작업 관리자의 프로세스 탭을 보면 현재 많은 프로세스가 실행되고 있는 것을 볼 수 있다.그
프로세스 상태 프로세스는 여러 상태를 거치며 실행된다.
스레드(thread)는 프로세스를 구성하는 실행의 흐름 단위이다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있고, 이를 이용하면 하나의 프로세스에서 여러 부분을 실행할 수 있다.만약 여러 개가 아닌 하나의 스레드를 가지고 실행하는 프로세스는 단일 스레드 프로세스라
프로세스들이 실행되기 위해서는 CPU가 필요하다. 따라서 운영체제는 프로세스들에게 어떻게 CPU자원을 분배할 것인지 정해야한다. 이를 CPU 스케줄링 (CPU scheduling)이라고 한다. 프로세스 우선순위 프로세스마다 먼저 처리해야하는 이른바 우선순위가 높은
CPU 스케줄링 알고리즘의 종류는 다양하다. 운영체제마다 다른 스케줄링 알고리즘을 사용하고 있는데 여러가지 스케줄링 알고리즘을 살펴보자.
프로세스가 올바르게 실행되기 위해서는 동기화가 필수이다.
하나에 자원에 여러 프로세스가 동시에 접근하면 문제가 발생할 수 있다.
교착 상태를 해결하는 것은 운영체제가 해야 하는 중요한 임무이다. 교착 상태란 무엇일까?
운영체제는 교착 상태가 일어나지 않도록 해야한다.
아래 이미지와 같이 프로세스에 연속적인 메모리 공간을 할당하는 방식을 연속 메모리 할당 방식이라고 한다.
페이징 기법
페이지 교체와 프레임 할당
파일 시스템은 파일과 디렉터리를 보조기억장치에 저장하고 접근 할 수 있게 해주는 운영체제 내부 프로그램이다.