[운영체제] - 운영체제 개요 (Introduction of Operating System)
·
💻 Computer Science/운영체제
컴퓨터는 데이터(Data)를 처리하고, 그 처리한 결과를 출력하거나 저장한다. 이때, 데이터를 처리하는 결과를 "정보(Informaton)"이라고 한다. 컴퓨터는 크게 하드웨어와 소프트웨어로 구성되는데, 소프트웨어는 하드웨어에 명령을 내려 작업을 수행하여 데이터를 가치 있는 정보로 변환한다. 운영체제 정의운영체제란 컴퓨터 전체를 관리하고 운영하는 소프트웨어로, 컴퓨터를 관리하기 위한 기본적인 규칙과 절차를 규정하여 컴퓨터 내의 모든 하드웨어와 응용 프로그램을 관리한다. 컴퓨터 전원을 켜면 가장 먼저 실행되는 프로그램이며 사용자나 응용 프로그램들은 운영체제를 통해서만 컴퓨터 자원에 접근 가능하다. 운영체제는 주로 다음의 역할들을 수행한다.자원 관리: 운영체제는 컴퓨터 자원을 응용 프로그램에 적절히 나누어주..
[컴퓨터 구조] - 가상 머신 (Virtual Machines)
·
💻 Computer Science/컴퓨터 구조
여태까지 배운 것은 물리적으로 존재하는 컴퓨터이다. 즉, 논리 회로, CPU, I/O Device, 버스 등 이것들은 실제로 존재하는 것들이다. 이번 포스팅에서는 컴퓨터가 만들어내는 가상의 컴퓨터인 "가상 머신"에 대해서 배워보고 여러 가지 가상 머신의 종류들에 대해 알아보겠다.가상 머신 (Virtual Machines) 가상 머신은 최근 "가상화"라는 이름으로 각광받고 있다. 이는 다양한 운영체제(OS)에서 프로그램을 개발하거나 테스트를 해야할 때 활용 가능하다. 즉, 가상 머신을 통해 OS별로 운영체제 이미지를 올려 가상 머신 상에서 프로그램을 테스트할 수 있다.  이러한 가상 머신을 사용하면 가상화 솔루션 비용만으로 프로그램 개발이 가능하기에 많은 비용 절감이 가능하고 가상 머신을 이용할 시 시스템..
[컴퓨터 구조] - 명령어 집합 (Instruction Set Architecture)
·
💻 Computer Science/컴퓨터 구조
기계적 명령어를 설계하는 것은 하드웨어 구조에 영향을 끼치기에 명령어의 종류와 형식, 주소 지정 방식 등 여러가지를 고려해야 한다. 지금부터 명령어 집합에 대해서 더 자세히 알아보도록 하겠다.명령어 구성 (Instruction Structure) 하나의 명령어는 0과 1의 비트들의 집합으로 필트(Field)라 불리는 여러 개의 비트 그룹으로 나뉘어진다. 이 중 대표적인 필드가 연산자 코드 필드(Operation Code)와 피연산자 필드(Operand Field)이다.연산자 코드 필드(Operation Code Field)피연산자 필드(Operand Field)`연산자 코드 필드`: 수행할 연산자의 종류를 나타내며 보통 op-code(Operation Code)로 불린다.`피연산자 필드`: 피연산자에 대..
[컴퓨터 구조] - 기계어와 어셈블리어 (Machine Language, Assembly language)
·
💻 Computer Science/컴퓨터 구조
기계어와 어셈블리어를 이해하면 컴퓨터가 내부에서 어떻게 동작하는지를 더욱 자세히 알 수 있고 컴퓨터 구조를 소프트웨어 관점에서 바라볼 수 있다. 실제로 기계어와 어셈블리어를 사용하여 프로그래밍을 하는 일은 드물지만 이를 이해하면 고급 언어를 사용할 때 더 효율적인 프로그래밍이 가능하다.기계어(Machine Language) 컴퓨터의 종류에 따라 컴퓨터가 이해할 수 있는 기계어의 모양은 조금씩 다르다. 이 포스팅에서는 Pep/8이라는 가상 머신을 기준으로 내용을 전개하도록 하겠다. (기계어 코드 표를 참고하면 더 자세히 공부할 수 있다.)  기계어로 "Hi"를 출력하려면 다음과 같은 기계어 프로그램을 입력해야 한다.메모리 주소기계어(16진수)기계어(2진수)00000003000650 00 4850 00 69..
[컴퓨터 구조] - 버스 (Bus)
·
💻 Computer Science/컴퓨터 구조
버스 (Bus) 컴퓨터 하드웨어는 크게 중앙처리장치(CPU), 메인 메모리(기억 장치), 입출력 장치로 나뉘며 이들은 모두 버스(Bus)로 연결되어 있다. 버스(Bus)란 CPU, 주기억 장치, 외부의 입출력 장치 사이의 정보 전송을 위한 전기적 통로이다. 즉, 컴퓨터의 많은 장치들이 서로 데이터를 주고 받기 위한 통로이며 버스의 크기, 버스를 통한 데이터 전송 속도가 시스템의 성능을 좌우한다.버스의 분류버스에 실리는 신호의 종류에 따라 데이터 버스, 주소 버스, 제어 버스로 구성된다.`데이터 버스(Data Bus)`: 메인 메모리와 CPU 사이, 입출력 장치와 메인 메모리 사이, CPU 내부의 모듈들 간의 데이터가 이동하는 경로`주소 버스(Address Bus)`: CPU가 사용하고자 하는 데이터가 위..
[컴퓨터 구조] - 입출력 시스템 (I/O System)
·
💻 Computer Science/컴퓨터 구조
입출력 시스템 구성 요소 입출력 시스템에 의해서 컴퓨터는 외부 데이터를 CPU나 기억장치로 불러들이기(입력)도 하고, 반대로 외부로 내보내기(출력)도 한다. 입출력 시스템은 "입출력장치", "입출력장치 제어기", "입출력장치 인터페이스", "입출력 제어기", "입출력버스"로 구성되어 있다.`입출력장치`: 사용자와 컴퓨터 시스템의 인터페이스로, 사용자는 입력장치를 이용하여 컴퓨터 시스템에 프로그램과 데이터를 제공하고 컴퓨터 시스템은 처리한 결과를 출력장치를 통해 사용자에게 제공한다.`입출력장치 제어기`: 입출력장치를 구동시키는 작업을 수행하는 기기로, 아날로그 회로를 포함한다.`입출력장치 인터페이스`: 입력장치에서 입력된 디지털 형태의 데이터와 컴퓨터 시스템 내에 있는 중앙처리장치나 주기억장치 내에서 다루..
[컴퓨터 구조] - 기억 장치 (Computer Data Storage)
·
💻 Computer Science/컴퓨터 구조
기억 장치 (Computer Data Storage)기억 장치는 컴퓨터에서 처리하려는 프로그램과 데이터를 저장하는 기능을 담당하는 장치이다. 기능과 저장장소에 따라 주기억장치와 보조기억장치로 구성된다. 기억장치를 설계할 때, 비용과 용량을 고려해 주기억장치와 보조기억장치를 구성해야 한다.지역성의 원리 (Principle of Locality) 지역성의 원리란 프로그램이 실행될 때, 데이터와 명령어를 특정한 영역에서 집중적으로 참조하는 경향을 말한다. 이러한 지역성에는 두 가지 형태로 존재한다.`시간적 지역성(Temproal Locality)`: 어떤 내용이 한 번 참조되면, 곧바로 다시 참조되기 쉽다. 즉, 한 번 사용한 정보는 시간적으로 곧 다시 사용될 가능성이 높다는 것이다.`공간적 지역성(Spati..
loading