본문 바로가기

그림과 실습으로 배우는 리눅스5

6장. 메모리 계층 구체적으로 크기와 성능에 얼마나 차이가 있습니까? 이런 차이를 고려하여 하드웨어나 리눅스는 어떤 구조로 되어 있습니까? 라는 두 질문이 이 장에서 풀어나갈 내용. 캐시 메모리 컴퓨터의 동작 흐름은 다음과 같다. 명령어를 바탕으로 메모리에서 레지스터로 데이터를 읽습니다. 레지스터에 있는 데이터를 바탕으로 계산합니다. 처리 결과를 메모리에 씁니다. 컴퓨터에서 처리 2가 아무리 빨라도 처리1 과 처리3에서 속도 상의 병목이 생겨 느려질 수 있음. 캐시 메모리는 이런 레지스터 안에서 계산하는 것과 메모리에 접근하는 것, 양쪽의 처리 시간의 차이를 메우는데 필요. 메모리에서 레지스터로 데이터를 읽어올 때는, 일단 캐시 메모리에 읽어온 뒤 같은 내용을 다시 레지스터로 읽어 들입니다. 이 때 읽어오는 크기는 CPU에.. 2022. 7. 14.
4장. 프로세스 스케줄러 프로세스 스케줄러 여러 프로그램을 동시에 동작 시킴 (정확히는 동시에 동작하는 것처럼 보이게 함) 하나의 CPU는 동시에 하나의 프로세스만 처리 가능 하나의 CPU에 여러 개의 프로세스를 실행해야 할 때는 각 프로세스를 적절한 시간으로 쪼개서 (타임 슬라이스) 번갈아 처리 첫 번째 실험 스케줄러의 동작 확인을 위한 실험, 1개의 논리 CPU 에서만 수행. (실험을 진행하는 동안에서는 시스템에서 다른 프로그램이 동작하지 않아야 정확성이 올라감. 이는 보통 설능 측정 실험을 할 때의 기본 원칙) 실험 4-A : 동작 프로세스 1개 실험 4-B : 동작 프로세스 2개 실험 4-C : 동작 프로세스 3개 실험 4-A 1개의 프로세스가 항상 동작 1개의 프로세스 외에는 동작하는 프로세스가 없으므로 진행도는 단순 .. 2022. 7. 14.
3장. 프로세스 관리 가상 기억장치가 없는 단순한 경우만 나타낸다. 실제 프로세스의 생성 및 삭제는 5장에서 자세히 다룸 프로세스 생성의 목적 같은 프로그램의 처리를 여러 개의 프로세스가 나눠서 처리, 예를 들어 웹 서버처럼 리퀘스트가 여러 개 들어왔을 때 동시에 처리해야 하는경우 전혀 다른 프로그램을 생성합니다. 예를 들어 bash 로부터 각종 프로그램을 새로 생성하는 경우 fork(), execve() 함수를 사용 (시스템 내부에서는 clone() 과 execve() 시스템 콜을 호출) fork() 함수 목적 1의 경우에는 fork() 함수만을 사용. fork() 함수를 실행하면 실행한 프로세스와 함께 새로운 프로세스가 1개 생성, 이를 각각 부모, 자식 프로세스라 부름 자식 프로세스용 메모리 영역을 작성하고 거기에 부모.. 2022. 7. 14.
2장. 사용자모드로 구현되는 기능 OS는 커널 이외에도 사용자 모드에서 동작하는 다양한 프로그램으로 구성 라이브러리 형태, 단독 프로그램으로 동작 이 부분은 다양.. 시스템 콜, OS가 제공하는 라이브러리, OS가 제공하는 프로그램에 대한 설명 및 필요 이유 시스템 콜 프로세스에서 커널의 도움이 필요할 때 시스템 콜을 이용해 도움 요청 프로세스 생성, 삭제 메모리 확보, 해제 네트워크 파일 시스템 등등 CPU의 모드 변경 프로세스는 보통 사용자 모드로 실행, 처리를 위해 시스템 콜을 호출하면 CPU 에서 인터럽트 발생 그 후 커널 모드에서 해당 동작을 실행, 완료 후 사용자 모드로 원복 커널 모드로 가기 전에 프로세스의 요구가 유효한지 확인을 거침 -> 맞지 않으면 시스템 콜 실패 (인터럽트를 하고, 확인을 할까? 아니면 확인 후 인터럽.. 2022. 7. 14.
1장. 컴퓨터 시스템 개요 - 애플리케이션 : 사용자가 직접 사용, 컴퓨터의 오피스 프로그램 또는 스마트폰 앱등 - 미틀웨어 : 여러 애플리케이션이 공통으로 사용하는 처리를 묶어서 애플리케이션의 실행을 도와줌 - OS(운영체제) : 하드웨어를 직접 조작하여 애플리케이션이나 미들웨어의 실행에 필요한 기능을 제공 OS 는 여러 가지 프로그램을 `프로세스` 라고 하는 단위로 실행 소프트웨어(프로그램)은 1개 또는 여러 개의 프로세스로 구성 CPU 에는 커널 모드와 사용자 모드, 2가지의 모드가 있다. 디바이스 드라이버 동작 - 커널 모드 프로세스 동작 - 사용자 모드 OS 의 핵심 부분이 되는 처리(프로세스 관리, 스케쥴링, 메모리 관리 등)를 모아 담당하는 프로그램을 커널이라고 부름. 커널에서는 시스템에 탑재된 CPU 나 메모리 등의.. 2022. 7. 14.