반응형 OS20 Ubuntu 22.04 LTS WOL(Wake On Lan) 적용하기 먼저 제품이 WOL을 지원하는지 확인해야 한다. 컴퓨터가 부팅 시작하는 도중에 BIOS창으로 넘어가서 이를 확인하면 된다.또는 컴퓨터 설명서나 제품 판매 페이지에서 확인!!! 제품이 WOL 기능을 지원한다면 공유기에서 Wake On LAN(WOL) 설정을 해야한다. 필자는 LG U+ 공유기인데 WOL을 지원해서 WOL 기능을 적용할 컴퓨터의 맥 주소를 기입했다. 이후에는 아래 툴들을 설치 sudo apt-get install net-tools ethtool wakeonlan 이후 ifconfig를 통해 우리가 사용하는 네트워크 인터페이스를 구할 수 있다. 사용하는 네트워크 인터페이스를 확인한 후 아래와 같이 명령어를 입력한다. 필자의 경우는 enp3s0 sudo ethtool -s enp3s0 wol .. OS 2024. 5. 21. 윈도우 밀고 ubuntu 24.04 LTS 설치 도전! 이번에 알리에서 구매한 미니 pc에서 윈도우를 밀고 ubuntu를 설치하려고 한다.GUI 환경이 아닌 CLI를 설치할 예정이다. 1. ubuntu 24.04 LTS 설치 먼저 아래와 같이 ubuntu 사이트에 접속한다. https://ubuntu.com/download/server https://ubuntu.com/download/server ubuntu.com 필자는 현재 미니pc CPU 아키텍쳐(인텔 N-100)와 일치하는 ubuntu-24.04-liver.server-amd64.iso를 설치했다.반드시 본인 컴퓨터의 CPU 아키텍쳐와 동일한 iso를 설치해야 한다. 시간이 10분 정도 오래 걸렸다 ^^.. 2. Rufus 설치https://rufus.ie/ko/ Rufus - 간편하게 부팅 가능한 .. OS 2024. 5. 19. 인터럽트 인터럽트 오늘날의 운영체제는 입출력 시 인터럽트를 이용해 시스템의 효율을 높인다. 인터럽트 처리는 입출력뿐만 아니라 시스템을 보호하는 데 매우 중요한 작업이다. 오늘날의 프로그래밍에서는 버튼이 눌렸는지 안 눌렸는지 주기적으로 확인하는 대신 버튼이 눌리면 프로세스에 알려주는데, 이를 이벤트 드리븐(Event Driven)이라고 한다. 운영체제에서의 입출력 처리도 이와 똑같다. 과거에는 입출력장치가 거의 없었으므로 입출력을 요청하면 운영체제가 주기적으로 입출력장치를 직접 확인해서 처리했다. 이러한 방식을 폴링이라고 한다. 하지만 다양한 입출력장치가 개발되어 운영체제가 모든 입출력을 관리하기 어려워지자 이벤트 드리븐 방식과 마찬가지로 입출력을 요청하고 입출력이 완료되면 이벤트를 발생시켜 이 사실을 알리게 되었.. OS 2022. 12. 28. 컴퓨터 성능 향상 기술 이전 시간에 배운 내용 중 상기해야할 부분이 있다. 메모리의 속도는 시스템 버스의 속도와 같고 CPU의 속도는 CPU 내부 버스의 속도와 같다. CPU 내부 버스의 속도가 시스템 버스의 속도보다 빠르기 때문에 메모리를 비롯한 주변장치의 속도가 CPU의 속도를 따라가지 못한다는 것이다. 이번 포스팅에서는 장치 간 속도 차이를 개선하고 시스템의 작업 속도를 올리기 위해 개발된 기술 중 운영체제와 관련된 기술을 공부해보겠다. 버퍼 버퍼는 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 맡는다. 얘를 들어 창고에 있는 과일 5개를 도마 위로 옮긴다고 생각하자. 한 번에 1개씩 옮기면 총 다섯 번을 왕복한다. 그러나 귤을 바구니에 담아서 옮기면 5개를 한 번에 옮길 수 있어 효율적인데, 바구니를 .. OS 2022. 6. 15. 컴퓨터 구조 컴퓨터는 중앙처리장치(CPU), 메인 메모리, 입력장치, 출력장치, 저장장치로 구성된다. 중앙처리장치와 메인메모리는 필수 장치로 분류된다. 중앙처리장치와 메인메모리 외의 부품은 주변장치라고 한다. CPU와 메모리 CPU는 명령어를 해석하여 실행하는 장치로, 인간으로 치면 두뇌에 해당한다. 메모리는 작업에 필요한 프로그램과 데이터를 저장하는 장소로, 바이트 단위로 분할되어 있으며 분할 공간마다 주소로 구분한다.] CPU CPU는 명령어를 해석하여 실행하는 장치다. CPU는 산술논리 연산장치, 제어장치, 레지스터로 구성되며 이것들의 협업으로 작업을 처리한다. 산술논리연산자 요리사가 재료를 삶거나 찌거나 볶듯이 CPU에서 데이터를 연산하는장치가 산술논리 연산장치다. 산술논리 연산장치는 데이터의 덧셈, 뺄셈, .. OS 2022. 6. 14. Compiler와 Interpreter 차이 이번에는 Compliler와 Interpreter 차이에 대해 알아보겠습니다. 보통 프로그래머들은 프로그램을 작동시키는 소스코드를 작성할 때 고급 프로그래밍 언어로 작성한다. 고급 프로그래밍 언어는 사람의 입장에서 쉽게 이해 가능한 프로그래밍 언어다. 그러나 컴퓨터는 고급 프로그래밍 언어를 이해할 수 없다. 컴퓨터는 오직 0과 1로 구성된 바이너리 코드만 이해하는데 이를 기계어라고 이해한다. 고급 프로그래밍 언어로 작성된 소스코드를 기계어로 바꾸기 위해서 사용되는 것이 Compiler와 Interpreter이다. Compiler과 Interpreter의 큰 역할은 같지만 작동 방식에서 차이가 있다. 이제 그 차이에 대해 알아보겠다. 참고 원시 코드 - 고급 프로그래밍 언어로 작성된 소스 코드, 프로그래머.. OS 2022. 2. 23. 입출력 시스템 입력 장치에는 마우스, 키보드, 게임 패드 등이 있다. 출력 장치는 모니터, 그래픽 카드, 프린터 등이 있다. 입출력 장치는 Lan 카드, 하드 디스크, USB 등이 있다. 입출력 장치는 CPU를 통해 입출력 정보가 들어가고 나오며 메모리에 이 정보들이 저장된다. 입출력 시스템은 입출력 장치 + 입출력 모듈이다. 입출력 장치를 제어하는 데 사용되는 것이 입출력 모듈이다. 이런 입출력 장치에서는 메인 메모리와 CPU 간의 데이터가 주고받는데 이 데이터가 돌아다니는 통로가 버스다. 버스는 데이터 버스, 어드레스 버스, 컨트롤 버스가 있다. 입출력 시스템에는 상태를 저장하는 상태, 제어 레지스터와 데이터를 저장하는 데이터 레지스터가 있다. 만약 키보드가 눌렸다면 이 상태는 상태, 제어 레지스터에 저장된다. 눌.. OS 2021. 12. 2. 가상 메모리 관리 2023. 5. 23. 20:51 1차 수정 가상 메모리 관리 가상 메모리는 메모리와 디스크를 같이 사용한다. 만약에 메모리 프레임에 접근할 페이지가 없으면 디스크 영역에서 페이지를 가져와 메모리 프레임에 페이지를 넣어야 한다. 이럴 때 페이지 대치의 필요성을 느낄 수 있다. 즉 할당할 메인 메모리 공간이 부족하면 대치가 필요하다. 페이지 대치란 페이지 부재(메모리에 접근할 페이지가 없다. fault)가 발생하면 메인 메모리에서 사용되지 않는 페이지(victim)를 없애고 새로운 페이지로 바꾸는 기법이다. 순서를 간단하게 알아보자. 희생자 페이지를 메모리에서 디스크로 내보낸다. 페이지 테이블의 타당, 비 타다 비트를 수정한다. 디스크에서 원하는 페이지를 프레임으로 가져온다. 새로운 페이지를 위한 페이지 .. OS 2021. 11. 26. 가상 메모리 가상 메모리(논리메모리)는 물리 메모리에 디스크가 더해진 것이다. 가상 메모리가 디스크, 메모리에 모두 분산 할당을 진행한다. 이러면 메모리 공간이 엄청나게 커지는 이점이 있다. 이렇게 가상 메모리가 가능한 이유는 몇 가지가 있다. 우선 오류코드 루틴이다. 다음은 배열, 리스트, 테이블 중에서 일부만 사용하기 때문이다. 마지막으로는 자주 사용되지 않는 문서 편집기의 기능이다. 위에는 예시다. 잠깐 쉽게 알아보자면 한 프로세스가 존재한다. 그 프로세스는 실행될 때 꼭 프로세스의 모든 부분이 메모리에 가서 실행되지 않는다. 파워포인트 같은 경우에는 기능이 엄청 많지만 우리는 늘 그 모든 기능을 사용하지 않는다. 보통 자주 사용하는 기능만 사용한다. 이처럼 프로세스는 모든 기능을 메모리에 올리지 않고 필요하고.. OS 2021. 11. 19. 분산 메모리 할당 - 세그먼트 기법, 페이지화된 세그먼트 기법 페이징 기법을 이용해 분산 메모리 할당을 진행해도 여전히 내부 단편화 문제가 존재한다. 이를 막기 위해 다른 기법이 고안되었다. 바로 세그먼트 기법이다. 먼저 세그먼트란 무엇인가? 세그먼트란 연관된 기능을 수행하는 하나의 모듈 프로그램이다. 세그먼트는 단위 크기가 변하지만 페이징은 고정크기이다. 세그먼트 크기가 다르기 때문에 메모리가 페이지 프레임으로 나누어지지 않고 동적분할(가변분할)기법으로 메모리를 할당한다. 즉 세그먼트는 가변크기이고 페이지는 고정 크기다. 세그먼트는 즉 크기가 달라 length의 개념이 필요하다. 페이지 기법과 마찬가지로 세그먼트 기법도 매핑 테이블을 사용하는데 이걸 세그먼트 매핑 테이블이라고 한다. 세그먼트 주소매핑 예이다. 논리 주소는 우선 세그먼트 테이블의 세그먼트 번호와 변.. OS 2021. 11. 19. 분산 메모리 할당 - 페이징 앞에서는 연속 메모리 할당에 대해 알아보았다. 이번에는 분산 메모리 할당이다. 고정 분할의 내부 단편화 문제를 가변 분할로 해결했다. 그러나 가변 분할에서 외부 단편화 문제가 발생했다. 이런 문제를 해결하고자 분산 메모리 할당이 등장했다. 분산 메모리 할당은 한 프로세스의 메모리 할당 시 이 프로세스를 나누어서 분산적으로 메모리에 할당하는 것이다. 분산 메모리 할당의 종류는 페이징 기법, 세그먼트 기법, 페이지화된 세그먼트 기법이 있다. 먼저 2가지 단어 페이지와 프레임에 대해 알아야 한다. 페이지의 뜻 부터 알아보자. 페이지는 프로세스를 일정 크기의 블록으로 나눈 단위이다. 프레임은 메로리를 고정 크기 블록으로 나누는 단위이다. 페이징을 진행한다면 프로세스를 나눈 크기만큼 메모리도 똑같은 크기로 나누어.. OS 2021. 11. 18. 물리메모리 관리 2023. 1.1 21:30 복습 및 수정 시작 2023. 5.22 19:30 복습 및 재수정 시작 메모리 관리자 메모리 관리는 메모리 관리자가 한다. 정확히 말하면 메모리 관리 유닛(Memory Management Unit, MMU)이 맡는다. 메모리 관리자는 반입 정책, 배치 정책, 대치 정책을 수립해 그 정책에 따라 메모리를 관리한다. 반입 정책: 프로그램을 메모리로 언제 가져와서 실행할지 결정하는 정책. 배치 정책: 가져온 프로세스를 메모리의 어떤 위치에 올려놓을지 결정하는 정책. 대치 정책: 메모리가 꽉 찼을 때 메모리 내에 있는 어떤 프로세스를 내보낼지 결정하는 정책. 메모리 주소 메모리 주소의 개념에는 물리적 주소와 논리적 주소가 존재한다. 물리적 주소는 말 그대로 실제 메모리에 저장된 주소.. OS 2021. 11. 12. 이전 1 2 다음 반응형