운영체제도 프로그램이므로 메모리에 올라와야 실행이 가능하다. 그럼 운영체제는 누가 메모리에 올리는걸까?? 컴퓨터에 전원을 켰을 때 운영체제를 메모리에 올리는 과정을 부팅이라고 한다. 디스크에 저장된 운영체제를 메인 메모리로 새로 읽어들여 컴퓨터의 사용을 준비하는 과정이다. 부팅의 순서에 대해 알아보자!! 1. 컴퓨터에 전원이 들어오면 ROM이 동작을 시작한다. - ROM에 저장된 BIOS(Basic Input/Output System) 시동 프로그램이 컴퓨터에 연결된 각종 하드웨어를 점검한다. - 이를 POST(Power-on Self-test) 라고 한다. 2. POST 점검에 이상이 없으면, 하드디스크의 마스터 부트 레코드(MBR)에 저장된 부트스트랩 로더(부트로더)를 메모리에 로딩한다. - MBR은..
#0. 하드웨어 사양 관련 용어 1. 클럭(Clock) - 클럭은 CPU의 속도와 관련된 단위이다. CPU는 일정한 박자에 맞춰 작업을 수행하는데, 이 박자를 만들어내는 것이 클록이다. 클럭이 일정 간격으로 틱을 만들면 그 틱에 맞춰 CPU 내의 구성 부품이 작업을 수행한다. - 동일한 시스템에서 각 구성요소의 모든 동작을 동기화 하기 위해 사용하는 것. - 일반적으로 클럭 속도가 빠를수록 CPU의 성능도 빨라진다. 임의로 클록의 속도를 끌어올리는게 오버클럭. 하지만 발열 문제 역시 따라오게 된다. - 클럭은 CPU 뿐만 아니라 메인보드에도 달려있다. 메인보드가 만들어내는 클럭에 따라 버스에 연결된 부품(램)과 데이터를 주고받는다. - 클럭은 부품마다 다르다. 메인보드에서 베이스 클럭을 보내주면, 클럭을..
#1. 커널이 하는 일 1. 프로세스 관리 : 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공한다 2. 메모리 관리 : 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공간을 제공한다 3. 파일 시스템 관리 : 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다 4. 입출력 관리 : 필요한 입력과 출력 서비스를 제공한다 5. 프로세스간 통신 관리 : 공동 작업을 위한 각 프로세스간 통신(IPC) 환경을 제공한다 #2. 커널의 구조 1. 단일형 구조 커널 (Monolithic Kernel) - 모놀리식 커널 단일형 구조 커널은 초창기 운영체제의 구조로, 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있다. 유닉스, 리눅스 등이 모두 단일형 구조 커널을 기반으로 만들..
클라우드 서비스의 분야는 크게 SaaS, IaaS, PaaS 로 나눌 수 있다. 클라우드가 없는 경우 - 사용자가 서버 장비부터 하드웨어, OS, 네트워크 까지 전부 다 설정하고 작업해야 한다. IaaS(Infrastructure as a Service) - 사용자는 OS 단계부터 직접 관리한다 - 인프라(서버, 네트워크, 저장소 등)를 클라우드 업체가 제공해준다. 웹 호스팅과는 다르게 물리적 자원에 대한 규모의 확장 및 축소가 자유롭다. 필요한 만큼만 사용하면 되기 때문. - 장점은 매우 많다. 필요만큼 사용하면 되니 경제적이고, 효율적이고, 또 무엇보다 안정적이다. - AWS의 EC2, MS의 Azure가 대표적인 IaaS로 꼽힌다. PaaS(Platform as a Service) - 사용자가 바로..
서적을 읽고 복습을 위해 정리한 게시글입니다 #1. 운영체제란? 운영체제(Operating System)이란, 사용자에게 편리한 인터페이스 환경을 제공하고, 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어이다. #2. 운영체제의 역할 1. 자원 관리 - 운영체제는 컴퓨터 자원을 응용 프로그램에게 적절히 분배하고 회수하면서 사용자가 원활하게 작업할 수 있도록 돕는다. 2. 자원 보호 - 한 응용 프로그램이 할당된 영역을 넘어가 다른 응용 프로그램의 영역을 침범하지 못하도록 보호하는 것 역시 운영체제의 역할이다. - 운영체제는 사용자가 컴퓨터 자원에 직접 접근하지 못하도록 숨기고, 운영체제가 정해둔 방법으로만 컴퓨터 자원에 간접적으로 접근할 수 있다. 은닉화, 캡슐화 되어있다고 생각하면 된다. 3. 하..
# 포팅(Porting): 어떤 컴퓨터시스템에서 사용되던 소프트웨어를 다른 기종의 컴퓨터에서 동작하도록 이식하는 것을 포팅이라고 한다. # 컴퓨터 워드(word): 컴퓨터 연산의 기본 단위 1. CPU에서 한번에 처리할 수 있는 비트 수 2. 운영체제에서 사용하는 커널의 비트 수 3. 컴파일러에서 사용하는 데이터 단위 - 64bit 운영체제에서 1워드=64bit # 아스키코드: 0~127 (7bit) + 에러 검출 비트 (parity bit, 1bit) 총 8bit. # 유니코드: 전 세계 언어코드를 포함하고자 만들어진 국제 표준코드. - BMP(Basic Multilingual plane, 다국어판)에 한국어가 포함되어있다. # UTF(Unicode Transformation Format)는 유니코드 ..
# 폰 노이만 구조 폰 노이만 구조란 기존 대부분의 컴퓨터가 채택하고 있는 로 이루어진 프로그램 내장방식의 설계구조이다. - 프로그램 내장방식이란, '전자계산기에 기억장치를 갖추고 연산의 순서를 부호화해 기억시킨 후 기억된 내용을 순차적으로 꺼내 명령을 해독하고 연산을 실행하는' 방식이다. - 1945년 당시 진공관과 전선으로 코딩을 하던 시대;;에서 이런 프로그램 내장방식의 등장은 가히 혁신적이었다. - CPU, 메모리, 입출력장치의 구조는 건들일 필요 없이 소프트웨어만 손보면 원하는 연산을 얻어낼 수 있게 되기 때문이다. [특징] 1. 명령과 데이터를 저장하는 주기억장치(메모리), 산술논리 연산장치(ALU), 프로그램 제어장치(Control Unit), 입출력장치로 구성된다. 2. 프로그램 코드는 기..
# 컴퓨터란 컴퓨터(Computer)라는 용어는 "계산하는 사람"에서 유래했다. 18세기 대항해시대, 배에서 항로계산을 담당하던 사람을 "컴퓨터"라고 부르던 것에서 온 것이다. 컴퓨터의 사전적 의미는 "외부 프로그램이나 데이터 입력을 받아들여 내부 전자회로에서 자료를 계산하거나 처리해 정보를 저장하고 결과를 출력하는 기계" 이다. 또한 컴퓨터 시스템이란 그러한 기능을 수행하는 체계를 뜻한다. # 컴퓨터 시스템의 구성요소 컴퓨터 시스템은 하드웨어와 시스템 소프트웨어의 결합으로 이루어진다. 1. 하드웨어 = "컴퓨터의 내부적인 동작을 담당하는 물리적인 기계장치" 하드웨어는 컴퓨터 시스템을 구성하는 전자부품, 보드, 주변장치와 기계 설비이다. 정보가 실제로 처리되는 물리적인 장치와 정보의 전송 결로를 말한다...