컴퓨터공학

    가상 메모리

    가상 메모리

    가상 메모리란? 운영체제의 대표적인 할 일 중 하나가 메모리 관리이다. 컴퓨터 내의 한정된 메모리를 극한으로 활용해야 하기 때문이다. 가상 메모리는 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것을 말한다. 가상 메모리의 핵심은 필요한 부분만 메모리에 적재 주 기억 장치의 용량보다 큰 프로그램 파일이라도 사용자가 메모리에 올려놓을 수 있게 하는 기법 장점 1. 논리적으로 메모리를 확장하여 사용할 수 있다. 실제 메모리가 가지고 있는 공간보다 더 큰 공간으로 확장할 수 있다. 그렇다고 해서 실제 물리 메모리가 가지고 있는 공간 그 이상으로 데이터를 저장할 순 없지만 주 기억장치, 디스크, 레지스터 등의 공간을 연..

    시스템 콜

    시스템 콜

    시스템 콜(System Call)이란? 운영체제가 커널에 접근하기 위한 인터페이스이며 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 사용한다. 유저 프로그램이 I/O요청으로 트랩(trap)을 발동하면 올바른 I/O요청인지 확인한 후 유저 모드가 시스템 콜을 통해 커널 모드로 변환되어 실행된다. 유형 프로세스 제어,파일 조작,장치 조작,정보 유지 보수,통신과 보호 사용 이유 만약에 I/O요청인 fs.readFile()이라는 파일 시스템의 파일을 읽는 함수가 발동했다고 했을 때 이때 유저 모드에서 파일을 읽지 않고 커널 모드로 들어가 파일을 읽고 다시 유저 모드로 돌아가 그 뒤에 있는 유저 프로그램의 로직을 수행한다 이과정에서 컴퓨터 자원에 대한 직접 접근을 차단할 수 있고 프로그램을..

    프로그램 실행 단계

    프로그램 실행 단계

    화면상에서 프로그램을 눌러 프로그램을 실행시킬 때 컴퓨터에서 일어나는 일을 정리한다. 일단 모든 프로그램은 보조기억장치인 HDD 또는 SSD에 저장되어있다. 프로그램을 실행시켜보면 다음 단계로 나뉘어 실행되게된다. 프로그램 실행 단계 1. Loading 단계 보조 기억 장치(SSD, HDD)에서 주기억 장치인 메모리로 로드한다. 2. Fetch 단계 메모리에 올라온 데이터를 CPU안에 레지스터로 올리게 된다. 3. Decode 단계 CPU 레지스터의 올라와있는 데이터를 CPU의 ALU(연산 장치)에서 해석하게 된다. 4. Execution 단계 ALU에서 해석된 데이터를 연산하여 프로그램을 실행시킨다.

    그래픽 카드

    그래픽 카드

    그래픽 카드란? PC에서 모니터로 전송되는 시각정보 즉 그래픽을 처리하는 역할 기존 컴퓨터에서는 CPU에서 모든 그래픽 처리를 담당하였지만 기술에 발전으로 CPU만으로는 힘들어졌고 그래서 CPU에서 그래픽을 담당하는 부분을 가져와서 제작한 것이 그래픽 카드이다. 덕분에 CPU는 중요한 연산에만 집중할수 있어 효율을 증가시켰다. 그래픽카드의 구조 그래픽 카드 안에는 GPU라는 칩이있고 칩을 지탱하는 PCB 기판과 전원부가 존재하며 그래픽 연산을 위한 VRAM이 존재한다. GPU/CPU의 차이점 그래픽 카드에도 CPU처럼 GPU 칩이 들어있다 GPU CPU 병렬 구성 직렬 구성 코어수가 많고 간단한 작업 유리 코어수가 GPU보다 적고 큰 작업 유리 GPU의 경우 픽셀로 이루어진 영상이나 게임을 반복적이고 대..

    메모리

    메모리

    메모리란? 전자회로에서 데이터나 상태, 명령어 등을 기록하는 장치를 말하며 보통은 RAM(Random Access Memory)을 일컬어 메모리라고 한다. CPU는 계산을 담당하고, 메모리는 기억을 담당, 비유하자면 CPU는 일꾼이고 메모리는 작업장 작업장의 크기는 즉 메모리의 크기를 뜻한다. 작업장이 클수록 창고에서 물건을 많이 가져다 놓고 많은 일을 할 수 있듯이 메모리가 크다면 많은 일을 동시에 할 수 있다. 메모리 계층 레지스터, 캐시, 메모리, 저장장치로 이루어져 있다. 속도 용량 가격 레지스터 가장 빠름 가장 작음 가장 높음 캐시 빠름 작음 높음 주기억장치 보통 보통 보통 보조기억장치 느림 가장 큼 낮음 램은 보조기억장치에서 일정량의 데이터를 복사해서 임시 저장하고 이를 필요 시마다. CPU에..

    CPU(Central Processing Unit)

    CPU(Central Processing Unit)

    CPU란? 산술 논리 연산장치, 제어장치 , 레지스터로 구성되어있는 컴퓨터 장치를 말하며 인터럽트에 의해 단순히 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼 용어 설명 제어장치 프로세스 조작을 지시하는 CPU의 한부품으로 입출력 장치 간 통신을 제어하고 명령어들을 읽고 해석하며 데이터 처리를 위한 순서를 결정 레지스터 CPU안에 있는 매우 빠른 임시기억장치를 말한다. CPU와 물리적으로 직접 연결되어 있으므로 연산 속도가 메모리보다 수십 배에서 수백 배까지 빠르다. CPU자체적으로 데이터를 저장할 방법이 없기 때문에 레지스터를 거쳐 데이터를 전달한다. 산술 논리 연산 장치 덧셈 뺄셈 같은 두 숫자의 산술 연산과 배타적 논리합 논리곱 같은 논리 연산을 계산하는 디지털 회로 부품 살 때 나오는 정보들 ..

    운영제체

    운영제체

    운영체제 컴퓨터 시스템 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 사용자와 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종 컴퓨터를 운영하는 핵심 시스템을 커널이라고 부른다. 운영체제의 역할 1. CPU 스케줄링과 프로세스 관리 CPU의 소유권을 어떤 프로세스에 할당할지 프로세스의 생성과, 삭제 2. 메모리 관리 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 3. 디스크 파일 관리 디스크 파일을 어떠한 방법으로 보관할지 관리 4. 입/출력 디바이스 관리 마우스, 키보드, 모니터 간에 데이터를 주고받는 것을 관리 운영체제의 메모리 구조 파일 열기 요청을 했을 때의 과정 용어 설명 시스템 호출(시..

    컴퓨터 구조

    컴퓨터 구조

    컴퓨터란? 명령어를 처리하는 기계 사람의 지시에 따라 다양한 일을 자동으로 처리할 수 있는 기계장치이다. 컴퓨터 구조 하드 웨어 컴퓨터의 물리적인 장치 CPU, 그래픽 카드, RAM, 메인보드, 파워, 모니터 등등이 있다. 소프트 웨어 컴퓨터를 동작하게 해주는 지시나 명령을 동작하게 해주는 무형물 등을 지칭하는 말로 위에있는 하드웨어들이 전기신호를 받아서 동작 명령을 수행 하드웨어 부품들의 역할 메인보드 컴퓨터 부품 사이를 이어주는 역활을 하는 부품 RAM을 꽂을 수 있는 램슬롯과 , CPU슬롯, 사운드 카드 등등을 꽂을 수 있는 PCI 슬롯을 제공 CPU 컴퓨터 중앙 처리 장치 CPU는 하드 디스크와 램 기타 장치에서 오는 정보를 처리하며 계산된 정보를 다시보내는 역활을 한다. CPU는 연산을 많이 처..