
1. 가상 메모리의 개요 - 가상 메모리는 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술이다. 이로 인해 프로세스는 운영체제의 위치와 물리 메모리의 크기에 구애받지 않고 마음대로 메모리를 사용할 수 있다. 모든 프로세스는 위치에 상관없이 0부터 시작하는 연속된 메모리 공간을 갖는다. - 메모리 관리자는 물리 메모리의 부족한 부분을 스왑 영역으로 보충한다. 물리 메모리가 꽉 차면 일부 프로세스를 스왑 영역으로 보내고, 몇 개의 프로세스가 작업을 마치면 스왑 영역의 프로세스를 메모리로 가져온다. - 가상 메모리의 크기 = 물리 메모리(실제 메모리) + 스왑 영역 -> 이 과정을 동적 주소 변환이라고 하는데 이후 프로세스는 아무 제약 없이 사용자 데이터를 물리 메모리에 배치할 수..

1. 메모리 관리의 개요 - 폰노이만 구조에서 메모리는 유일한 작업 공간이며 모든 프로그램은 메모리에 올라와야 실행할 수 있다. 따라서 메모리의 효율적인 공간 관리가 필수적이다. 이를 위해 CPU 안에 캐시를 만들어 작업하고, 보조저장장치를 활용하기도 한다. - 복잡한 메모리 관리는 메모리 관리 시스템이 담당한다. 프로세스와 메모리 관리자는 메모리를 두고 충돌하는데 이를 메모리 관리의 이중성이라고 한다. - 컴파일러는 소스코드를 기계어로 번역한 후 한꺼번에 실행하고, 인터프리터는 소스코드를 한 행씩 번영하여 실행한다. 컴파일러 방식은 오류 발견과 소스코드 최적화에 이점이 있다. 참고로, 라이브러리는 자주 사용하는 함수를 시스템 내에 미리 만들어둔 것이고, 실행할 때 삽입되는 함수를 가진 동적 라이브러리가..

1. 스케줄링 개요 1) CPU 스케줄링 - 스케줄러: 여러 프로세스 상황을 고려해 CPU와 시스템 자원을 어떻게 배정할지 결정 - 규모에 따라 고수준, 중간 수준, 저수준 스케줄링으로 구분된다. ✨ 스케줄링 - 고수준: 시스템 내의 전체 작업 수를 조절한다. 이에 따라 시스템 내에서 동시에 실행 가능한 프로세스의 총개수가 정해진다. - 중간 수준: 시스템의 부하를 조절한다. 이미 활성화된 프로세스 중 일부를 보류 상태로 보내고, 여유가 생기면 다시 활성화된다. - 저수준: 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정한다. 2) 스케줄링의 목적 - 모든 프로세스가 공평하게 작업하도록 하는 것 - 공평성, 효율성, 안정성, 확장성, 반응 시간 보장, 무한 연기 방지 2..

1. 프로세스의 개요 1) 프로세스의 개념 - 프로그램은 저장장치에 저장된 정적인 상태이고, 프로세스는 실행을 위해 메모리에 올라온 동적 상태이다. 즉, 프로그램이 실행되면 프로세스가 된다. - 시분할 방식: CPU가 시간을 쪼개어 여러 프로세스에 적당히 배분함으로써 프로세스가 동시에 실행되는 것처럼 느껴진다. 2) 프로그램에서 프로세스로의 전환 - 프로세스 제어 블록: 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조 - 어떤 프로그램이 운영체제로부터 PCB를 받으면 프로세스가 된다. - PCB에 있는 다양한 정보: 프로세스 구분자, 메모리 관련 정보, 각종 중간값 - 프로세스가 종료된다는 것은 해당 프로세스 제어 블록이 폐기된다는 뜻 3) 프로세스의 상태 - 일괄 작업 시스템의 ..

1. 컴퓨터의 기본 구성 1) 하드웨어의 구성 ✨ 컴퓨터: 중앙처리장치(CPU), 메인 메모리, 입력장치, 출력장치, 저장장치 - CPU는 명령어를 해석하여 실행하는 장치(두뇌) - 메모리는 작업에 필요한 프로그램과 데이터를 저장하는 장소 - 입력장치는 외부의 데이터를 컴퓨터에 입력하는 장치 > 키보드, 마우스, 스캐너 등 - 출력장치는 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력 > 프린터, 모니터 등 - 저장장치를 사용하는 이유는 저렴하고 전원의 온·오프와 상관없이 데이터를 반영구적으로 저장하기 때문 - 메인보드는 다양한 부품을 연결하고 전원을 공급해 주는 커다란 판, 데이터가 지나다니는 통로는 버스 2) 폰노이만 구조 - CPU, 메모리, 입출력장치, 저장장치가 버스로 연결된 구조 - 하드..

1. 운영체제 소개 1) 생활 속 운영체제 - 임베디드 시스템: 기계나 기타 제어가 필요한 시스템에 대해, 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템 2) 운영체제의 정의 - 정보: 컴퓨터가 데이터를 처리로 만들어진 의미 있는 자료 - IT: 데이터를 가공해 가치 있는 정보로 만드는 모든 기술 - 소프트웨어: 응용 프로그램(한글, 메모장 등) + 시스템 소프트웨어(운영 체제, 컴파일러 등) - 운영체제: 응용 프로그램의 잘못된 동작으로 컴퓨터가 망가지는 것을 막기 위해 컴퓨터 전체를 관리하고 운영하는 소프트 웨어, 모든 소프트웨어 위에 존재. - 운영체제는 응용 프로그램과 사용자에게서 모든 컴퓨터 자원을 숨겨 이를 보호한다. - 펌웨어: 하드웨어와 소프트웨어의 특..