ComputerScience

    운영체제와 정보기술의 원리 5장. 프로세스 관리

    프로세스의 개념 프로세스란 실행중인 프로그램으로써 디스크에 존재하는 프로그램이 메모리에 올라가 있는 형태이다. 프로세는 CPU를 획득해 코드를 수행하기도 하고, CPU를 반환하여 입출력을 하기도 한다. 이때 프로세스의 문맥(Context)를 이용하여 현재 어떤 상태에서 수행되고 있는지 필요한 정보를 얻을 수 있다. 프로세스의 문맥은 프로세스의 주소 공간(코드, 데이터, 스택)을 비롯해 레지스터에 어떤 값을 가지고 있는지와 시스템 콜등을 통해 커널에서 수행한 일의 상태, 그 프로세스에 관해 커널이 관리하고 있는 정보등을 포함한다. 프로세스의 문맥을 구성하는 요소 다시 정리하면 프로세스의 문맥은 크게 하드웨어 문맥, 프로세스의 주소 공간, 커널상의 문맥으로 나눌 수 있다. 하드웨어 문맥은 CPU의 상태를 나..

    운영체제와 정보기술의 원리 4장. 프로그램의 구조와 실행

    프로그램의 구조와 인터럽트 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역(코드, 데이터, 스택)이 메모리에 올라가 있어야 한다. 코드 영역은 작성한 프로그램 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 부분이고, 데이터 영역은 전역 변수등 프로그램이 사용하는 데이터를 저장하는 부분이다. 스택 영역은 함수가 호출될 때 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터를 임시로 저장하는 데에 사ㅣ용되는 공간이다. 프로그램은 메인함수에서 실행을 시작하고 다른 함수가 호출이 되면 그 위치로 점프해 그 함수를 실행하고 돌아오게 되는데 이때 돌아와야하는 지점을 스택에 저장한다. 인터럽트의 동작 원리도 함수의 호출과 비슷하다. 인터럽트가 발생하면 ..

    운영체제와 정보 기술의 원리 3장. 컴퓨터 시스템의 동작 원리

    3장. 컴퓨터 시스템의 동작 원리 컴퓨터 시스템의 구조 내부장치 : CPU, 메모리 외부장치 : 디스크, 키보드, 마우스, 모니터, 네트워크 장치 등 컨트롤러 : 하드웨어 장치를 제어하기 위한 작은 CPU CPU 연산과 I/O 연산 로컬버퍼: 장치로 부터 오고가는 데이터를 임시로 저장하기 위한 입출력장치들의 메모리 입출력장치는 CPU 연산이 필요할 때 컨트롤러를 통해서 인터럽트를 발생시켜 CPU에 보고하게되고 CPU는 작업중 인터럽트가 들어오면 인터럽트를 처리한 후 하던 작업으로 되돌아가게 된다. 인터럽트의 일반적 기능 인터럽트 : 각 장치들의 컨트롤러가 CPU서비스가 필요할 때 통보(장치입장에서는 허락을 구함, CPU입장에서는 방해를 받음) 하드 인터럽트 : 컨트롤러가 발생시키는 인터럽트 소프트 인터럽..

    운영체제와 정보 기술의 원리 1장 & 2장. 운영체제

    1장. 컴퓨터 및 정보기술의 역사 컴퓨터의 이론적 발견과 하드웨어의 역사를 다루고 있다. 역사적인 내용이 대부분이기 때문에 읽고 넘어가기. 2장. 운영체제 개요 운영체제의 정의 운영체제(operating system)란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 말한다. 좁은 의미의 운영체제 : 메모리에 상주하는 운영체제의 부분을 커널이라고 부르며 이를 좁은 의미의 운영체제라고 부른다 넓은 의미의 운영체제 : 커널뿐 아니라 시스템을 위한 유틸리티들을 광범위하게 포함하는 시스템 운영체제의 기능 환경을 제공하는 것 : 운영체제가 여러 사용자 및 프로그램들에게 사용하는 것과 같은 환상을 제공하는 것 ex) 사용자는 파일이 디스크에 어떻게 저장되는 지 몰라도 손쉽게 저장하거나 파일의 내용을 확인할 수 있..