OS
-
[OS] Process Management와 System CallComputer Science/Operating System 2021. 6. 13. 02:57
모든 프로세스는 부모-자식 관계를 지닌다. 프로세스의 생성에는 처음부터 새로 생성하는 방식과, 부모 프로세스를 복제해서 생성하는 방식이 있다. 프로세스를 처음 생성할 때 에는 프로그램 코드와 데이터를 메모리에 적재하고, 새로운 PCB를 생성하여 초기화하고, 프로세스를 Ready Queue에 enqueue한다. 프로세스를 복제할 때 에는 기존 프로세스를 부모(Parent) 프로세스, 새로운 프로세스를 자식(Child) 프로세스의 관계를 가진다. 복제와 동시에 현재 실행중이던 프로세스를 중단하고 상태를 저장 부모 프로세스의 PCB를 복사해서 새로운 PCB를 생성한 뒤 Ready Queue에 추가 Linux) fork() 함수 사용 부모 프로세스는 여러 자식 프로세스를 가질 수 있기 때문에 그림과 같은 트리 ..
-
[운영체제] LRU(Least Recently Used Algorithm) Algorithm이란? Python 구현Algorithm 2021. 2. 5. 23:18
Cache란 컴퓨터 과학에서 사용하는 '데이터를 미리 복사해 놓는 임시 저장 장소'를 말한다. 원래의 메모리에 접근하는 시간이 오래 걸리거나 값을 재 계산하는 시간을 절약하기 위해 사용한다. 캐시에 미리 값을 복사해 놓는 경우에 빠른 속도로 데이터에 접근할 수 있다. 물론 캐시도 물리적 메모리 영역을 가지고 있기 때문에, 유한한 공간을 가진다. 제한된 메모리 영역을 효율적으로 이용하기 위해서는 자주 사용하는 데이터는 빠르게 접근할 수 있도록 하고, 오래 사용되지 않은 데이터는 캐시 영역에서 쫓아버리는 방법을 사용한다. 이러한 캐시 메모리를 관리하는 알고리즘을 LRU(Least Recently Used) Algorithm이라고 한다. 해당 알고리즘은 가장 오랫동안 참조되지 않은 데이터는 앞으로도 사용될 확..
-
[OS] 운영체제(Operating System)의 개요 및 역할Computer Science/Operating System 2021. 1. 25. 22:48
현존하는 모든 컴퓨터, MPU에는 운영체제가 존재한다. 보편적으로 우리는 Mac OS, Window, Linux 등의 다양한 상용 운영체제를 알고 있고, 가지고 있다. 컴퓨터 과학에서 운영체제에 대해서 정의하면, 운영 체제(Operating System): 컴퓨터의 하드웨어를 관리하고 응용 소프트웨어를 실행하기 위해 존재하는 시스템 소프트웨어. 좁은 의미에서는 보안, 추상화, 자원 관리의 역할을 맡고 있는 시스템 소프트웨어인 커널만을 가리키는 단어이지만, 넓은 의미에서는 커널을 포함한 주변 시스템 유틸리티를 전부 포함한다. 위와 같이 컴퓨터 하드웨어와 응용 SW 사이에 위치해서 자원의 형평성 있는 분배를 통한 효율적 관리, 사용자에게 시스템을 편리하게 이용 가능한 환경을 제공하는 역할을 한다. 이러한 운..