
프로세스 사용자가 프로그램을 실행하면 OS는 그 내용을 메모리상으로 읽어들여 처리를 실행합니다. 이 메모리상에 할당된 프로그램을 '프로세스(Process)'라고 합니다. 하나의 프로그램으로부터 여러 개의 프로세스를 만들 수 있습니다. 프로세스 상태 프로세스에는 '대기상태' , '실행가능상태', '실행상태' 와 같은 세가지 상태가 있는데 프로세스는 이런 상태를 옮겨가면서 실행됩니다. 프로세스의 5가지 상태 생성 (New) : 프로세스 생성 상태 실행 (Running) : 프로세스가 CPU에 할당되어 실행 중인 상태 준비 (Ready) : 프로세스가 CPU에 할당되기를 기다리는 상태 대기 (Waiting) : 보류(Block)라고도 하며, 프로세스가 입출력이나 이벤트를 기다리는 상태 종료 (Terminate..
OS가 CPU에게 의뢰하는 작업 단위를 태스크(Task)라고 합니다. 태스크는 대부분의 경우 프로세스와 동일한 의미로 생각해도 무방합니다 . 주요 OS는 여러 개의 태스크를 동시에 처리하는 능력을 갖고 있는데, 이것을 '멀티태스킹(Multi-Tasking)'이라고 합니다. 예를 들어 파일을 다운로드 하면서 문서를 작성할 수 잇는 것은 멀티태스킹 덕분입니다. '동시에 처리'한다고 말했지만 실제로는 OS가 CPU에게 태스크를 순서대로 할당하는 것입니다. 이때 할당 순서를 정하는 것을 '스케줄링'이라고 합니다. 이 전환이 아주 빠른 속도로 수행되므로 마치 여러 개의 태스크가 동시에 움직이는 것처럼 보일 뿐입니다. 프로세스가 메모리와 같은 공유 자원을 이용할 때는 여러 개의 프로세스가 같은 시기에 변경되지 않도..

컴퓨터에 설치된 프로그램은 보통 하드디스크 안에 있지만 OS가 프로그램을 실행할 때는 이것을 메모리로 읽어들인(로드) 후에 실행합니다. 이 메모리 상에 할당된 프로그램을 '프로세스'라고 합니다. 프로세스에는 '실행상태', '실행가능상태' , '대기 상태'가 있으며, 상황은 시시각각으로 변합니다. 프로세스가 CPU에 할당되어 처리 중인 상태가 '실행상태'입니다. 프로세스는 우선순위가 보다 높은 처리에 의해 중단되는 일도 있습니다. 이것을 '인터럽트(Interrupt)처리'라고 합니다 *프로세스의 5가지 상태 생성 (New) : 프로세스 생성 상태 실행 (Running) : 프로세스가 CPU에 할당되어 실행 중인 상태 준비 (Ready) : 프로세스가 CPU에 할당되기를 기다리는 상태 대기 (Waiting)..

OS의 기본 구성요소 1) 커널 2) 쉘 1) 커널( Kernel) :커널은 펌웨어와 장치 드라이버의 도움을 받아 커널은 모든 컴퓨터 하드웨어 장치에 대한 가장 기초 수준의 제어권을 제공한다. (커널 CPU에게 계싼을 시키거나 메모리 할당을 관리하는 역할을 한다.) OS의 핵심기능을 담당하는 부분 2) 쉘 (Shell) :운영체제와 사용자의 인터페이스 - 시스템 콜 (System call) 운영체제와 응용프로그램의 인터페이스 :응용프로그램이 운영체제 기능을 요청 및 활용 할 수 있도록 운영체제는 시스템 콜을 제공한다. 시스템콜은 커널이 쉘과 같은 프로그램에게 제공하는 기능을 말합니다. 프로그램은 커널에게 처리를 의뢰하고 실제 처리는 커널이 수행합니다. 보통 시스템 콜을 직접 사용하기 보다는 , 해당 시스..
컴퓨터의 기동 단계 1) 컴퓨터 전원을 켠다 2) BIOS 기동 (메모리나 하드웨어를 체크한다. BIOS프로그램은 롬(ROM)에 위치한다.) 3) 부팅로더 읽기/기동 (부팅로더 프로그램은 하드디스크에 위치한다) 4) OS 기동 컴퓨터의 전원버튼을 누르면 컴퓨터의 메인보드(마더보드)의 전원이 켜지게 되고 켜진 메인보드는 컴퓨터 본체 내의 펌웨어(칩셋 및 기타 등)를 초기화시키고 CPU를 동작시킨다. CPU가 정상적으로 작동을 한다면 다중 프로세서 또는 다중 코어시스템을 이용할 시 하나의 CPU가 Bootstrap Processor(BSP)로 선택되고 이 BSP는 모든 BIOS와 Kernel의 초기화 코드를 동작 시킨다. CPU가 BIOS코드를 실행함으로써 컴퓨터에 입력과 출력에 필요한 기능들이 제대로 활성..
OS를 1) '기본 소프트웨어'라고 한다는 것은 처음에도 소개했는데, 이 밖에도 소프트웨어를 2) 미들웨어와 3) 응용소프트웨어로 나누기도 한다 1) 기본 소프트웨어(basic software)는 하드웨어에 의존하지 않고 애플리케이션을 실행할 수 잇는 환경을 제공하는데, OS나 BIOS가 이에 해당한다. 2) 미들웨어(middleware)는 OS와 애플리케이션 사이에 위치하는 소프트웨어로, 각각의 범용적인 기능을 소프트웨어화한 것이다. => OS와 애플리케이션 사이에서 데이터를 주고받을 수 있도록 중개하는 소프트웨어 3) 응용소프트웨어(application software)는 고유의 기능을 가진 일반적인 애플리케이션을 말한다. OS에 맞는 애플리케이션을 개발(작성)하려면 API(Applicat..
OS는 컴퓨터(개인용뿐만 아니라 업무용 서버 등을 포함한 컴퓨터 전반을 일컬음)를 관리하고 제어하며,컴퓨터를 작동시키기 위한 토대를 만드는 소프트웨어를 말한다. 이를 '기본 소프트웨어'라고 부르기도 한다 대표적인 컴퓨터용 OS로는 Windows , Unix, Mac OS가 있다. OS는 구체적으로 어떤 일을 하고 있을까? 간단히 정리하면 아래와 같다 1) 프로세스 관리 프로그램의 실행단위(프로세스)를 관리한다 (관련내용: 인터럽트,컨텍스트 스위치 , PCB 등 ) 2)네트워크 관리 - TCP/ IP 프로토콜을 지원 통신 장비나 네트워크를 제어하고나 관리한다 (관련내용 : TCP 프로토콜, IP 프로토콜) 3) 메모리 관리 프로그램에 메인 메모리를 할당하거나 해체한다 가상 메모리 관리도 수행한다. (관련 ..