일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준 9012번
- 플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)
- 백준 2504번
- DFS(Depth First Search)
- 백준 18352번
- 백준 2812번
- 백준 17608번
- DFS & BFS
- 그래프(Graph)
- 다익스트라 알고리즘(Dijkstra Algorithm)
- 백준 1707번
- 백준 2261번
- 위상 정렬(Topological Sort)
- 큐(Queue)
- 분할 정복(Divide and Conquer)
- 백준 2493번
- 알고리즘 개념
- BFS
- 그리디 알고리즘(Greedy Algorithm)
- 트리(Tree)
- BFS(Breadth First Search)
- 백준 10000번
- 이분 그래프(Bipartite Graph)
- 이분 탐색(Binary Search)
- 위상 정렬(Topology Sort)
- 동적 프로그래밍(Dynamic Programming)
- 백준 1948번
- DFS
- 스택(Stack)
- 백준 21606번
- Today
- Total
Always Be Wise
컴퓨터 구조 개론 본문
컴퓨터 전원을 켜면 어떤 일이?
컴퓨터 전원을 켜면 외부 전원의 전압이 내부에서 사용할 수 있는 전압으로 변환되어서,
이 전기가 CPU로 전달되어 CPU 레지스터인 프로그램 카운터(PC, Program Counter)를
메인보드 상의 ROM BIOS의 부트 프로그램의 주소 값으로 초기화한다.
프로그램 카운터 테지스터란?
프로그램 카운터 레지스터는 다음에 수행할 기계어의 주소를 저장하는 작은 메모리이다.
부트 프로그램이란 부팅(booting)이라고 하는 작업을 수행하는 프로그램이다.
부트 프로그램은 먼저 CPU 이상 유무를 테스트한 후, 테스트 결과가 ROM BIOS에 저장된 값과 일치하면
다음의 POST(Power On Self Test) 작업을 수행한다.
POST는 시스템 버스, RCT(Real Time Clock 또는 System Clock), 시스템의 비디오 구성 요소들(비디오 메모리 등),
RAM, 키보드, 연결된 모든 드라이브(플로피, CD, 하드 디스크 등)에 신호를 보내 정상적으로 동작하는 지를 테스트 하는 과정이다.
부트 프로그램은 운영 체제를 로드하기 위해 디스크의 첫 번째 섹터를 메인 메모리로 읽어 들인다.
디스크의 첫 번째 섹터에는 MBR(Master Boot Record)이 있는데, 이 정보를 바탕으로 운영 체제를 찾아 기억 장치에 적재한다.
이때부터 운영 체제에서 정의된 부팅 과정이 수행된다.
운영 체제는 운영 체제 자신의 'init'과 같은 첫 번째 프로세스를 실행하고, 사용자로부터 요청이 발생하기를 기다린다.
이러한 요청은 하드웨어나 소프트웨어로부터 인터럽트(Interrupt)의 형태로 발생된다.
하드웨어는 시스템 버스를 통해 CPU에 신호를 보내 인터럽트를 발생시킨다.
소프트웨어는 시스템 콜이라는 불리는 틀별한 명령을 실행하여 인터럽트를 발생시킨다.
컴퓨터 구조 개괄
컴퓨터는 기본적으로 하드웨어와 소프트웨어로 이루어져있다.
하드웨어는 각종 전자 회로와 물리적인 장치로 이루어진 기계 부분을 말한다.
다양한 기계, 전자 기기, 반도체 등이 사용되는 부분으로써, 만질 수 있고, 눈에 보이는 외형을 가진 전기, 기계적인 장치를 말한다.
하드웨어는 소프트웨어와 다르게 한번 제작/설치되면 변경이 쉽지 않다.
중앙처리장치(CPU), 주기억장치(Main Memory), 입출력장치(I/O Devices) 등이 속한다.
펌웨어란?
하드웨어의 제어 / 사용과 아주 밀접한 관련이 있는 소규모의 프로그램을 의미한다.
예를 들어 어떤 하드웨어를 만드는 경우, 이를 제어하는 모든 회로를 하드웨어로만 만들면
구조도 복잡해지고 구현하기 어려운 부분도 발생한다.
이러한 부분을 소프트웨어로 구현함으로써 향후 기능의 추가나 업그레이드가 쉬워지는 장점이 있다.
소프트웨어는 하드웨어를 활용할 수 있도록 해주는 프로그램을 말한다.
이는 다시 시스템 소프트웨어와 응용 프로그램으로 구분할 수 있다.
시스템 소프트웨어는 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정하는 기능을 수행한다.
컴퓨터 시스템의 구성 요소인 하드웨어, 소프트웨어, 데이터를 적절하게 사용할 수 있는 방법을 제공하는 운영 체제,
컴퓨터를 관리하기 위한 소프트웨어, 사용자에게 편이 기능을 제공하는 소프트웨어 등의 프로그램들을 의미한다.
대표적인 시스템 웨어로는 운영 체제나 컴파일러 등이 있다.
응용 프로그램은 사용자의 여러 요구 사항을 해결하기 위해 제공되는 프로그램이다.
사용자가 직접 사용하드 워드프로세서, 스프레드시트, 인터넷 브라우저 등의 소프트웨어들이 해당한다.
'컴퓨터 시스템 > 컴퓨터 구조' 카테고리의 다른 글
정보의 표현과 저장 (0) | 2021.12.14 |
---|---|
컴퓨터의 기본 구조 (0) | 2021.12.14 |