[운영체제] 페이지 교체 알고리즘
CS/운영체제2022. 7. 7. 15:14[운영체제] 페이지 교체 알고리즘

Page reference string 페이지 교체 알고리즘을 살펴보기 전에 Page reference string이라는 용어를 알아야 한다. CPU가 내는 주소는 이진수 단위이지만, 페이지 교체 알고리즘을 계산하기 위해서는 이진수 주소 단위가 아닌 페이지 단위로 계산해야한다. CPU 논리 주소 요청할 페이지 번호 100 1 101 1 432 4 612 6 103 1 104 1 611 6 612 6 예를 들어, CPU가 내는 주소를 위와 같이 표현해보자. 편의를 위해 주소는 십진수로 표현했다. 만약 페이지 크기를 100이라 하면, 우측과 같이 된다. 주소 100번지는 1번 페이지에서 offset이 0인 위치이고, 101은 1번 페이지의 offset 1인 위치라고 볼 수 있다. 마지막으로 페이지 번호로 나..

[운영체제] System Call
CS/운영체제2022. 3. 14. 16:19[운영체제] System Call

✔️ System Call 이란 ? 시스템 콜(System Call)은 운영체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스다. ✔️ System Call 사용 이유 ? 운영체제는 PC를 보호하기 위해 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동된다. Kernel Mode VS User Mode Kernel Mode I/O Devices를 포함해서 모든 주소 영역에 접근 가능하다. User Mode 명령어의 일부와 HW feature의 일부만 사용이 가능하다. I/O나 Memory Protection을 포함한 명령은 사용이 불가하다. 커널 모드와 유저 모드의 구분에는 모드 비트(mode bit)를 사용하며 이 비트가 1..

[운영체제] 인터럽트(Interrupt)
CS/운영체제2022. 3. 14. 14:46[운영체제] 인터럽트(Interrupt)

✔️ 인터럽트란 ? CPU가 프로그램을 실행하고 있을 때 예외상황이 발생해 처리가 필요할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 뒤 다시 실행중인 작업으로 복귀하는 것을 말한다. 입출력 연산이 CPU 연산 수행속도보다 현저히 느리기 때문에 사용한다. I/O 연산이 끝난 이후 I/O Device는 인터럽트를 통해 CPU에게 알리고 CPU는 I/O 연산 결과를 이용해 작업을 완료한다. ✔️ 인터럽트의 종류 인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외..

[운영체제] 프로세스 & 스레드
CS/운영체제2022. 3. 14. 12:26[운영체제] 프로세스 & 스레드

✔️ 프로세스란 ? 메모리 영역에 올려 실행 중인 프로그램의 인스턴스(독립적인 개체) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 하나의 프로세스는 반드시 하나 이상의 스레드를 가진다. 운영체제로 부터 시스템 자원을 할당받는 작업의 단위 시스템 자원 1) CPU 시간 2) 운영되기 위해 필요한 주소 공간 3) Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 ✔️ 프로세스의 특징 프로세스는 각각 독립된 영역(Code, Data, Stack, Heap의 구조)을 할당 받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료 구조에 접근할 수 없다. 한 프로..

[Linux] 가상 호스트 (Virtual Hosts)
Linux2022. 3. 11. 12:35[Linux] 가상 호스트 (Virtual Hosts)

✅ 가상 호스트 (Virtual Hosts) 가상 호스트란 기본적으로 웹 서버에 존재하는 주 호스트 예를 들어 (aaa.com) 이라는 도메인을 사용하고 있지만 한 서버에 (bbb.com) / (ccc.com) 등 여러 도메인을 등록하여 사용하는 것이다. 가상 호스트 서버를 이용해 제한된 공간 안에서 여러개의 홈페이지를 제공해주는 서비스(웹, 메일 등)가 호스팅 서비스이다. ✅ 가상 호스트 종류 이름 기반의 가상호스트 (Name-based virtual host) 주소 기반의 가상호스트 (IP-based virtual host) 포트 기반의 가상호스트 (Port-based virtual host) 기본 가상호스트 (Default virtual host) 이름 기반의 가상호스트 (Name-based vir..

[Linux] 리눅스 명령어 - ls
Linux2022. 2. 15. 17:44[Linux] 리눅스 명령어 - ls

✅ ls 명령어 list의 줄임말로 현재 위치한 디렉토리에 있는 내용(디렉토리, 파일) 리스트를 출력하는 명령어이다. 윈도우의 dir과 같은 역할을 한다. ✅ 옵션 -l : 파일 나열시 자세히 출력 -a : 경로 안의 모든 파일을 나열(숨김 파일도 포함) -i : 파일의 인덱스 값을 출력 -F : 파일의 형태에 따라 관련 정보를 출력 실행 가능 파일은 뒤에 '*' 디렉토리 '/' 소켓 '=' 링크 '@' -R : 하위 디렉토리까지 출력 -d : 지정 경로에 있는 최상위 디렉토리의 목록만 출력 -t : 출력 결과를 파일이 수정된 시간을 기준으로 정렬 lt : 파일이 수정된 시간을 기준으로 정렬 후 자세히 출력 lct : mtime (수정 시간)을 atime (접근 시간) lut 여러개의 옵션을 한번에 줄 ..

image