Operating System chapter 1
커널이란 ?
- 커널은 운영 체제의 핵심 구성 요소로, 컴퓨터 하드웨어와 소프트웨어 간의 인터페이스 역할을 합니다. 즉, 운영 체제의 핵심 기능을 구현하고 하드웨어와 소프트웨어 간의 통신을 중재하는 소프트웨어 계층입니다.
Ex) 커널은 강력한 경영진(하드웨어)을 위해 분주하게 일하는 개인 비서입니다. 비서의 할 일은 직원 및 대중(사용자)으로부터 수신되는 메시지 및 요청(프로세스)을 경영진에게 전달하고, 어디에 무엇이 저장되어 있는지 기억(메모리)하고, 특정한 시간에 누가 경영진을 얼마 동안 만날 수 있는지 결정하는 것입니다.
- 커널은 운영 체제의 주요 기능인 프로세스 관리, 메모리 관리, 파일 시스템, 입출력 관리, 네트워킹, 보안 등을 제공합니다
- 커널은 하드웨어와 상호 작용하여 하드웨어 자원을 효율적으로 사용하고, 이에 대한 추상화 레이어를 제공합니다.
- 운영 체제의 종류에 따라 커널의 종류도 다양합니다. 대표적인 예로, 리눅스 운영 체제의 커널은 리눅스 커널이며, 윈도우 운영 체제의 커널은 윈도우 커널입니다.
미들웨어란 ?
- 중간에 있는 소프트 웨어라는 뜻으로 웹 개발에서는 클라이언트 와 백엔드 사이에서 요청과 응답에 개입하는 소프트 웨어입니다.
- 미들웨어는 애플리케이션의 기능을 개선하거나 확장하기 위해 사용될 수 있습니다
- 미들웨어는 일반적으로 다음과 같은 기능을 수행합니다.
- 통신 프로토콜 변환: 클라이언트와 서버 간에 사용하는 프로토콜을 서로 다른 프로토콜로 변환합니다.
- 보안: 애플리케이션 간의 통신을 보호하기 위해 암호화 및 인증을 제공합니다.
- 데이터 변환: 데이터 형식을 변경하거나 데이터를 다른 형식으로 변환합니다.
- 트랜잭션 관리: 데이터베이스 트랜잭션을 관리하고 분산 트랜잭션을 처리합니다.
- 오류 처리: 애플리케이션에서 발생하는 오류를 처리하고 복구합니다.
버스란 ?
- 버스(bus)는 컴퓨터 시스템 내에서 데이터 및 신호를 전송하기 위한 공용 통신 경로를 말합니다
3가지 종류
- 데이터 버스: 데이터 버스는 컴퓨터 시스템에서 데이터를 전송하는 데 사용됩니다. 데이터 버스는 주로 8비트, 16비트, 32비트 또는 64비트 너비를 가지며, 너비가 높을수록 더 많은 데이터를 한 번에 전송할 수 있습니다.
- 주소 버스: 주소 버스는 컴퓨터 시스템에서 메모리나 I/O 장치와 같은 주변장치에 데이터를 읽거나 쓸 때 사용됩니다. 주소 버스는 CPU에서 메모리 또는 주변장치에 접근할 때 사용되는 물리적인 주소를 전송합니다.
- 제어 버스: 제어 버스는 컴퓨터 시스템에서 데이터 및 주소 버스의 사용을 제어하는 데 사용됩니다. 제어 버스는 CPU와 주변장치 간의 통신을 동기화하고 데이터 및 주소 버스를 통해 데이터를 전송할 때 해당 버스가 사용 가능한지 여부를 결정합니다.
Ex) 시스템 버스는 컴퓨터 시스템의 교통 시스템이라고 생각하면 된다. 당신이 하드 디스크에 저장되어 있는 MP3 파일의 음악을 듣을려고 한다고 상상을 해보자. 이때 MP3 파일 자체를 데이터라고 보면 된다. 이 데이터는 스피커를 통해 소리를 내기 위해서는 사운드 카드로 전송되어 아날로그 시그널로 변환 되어야 한다. 여기서 MP3 파일이 위치한 하드 디스크와 사운드 카드가 주소 정보라고 생각하면 된다. 마지막 컨트롤 정보는 앞의 데이터와 주소 정보가 언제, 어디로 가야 하는지를 알려 준다. 이 모든 것들이 컴퓨터의 두뇌인 CPU에 의해서 관리가 되지만, 실제 데이터를 전송하는것은 시스템 버스이다.
메모리란?
- 메모리는 CPU가 작업을 수행할 때 필요한 데이터와 명령어를 저장합니다.
- 메모리는 빠른 속도로 데이터를 읽고 쓸 수 있어서 컴퓨터의 성능에 매우 중요한 역할을 합니다.
- 컴퓨터 메모리는 주로 RAM(Random Access Memory)과 ROM(Read-Only Memory)으로 나뉘어집니다.
- RAM은 읽기와 쓰기가 가능한 휘발성 메모리로, 일시적인 데이터 저장이 가능합니다.
- 반면 ROM은 읽기 전용으로 데이터를 저장하고, 일반적으로 펌웨어 등 시스템 소프트웨어에 사용됩니다.
인터럽트란?
- 하드웨어나 소프트웨어에서 발생하는 예기치 않은 상황 또는 이벤트가 발생하여, CPU가 현재 실행 중인 작업을 중단하고 해당 상황을 처리하는 기능입니다.
Ex) 사용자가 키보드를 누르면 키보드가 인터럽트 신호를 보내어 CPU가 해당 이벤트를 처리하게 됩니다. 이 경우 CPU는 현재 실행 중인 프로그램을 일시 중지하고, 키보드 인터럽트를 처리하는 인터럽트 서비스 루틴(Interrupt Service Routine)을 실행합니다.
인터럽트벡터란?
- 인터럽트 벡터(Interrupt Vector)는 컴퓨터에서 인터럽트(Interrupt)가 발생할 때 실행될 인터럽트 처리 루틴의 주소를 가지고 있는 테이블입니다.
- 인터럽트 벡터는 보통 일정한 크기의 메모리 공간에 저장되어 있으며, 각 인터럽트는 고유한 인터럽트 번호를 가지고 있습니다.
- 이 인터럽트 번호를 인덱스로 사용하여 인터럽트 벡터 테이블에서 해당 인터럽트 처리 루틴의 주소를 찾아내어 실행합니다.
CPU란 ?
- 컴퓨터 시스템에서 가장 중요한 하드웨어 구성요소 중 하나로, 컴퓨터의 모든 연산을 수행합니다
- 메인보드 상에 존재함
CPU구성요소
- 제어유닛
- 산술 논리 장치
- 레지스터(임시로 데이터를 저장하는 기억장치) - 성능 향상에 매우 중요한 역할을 함
- 캐시 메모리
- 시스템 버스
보조저장장치란 ?
- 대량의 데이터를 영구히 보존할 수 있어야함
Ex) 하드디스크 드라이브(HDD), 비휘발성 메모리
왜 필요한지?
- 메인메모리에 모든 프로그램과 데이터를 영구히 저장하기 너무 작기에 필요하다
- 메인메모리는 휘발성 장치이기 때문에 필요하다
대부분의 프로그램은 메모리에 적재되기 전까지 보조저장장치에 적재된다
<저장 장치 시스템의 계층구조>
스위치란?
- 스위치(Switch)는 컴퓨터 네트워크에서 데이터를 전달하는 장치로, 패킷(Packet)을 수신하면 해당 패킷의 목적지 주소를 분석하여 전송하는 역할을 합니다.
'Operating System' 카테고리의 다른 글
review2 (0) | 2023.04.13 |
---|