시스템 콜(System Call)
·
Computer Science/Operating System
2024.02.08 - [Computer Science/Operating System] - 운영체제란 ? 시스템 콜을 설명하기 앞서, 운영체제와 커널에 대한 사전지식이 필요합니다. 운영체제는 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종입니다. 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해 주는 역할을 하는 것이죠. 자세한 내용은 위 글에서 확인할 수 있습니다. 그렇다면 커널은 무엇일까요? 커널(Kernel) 컴퓨터와 전원을 켜면 운영체제는 이와 동시에 수행됩니다. 소프트웨어가 컴퓨터 시스템에서 수행되기 위해서는 메모리에 그 프로그램이 올라가 있어야하는 것 처럼, 운영체제도 마찬가지입니다. 하지만 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라가있으..
인터럽트(Interrupt)
·
Computer Science/Operating System
인터럽트란 무엇인가? 프로그램 실행 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것입니다. 그렇다면, 인터럽트가 발생했을 때 수행중이던 프로세스의 정보는 어디로 가는걸까요? 진행 중이던 작업의 내용은 커널(운영체제 중 메모리에 상주하여 일을 처리하는 역할)의 자료 구조에 저장됩니다. 이 자료 구조를 우리는 PCB라고 부릅니다. PCB에 대한 내용은 추후 다룰 예정입니다. 내부 인터럽트 하드웨어 고장 컴퓨터 고장 데이터 전달 과정에서의 비트 오류 전원이 나간 경우 실행할 수 없는 명령어 : 기억장치에서 인출한 명령어의 비트 패턴이 정의되어 있지 않은 경우 예외상황(Exception) : 나누기 0을 하는 경우, 권..
프로세스 vs 스레드
·
Computer Science/Operating System
프로세스 (Process) 프로그램과 프로세스 프로그램은 윈도우의 *.exe 파일이나 Mac의 *.dmg 파일과 같은 컴퓨터에서 실행할 수 있는 파일을 통칭한다. 아직 파일을 실행하지 않은 상태이기 때문에 정적 프로그램 즉, 프로그램이라고 부른다. 이와 대조적으로 프로세스는 다음에 실행할 명령어를 지정하는 프로그램 카운터와 관련 자원의 집합을 가진 능동적인 존재이다. 프로그램 프로세스 어떤 작업을 하기 위해 실행할 수 있는 파일 실행되어 작업중인 컴퓨터 프로그램 파일이 저장 장치에 있지만 메모리에는 올라가 있지 않은 정적인 상태 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태 코드 덩어리 코드 덩어리를 실행한 것 프로세스 주소 공간 프로그램을 실행 시켜 정적인 프로그램이 동적으로 ..
운영체제란 ?
·
Computer Science/Operating System
운영체제란 무엇인가 ‘사용자가 컴퓨터를 쉽게 다룰 수 있게 해주는 인터페이스’ 운영체제는 컴퓨터 하드웨어를 관리하는 소프트웨어이다. 좀 더 이해하기 쉽게 설명해보자. 운영체제는 소프트웨어로서, 다양한 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정하는 역할 을 한다. 운영체제는 그 자체로서 유용한 기능을 수행하지 못하며, 다른 프로그램들이 유용한 작업을 할 수 있는 환경을 제공할 뿐이다. 예를 들어, 아이패드를 켜면 전원이 들어와 장치를 깨우고 사용자의 명령에 따라 친구에게 문자를 보내고, 음악을 듣는 동작들을 관리하는 것들을 전부 운영체제라 할 수 있다. 그래 무슨 느낌인진 알겠는데, 정확히 운영체제가 뭔데? 라고 할 수도 있을 것 같다. 내가 그렇게 말하고 싶으니까. 명확하게 ..
캐시 메모리
·
Computer Science/Operating System
캐시 메모리(Cache memory) - 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리 ex) CPU 코어와 메모리 사이의 병목 완화, 웹 브라이저 캐시 파일은 하드디스크와 웹 페이지 사이의 병목 현상을 완화 만약 캐시가 존재하지 않는다면 RAM에서 데이터를 인출해오는 속도가 CPU가 테스크를 처리하는 속도보다 느리기 때문에 불필요하게 시간을 낭비해야 하지만, 실제로는 중간에 위치한 캐시 메모리가 둘 사이에서 데이터를 고속으로 전달해줌으로써 속도 차이로 인한 병목을 어느정도 해결해줄 수 있다. 캐시 메모리는 메모리와 CPU 사이에 위치해 있으며, 메모리 계층 구조에서 레지스터 다음으로 상위에 위치한다. 적중과 실패 캐시메모리가 있는 컴퓨터 시스템은 CPU가 메모리에 ..