목록운영체제 (7)
코가손의 블로그

Process OS가 해야할 가장 기본적인 일은 프로세스를 관리하는 것이다. Stroage 에 있는, 우리가 작성한 프로그램을 메모리에 올린 것을 프로세스 라고 말한다. 메모리에 올라간 프로세스는 CPU를 점유해야 하고 New/Running/Waiting/Ready/Treminated 의 상태를 가진다. New : 프로세스가 만들어지는 과정의 상태 Ready : 실행되기 전, 언제든지 실행 될 수 있는 준비 상태 Running : CPU를 점유하는 실행 상태 Waiting : I/O나 다른 이벤트가 발생하기를 기다리는 상태 Terminated : 프로세스가 다 수행되어서 종료할 때 잠시 생기는 state Running -> Waiting, Waiting -> Ready 현재 프로세스가 더 이상 수행이 안..

컴퓨터가 켜지면 항상 동작하는 프로그램이며 시스템 서비스를 사용자 영역의 응용 프로그램과 연결시켜주는 역할을 한다. services 운영체제가 사용자에게 제공하는 기능들은 다음과 같다. 사용자 인터페이스(User Interface) : 사용자 인터페이스는 크게 명령어 단위로 처리되는 명령어 라인 인터페이스(Command-Line Interface, CLI)와 그래피컬 사용자 인터페이스(Graphical User Interface, GUI)로 나뉜다. 윈도우의 커맨드 창은 CLI, 윈도우에서 화면을 통해 아이콘을 더블클릭하여 실행하는 방식을 GUI 방식이라고 한다. 프로그램 실행(Program execution) : 운영체제를 통해 프로그램을 메모리에 올려 프로세스로 만들고 실행 시키는 것이다. 입출력 연..

우리가 코드를 작성하여 "Hello World"라는 문자열을 출력하는 프로그램을 만들었다고 생각해보자. 이 프로그램은 저장장치에 저장되어 있고 프로그램을 실행하게 되면 콘솔에 "Hello World"를 출력한다. 저장장치에 있는 프로그램이 메모리에 적재되어 실행중인 상태를 프로세스 라고 한다. 인터럽트나 실행 중인 프로세스의 제어를 다른 프로세스에 넘겨 실행 상태가 되도록 하는 것을 프로세스 문맥 교환 이라고 한다. 문맥은 PCB, 즉 프로세스의 정보를 말한다. 문맥 교환은 시간 비용이 들어가는 오버헤드이고, 이 오버헤드는 메모리 속도, 레지스터 수, 특수 명령어의 유무에 따라 시스템마다 다르다. 레지스터 문맥 교환, 작업 문맥 교환, 스레드 문맥 교환, 프로세스 문맥 교환 이 가능하다.