전체 글
-
CPU 스케줄링 알고리즘 CPU 스케줄러는 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당합니다. 비선점형 방식 프로세스가 스스로 CPU 소유권을 포기하는 방식으로 강제로 프로세스를 중지하지 않는 방식을 의미합니다. FCFS 가장 먼저 온 것을 가장 먼저 처리하는 알고리즘입니다. 길게 수행되는 프로세스로 인해 오래 기다리는 현상이 발생하는 단점이 있습니다. SJF 실행 시간이 가장 짧은 프로세스를 가장 먼저 실행하는 알고리즘입니다. 실제 실행 시간을 알 수 없기 때문에 과거 실행했던 시간을 토대로 추측해서 사용합니다. 우선순위 오래된 작업일수록 우선순위를 높이는 방법을 사용하는 알고리즘입니다. 선점형 방식 현대 운영체제가 쓰는 방식으로 지금 사용하고 있는 프로세스..
[OS] 03_CPU SchedulingCPU 스케줄링 알고리즘 CPU 스케줄러는 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당합니다. 비선점형 방식 프로세스가 스스로 CPU 소유권을 포기하는 방식으로 강제로 프로세스를 중지하지 않는 방식을 의미합니다. FCFS 가장 먼저 온 것을 가장 먼저 처리하는 알고리즘입니다. 길게 수행되는 프로세스로 인해 오래 기다리는 현상이 발생하는 단점이 있습니다. SJF 실행 시간이 가장 짧은 프로세스를 가장 먼저 실행하는 알고리즘입니다. 실제 실행 시간을 알 수 없기 때문에 과거 실행했던 시간을 토대로 추측해서 사용합니다. 우선순위 오래된 작업일수록 우선순위를 높이는 방법을 사용하는 알고리즘입니다. 선점형 방식 현대 운영체제가 쓰는 방식으로 지금 사용하고 있는 프로세스..
2024.02.04 -
프로세스와 스레드 프로세스 컴퓨터에서 실행되고 있는 프로그램을 의미하며 CPU 스케줄링의 대상이 되는 작업이라는 용어와 거의 같은 의미로 사용됩니다. 프로그램이 메모리에 올라가 인스턴스화된 것을 이야기합니다. 프로그램이 메모리에 올라가면 프로세스가 인스턴스화가 일어나고 이후 OS의 CPU 스케줄러에 따라 CPU가 프로세스를 실행합니다. 스레드 프로세스 내 작업의 흐름을 의미합니다. 컴파일 과정 전처리 소스 코드의 주석을 제거하고 헤더 파일을 병합합니다. 컴파일러 오류 처리, 코드 최적화 작업을 하며 어셈블리어로 변환합니다. 어셈블러 어셈블리어는 Object code(목적 코드)로 변환하며 운영체제에 따라 확장자가 다르게 만들어집니다. 링커 프로그램 내에 존재하는 라이브러리 함수 또는 다른 파일들과 목적 ..
[OS] 02_프로세스와 스레드프로세스와 스레드 프로세스 컴퓨터에서 실행되고 있는 프로그램을 의미하며 CPU 스케줄링의 대상이 되는 작업이라는 용어와 거의 같은 의미로 사용됩니다. 프로그램이 메모리에 올라가 인스턴스화된 것을 이야기합니다. 프로그램이 메모리에 올라가면 프로세스가 인스턴스화가 일어나고 이후 OS의 CPU 스케줄러에 따라 CPU가 프로세스를 실행합니다. 스레드 프로세스 내 작업의 흐름을 의미합니다. 컴파일 과정 전처리 소스 코드의 주석을 제거하고 헤더 파일을 병합합니다. 컴파일러 오류 처리, 코드 최적화 작업을 하며 어셈블리어로 변환합니다. 어셈블러 어셈블리어는 Object code(목적 코드)로 변환하며 운영체제에 따라 확장자가 다르게 만들어집니다. 링커 프로그램 내에 존재하는 라이브러리 함수 또는 다른 파일들과 목적 ..
2024.02.04 -
컴퓨터 구조 컴퓨터 구성요소 CPU, DMA 컨트롤러, 메모리, 타이머, 디바이스 컨트롤러 등으로 이루어져 있습니다. CPU 산술 논리 연산 장치, , 제어장치, 레지스터로 구성되어 있는 장치를 말하며 단순히 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼입니다. 운영체제의 커널이 프로그램을 메모리에 올려 프로세스로 만들게 된다면 일꾼인 CPU가 프로세스를 처리합니다. 구성 요소 제어장치(Control Unit) 프로세스 조작을 지시하는 CPU의 하나의 부품 입출력 장치 간 통신을 제어하고 명령어들을 읽고 해석하면서 데이터 처리를 위한 순서를 결정하는 역할을 하고 있습니다. 레지스터 CPU 안에 있는 매우 빠른 임시기억장치를 의미합니다. CPU와 직접 연결되어 있어 연산속도가 메모리에 있을 때 보다 수..
[컴퓨터구조] 01_컴퓨터 구조컴퓨터 구조 컴퓨터 구성요소 CPU, DMA 컨트롤러, 메모리, 타이머, 디바이스 컨트롤러 등으로 이루어져 있습니다. CPU 산술 논리 연산 장치, , 제어장치, 레지스터로 구성되어 있는 장치를 말하며 단순히 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼입니다. 운영체제의 커널이 프로그램을 메모리에 올려 프로세스로 만들게 된다면 일꾼인 CPU가 프로세스를 처리합니다. 구성 요소 제어장치(Control Unit) 프로세스 조작을 지시하는 CPU의 하나의 부품 입출력 장치 간 통신을 제어하고 명령어들을 읽고 해석하면서 데이터 처리를 위한 순서를 결정하는 역할을 하고 있습니다. 레지스터 CPU 안에 있는 매우 빠른 임시기억장치를 의미합니다. CPU와 직접 연결되어 있어 연산속도가 메모리에 있을 때 보다 수..
2024.02.04 -
운영체제 개념 운영체제(Operating System)는 우리가 쉽게 OS라고 말하는 것이며 사용자가 컴퓨터를 쉽게 다루게 해주는 소프트웨어를 의미합니다. OS에 유명한 것으로는 우리가 많이 사용하는 Windows와 MacOS가 있습니다. 운영체제의 역할 CPU 스케줄링과 프로세스 관리 CPU의 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리합니다. 메모리 관리 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리합니다. 디스크 파일 관리 디스크 파일을 어떠한 방법으로 보관할지 관리합니다. I/O 디바이스 관리 I/O 디바이스인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리합니다. 운영체제의 구조 유저 프로그램(크롬, 알집 등)이 제일 상단에 있..
[OS] 01_운영체제_기초운영체제 개념 운영체제(Operating System)는 우리가 쉽게 OS라고 말하는 것이며 사용자가 컴퓨터를 쉽게 다루게 해주는 소프트웨어를 의미합니다. OS에 유명한 것으로는 우리가 많이 사용하는 Windows와 MacOS가 있습니다. 운영체제의 역할 CPU 스케줄링과 프로세스 관리 CPU의 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리합니다. 메모리 관리 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리합니다. 디스크 파일 관리 디스크 파일을 어떠한 방법으로 보관할지 관리합니다. I/O 디바이스 관리 I/O 디바이스인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리합니다. 운영체제의 구조 유저 프로그램(크롬, 알집 등)이 제일 상단에 있..
2024.02.04 -
HTTP HTTP/1.0부터 HTTP/3까지 있으며 차례대로 설명을 할 예정입니다. HTTP/1.0 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었음으로 RTT(지연시간)의 증가한다는 문제가 존재합니다. 서버에서 파일을 송, 수신 할 때 TCP의 3 Way Handshake 방식을 사용하여 계속 열어야함으로 RTT 증가합니다. HTTP/1.1 매번 TCP 연결을 하는 것이 아니라 TCP 연결을 한번 초기화 한 이후에는 keep-alive 라는 옵션으로 서버에 여러 파일을 송,수신 할 수 있도록 변경되었습니다. 하지만 파일 안에 다수의 리소스를 처리하려면 요청할 리소스 개수에 비례하여 대기 시간이 길어지는 문제가 존재합니다. HTTPS Application 계층과 Transport 계층 사이의 신뢰..
[Network] 03_HTTPHTTP HTTP/1.0부터 HTTP/3까지 있으며 차례대로 설명을 할 예정입니다. HTTP/1.0 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었음으로 RTT(지연시간)의 증가한다는 문제가 존재합니다. 서버에서 파일을 송, 수신 할 때 TCP의 3 Way Handshake 방식을 사용하여 계속 열어야함으로 RTT 증가합니다. HTTP/1.1 매번 TCP 연결을 하는 것이 아니라 TCP 연결을 한번 초기화 한 이후에는 keep-alive 라는 옵션으로 서버에 여러 파일을 송,수신 할 수 있도록 변경되었습니다. 하지만 파일 안에 다수의 리소스를 처리하려면 요청할 리소스 개수에 비례하여 대기 시간이 길어지는 문제가 존재합니다. HTTPS Application 계층과 Transport 계층 사이의 신뢰..
2024.01.28 -
TCP/IP TCP/IP 4 계층과 OSI7 계층 비교 OSI 7계층과 다르게 TCP/IP는 계층을 조금 더 포괄적으로 다루고 있는 것이 특징입니다. Application 계층 FTP, HTTP, SSH, SMTP, DNS 등 Application이 사용되는 프로토콜 계층이며 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 계층 FTP : 장지 간 파일을 전송하는 데 사용되는 표준 통신 프로토콜 SSH : 보안되지 않는 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜 HTTP : WWW(World Wide Web)을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는데 쓰는 프로토콜 SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜 DNS : 도메인..
[Network] 02_TCP/IP, 데이터 통신TCP/IP TCP/IP 4 계층과 OSI7 계층 비교 OSI 7계층과 다르게 TCP/IP는 계층을 조금 더 포괄적으로 다루고 있는 것이 특징입니다. Application 계층 FTP, HTTP, SSH, SMTP, DNS 등 Application이 사용되는 프로토콜 계층이며 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 계층 FTP : 장지 간 파일을 전송하는 데 사용되는 표준 통신 프로토콜 SSH : 보안되지 않는 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜 HTTP : WWW(World Wide Web)을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는데 쓰는 프로토콜 SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜 DNS : 도메인..
2024.01.28