[1000줄 OS 구현하기] Hello World!

Featured image for [1000줄 OS 구현하기] Hello World!

Hello World! | OS in 1,000 Lines 1. SBI로 출력 SBI를 OS의 API 정도로 소개했었다. SBI의 function을 호출하기 위해선 ecall 명령어를 사용한다. 가. kernel.c 수정되거나 추가한 코드만 살펴보면… SBI 호출 시 Function ID (fid)와 Extension ID (eid)는 SBI 사양에서 미리 정의된 번호들. 이러한 ID들은 RISC-V SBI 표준에 의해 미리 정의되어 있어서 개발자가 임의로 정하는 것이 … 더 읽기

[1000줄 OS 구현하기] RISC-V Assembly

Featured image for [1000줄 OS 구현하기] RISC-V Assembly

RISC-V 101 | OS in 1,000 Lines 1. RISC-V RISC-V는 (”리스크 파이브”로 발음한다.) 축소 명령어 집합 컴퓨터 즉, RISC(Reduced Instruction Set Computer) 기반의 개발형 명령어 집합(ISA)이다. 대부분의 ISA와 달리 RISC-V ISA는 일부 목적으로는 자유로이 사용할 수 있으며, 누구든지 RISC-V 칩과 소프트웨어를 설계, 제조, 판매할 수 있게 허가되어 있다. 저자는 RISC-V를 CPU로 선택한 이유가 명세가 간단하고 … 더 읽기

[1000줄 OS 구현하기] 시작하기

Featured image for [1000줄 OS 구현하기] 시작하기

1. 출처 Operating System in 1,000 Lines | OS in 1,000 Lines 1000줄로 운영체제를 직접 구현할 수 있다고 한다. 운영체제를 공부할 겸 한번 만들어 보자. 실제로 Linux의 0.01 version이 8413 줄에 불과했다고 하니 충분히 가능할 것 같다. 글에 따르면 완성된 OS에선 기본적인 context switching, paging, user mode, a command shell, disk device driver, file read/write … 더 읽기

2022-07-13 ssh_key

Featured image for 2022-07-13 ssh_key

로그인 없이 로그인 하기 (ssh key) – 생활코딩 이 글은 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다. ssh key 보통 ssh를 통해서 통신할 경우 ip와 passwd를 통해 접속한다. 다만 이 경우 네트워크 상에 비밀번호가 노출될 수 있다. 이에 간편하면서도 안전한 ssh key 방식을 사용한다. ssh key를 사용하기 위해서 우리가 해야 할 것들 1. client가 public … 더 읽기

2022-07-12 rsync

Featured image for 2022-07-12 rsync

인터넷을 통한 서버간 동기화 (rsync) – 생활코딩 이 글은 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다. rsync 수업목표 : “여기서는 인터넷을 통해서 컴퓨터와 컴퓨터의 파일을 동기화하는 방법인 rsync 대해서 알아봅니다.” rsync는 컴퓨터 시스템 상에서 파일을 효율적으로 전송하고 동기화하기 위한 유틸리티의 하나로, 파일의 타임스탬프와 크기를 검사함으로써 이루어진다. rsync 명령어는 서버 간에 동기화나 백업을 진행할 때 유용하다. … 더 읽기

2022-07-12 도메인(Domain)

Featured image for 2022-07-12 도메인(Domain)

도메인 (domain) – 생활코딩 이 글은 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다. Domain 영역, 범위 혹은 소유지라는 의미의 영어단어다. 컴퓨터와 관련된 도메인의 의미는 … 넓은 의미로는 네트워크상에서 컴퓨터를 식별하는 호스트명을 가리킨다. 좁은 의미에서는 도메인 레지스트리에게서 등록된 이름을 의미한다. 이를 통틀어서 ‘웹 주소’라고 (잘못) 부르는 경우도 있다. 출처 : https://ko.wikipedia.org/wiki/도메인_네임 domain name ip addr https://www.naver.com/ 223.130.195.95 https://www.google.com/ … 더 읽기

2022-07-10 웹서버(apache)_2

Featured image for 2022-07-10 웹서버(apache)_2

라우터 설정을 열어서 포트포워딩을 수행해 집에서 놀고 있는 라즈베리파이로 웹서버 돌리기. 죽은 라즈베리파이 살리기 사실 죽은 지 산지도 모른다. 부팅을 안 한 지 한참이나 되었다. 이전에 운영체제로 라즈비안을 설치했었는데… 지금은 전원을 넣어도 반응하지 않는다. 운영체제부터 다시 설치해야 할 것 같다. 라즈베리파이 우분투 설치 라즈베리파이 우분투 설치 : “Raspberry Pi Imager”를 통해서 쉽게 설치할 수 있다. … 더 읽기

2022-06-30 리눅스_네트워크

인터넷, 네트워크 그리고 서버 – 생활코딩 이 글은 목소리가 감미로우신 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다. 자신의 ip 주소 확인 terminal로 확인 강의 기준으로 ip addr이지만 맥북은 해당되지 않더라… 자신의 운영체제에 해당되는 명령어를 인터넷에서 검색해서 알아내자. macOS에서는… ipinfo.io/ip로 확인하기 ipinfo.io/ip 해당 주소로 접속하면 접속할 때 사용한 나의 ip주소를 보여준다. 인터넷 웹브라우저 대신에 curl 명령어를 … 더 읽기

2022-06-30 리눅스_권한_그룹_소유권

Featured image for 2022-06-30 리눅스_권한_그룹_소유권

권한 (permission) – 생활코딩 이 글은 목소리가 감미로우신 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다. 권한 (Permission) 유저가 파일과 디렉터리에 대해서 읽기, 쓰기, 실행을 할 수 있는지 없는지 설정. 가장 앞 -는 파일이라는 의미다. (d는 디렉터리) rwx : read, write, excute (읽기, 쓰기, 실행 권한) (-는 해당 권한이 없음을 표시) 잠정적으로 rwxrwxrwx 9 글자가 올 … 더 읽기

2022-06-29 다중사용자, 슈퍼유저

이 글은 목소리가 감미로우신 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다. 다중 사용자 유닉스 계열 운영체제는 여러 명이 함께 사용할 수 있다. 장점도 있는 강력한 기능이지만 다중 사용자를 지원하면서 시스템의 복잡도가 올라갔다. 이 복잡성과 그곳에서 파생된 위험성을 이해하고, 원활하게 사용하기 위해서 권한에 대해서 이해해보자. 사용자가 사용 중인 id에 대한 정보를 출력한다. 현재 접속 중인 사용자 … 더 읽기