컴퓨터 지식 7

[Linux&Unix] 리눅스 디렉토리 구조

들어가며https://namamim.tistory.com/103 [Linux]리눅스의 모든 것은 파일로 이루어져있다 - 리눅스 파일 시스템들어가며OS는 파일 시스템이 없다면 작동하지 않는다고 말할 수 있을 정도로 운영체제 그 자체입니다. 저희가 컴퓨터를 켜면 반겨주는 많은 바탕화면의 아이콘들도 사실은 다 파일들이죠.이 글namamim.tistory.com이전 글인 "리눅스의 모든 것은 파일로 이루어져있다 - 리눅스 파일 시스템"을 읽고 오신다면 더 이해가 쉬우실 겁니다.이 글에선 실제 리눅스의 기본 디렉토리 구조에 대해 공부한 내용을 기록해봤습니다. 디렉토리도 파일이다리눅스에선 파일의 범주가 남다릅니다. 익숙한 텍스트 파일만 파일이 아니라 마우스, 키보드, 프린터와 같은 장비들조차 파일로 취급해서 리눅스..

[운영체제]우선 순위 스케줄링와 교착상태

들어가며PintOS라는 교육용 OS를 공부하면서 많은 운영체제에서 우선순위 스케줄링을 많이 사용한다는 것을 알게 되었습니다.이 글에선 CPU 스케줄링 중에서 왜 우선 순위 스케줄링을 많이 사용하고, 우선 순위 스케줄링에서 교착 상태가 일어나는 경우랑 이를 해결하는 방법에 대해 공부한 내용을 서술하고 있습니다. 많이 들어 본 우선 순위 스케줄링.. 그게 뭔가요?CPU 스케줄링의 한 종류로 각각의 프로세스(스레드)에게 우선 순위를 부여한 뒤에 대기 열에 있는 프로세스(스레드)들 중에서 가장 우선 순위를 높은 것을 골라 실행하는 방식입니다. 우선 순위를 부여했다는 말은 다르게 보면 프로세스마다 중요도가 다르다고 생각하는 겁니다. 이건 실생활에서도 자주 일어나는 일이죠. 지금 내가 해야할 것들 중에서 가장 급한..

[PintOS]자주 등장하는 인터럽트에 대하여

들어가며 PintOS를 만지다 보면 인터럽트 함수를 자주 보게 됩니다.이 인터럽트 함수들 중에서 자주 보는 것들을 정리해 보았습니다. 인터럽트란?인터럽트는 CPU 외부(혹은 내부)에서 발생한 예상치 못한 사건을 알리는 신호입니다.발생한 위치에 따라 내부 인터럽트, 외부 인터럽트로 나눕니다.대표적인 인터럽트 예시들을 나열해 보면:타이머 인터럽트(외부) : 정해진 시간마다 발생하여 커널이 CPU 점유권을 회수할 수 있게 해 줍니다.키보드 입력, 디스크 I/O 인터럽트(외부) : 하드웨어 장치의 동작 완료 등을 알립니다.소프트웨어 인터럽트(내부, 대표적인 것이 시스템 콜) : 사용자 프로그램이 커널에 도움을 요청할 때 사용됩니다.PintOS에선 interrupt.c, interrupt.h, timer.c 등이..

[Linux]리눅스의 모든 것은 파일로 이루어져있다 - 리눅스 파일 시스템

들어가며OS는 파일 시스템이 없다면 작동하지 않는다고 말할 수 있을 정도로 운영체제 그 자체입니다. 저희가 컴퓨터를 켜면 반겨주는 많은 바탕화면의 아이콘들도 사실은 다 파일들이죠.이 글에선 우리가 흔히 보던 파일들이 어떤 시스템으로 구성되어 있는지 알아보고자 합니다. 매일 쓰던 파일 어떻게 구성되어있을까요??리눅스에선 파일 시스템은 3개의 계층으로 된 다면적 계층 구조로 되어있습니다. 논리 파일 시스템, 가상 파일 시스템, 물리 파일 시스템으로 구성되어 있습니다.1. 논리 파일 시스템기반이 되는 계층으로 논리 파일 시스템이 있습니다. 이 논리 파일 시스템은 사용자 어플리케이션들과 파일 시스템 사이의 인터페이스 역할을 하는데 우리가 알고 있는 파일 열기, 읽기, 닫기 등의 관리 작업들을 수행하는 로직을 ..

[운영체제] 가상 메모리(Virtual Memory)

들어가며가상 메모리는 OS의 주 역할이자 현대 컴퓨터에서 가장 중요한 메커니즘이다.가상 메모리란?메인 메모리의 추상화로 각 프로세스에 하나의 크고 통합된, 사적인 주소 공간을 제공하는 것을 의미.그렇다면 사적인 주소 공간 제공이 왜 중요한 걸까?? 가상 메모리가 없으면 어떻게 되는 걸까?먼저, 알아야 할 것이 있는데 바로 물리 주소라는 개념이다. 컴퓨터 시스템의 메인 메모리는 M개의 연속적인 바이트 크기 셀의 배열로 구성된다. 각 바이트는 고유의 물리 주소(Physical Address)를 가진다. 그렇다면 우린 자연스럽게 물리 주소를 통해 메인 메모리에 접근하여 데이터를 꺼낼 수 있다. 이를 물리 주소 방식 이라고 한다. 물리 주소 방식의 문제점만약 물리 주소 방식만 사용한다면, 우린 프로그램을 개발할..

[알고리즘]크루스칼 알고리즘 자바 구현법

들어가며1197번: 최소 스패닝 트리위 문제를 풀면서 최소 스패닝 트리를 만드는 크루스칼 알고리즘을 작성해보았다. 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class 크루스칼 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in))..

HTTPS에 대하여

🌱 해당 포스트는 한걸음 스터디에서 발표한 내용입니다. 발표 내용을 아래 영상에서 확인하실 수 있습니다!  🌱한걸음은 각자 학습한 내용을 토대로 블로그 글을 작성하고, 대면으로 모여서 발표하며, 녹화해 유튜브에 업로드하는 스터디입니다. 한걸음 알아보기 들어가며 인터넷은 HTTP 기반으로 동작합니다. 하지만 HTTP는 대학 및 연구소끼리의 문서를 교환하기 위해 제작된 것으로 이렇게 현재와 같이 많은 사람들이 사용할 것을 고려하지 않았습니다. 따라서, 보안 취약점이 있었습니다. 이를 보완하기 위해 여러 가지 방안들이 나왔는데 그중 현재 대중화된 것은 HTTP에 SSL/TLS 계층을 추가한 HTTPS입니다. 이 글에선 HTTPS에 대해 제가 공부했던 것을 정리해보았습니다.  간략하게 알아보는 HTTPHTT..