기초 CS 정리36 System Call 시스템 콜 fork(), exec(), wait() 와 같은 것들은 Process 생성과 제어를 위한 시스템 콜이다. fork(), exec() 는 새로운 Process 생성과 관련이 되어 있다. wait()는 Process가 만든 다른 Process가 끝날 때까지 기다리는 명령어이다. fork() 새로운 Process를 생성할 때 사용 int main(int argc, char *argv[]) { printf("pid : %d", (int) getpid()); // pid : 29146 int rc = fork();// 주목 if (rc < 0) { exit(1); }// (1) fork 실패 else if (rc == 0) {// (2) child 인 경우 (fork 값이 0) printf("child (pid.. 2023. 1. 29. 프로세스와 스레드, 인터럽트(Interrupt) 프로세스 프로그램을 메모리 상에서 실행 중인 작업 기본적으로 프로세스 마다 최소 1개의 스레드를 소유하고 있다. (메인 스레드 +@) Heap : 동적 할당 시 사용 (new, malloc) 프로세스의 주소 공간 프로그램이 CPU에 의해 실행 되고 → 프로세스가 생성된 후 → 메모리에 프로세스 주소 공간이 할당됨 프로세스 주소 공간은 코드, 데이터, 스택으로 이루어져 있다. 코드 Code : 프로그램 소스 코드 저장, 코드 자체를 구성하는 메모리 영역 같은 프로그램 자체에서는 모두 같은 내용이므로 따로 관리하여 공유 데이터 Data : 전역 변수, 정적변수, 배열 저장 초기화된 데이터는 data 영역에 저장 초기화되지 않은 데이터는 bss 영역에 저장 스택 Stack : 지역변수, 매개변수, 리턴값 (임.. 2023. 1. 28. 운영체제 Operating System (OS)란, 하드웨어를 관리하고 컴퓨터 시스템의 자원들을 효율적으로 관리하며 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공 즉, 운영체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어 Windows, Linux, UNIX, MS-DOM 등 운영체제의 역할 프로세스 관리 프로세스, 스레드 스케줄링 동기화 IPC 통신 운영체제에서 작동하는 응용 프로그램을 관리하는 기능 CPU를 점유해야할 프로세스를 결정하고 실제로 CPU를 프로세스에 할당하여 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 된다. 저장장치 관리 메모리 관리 가상 메모리 파일 시스템 메인 메모리(1차 저.. 2023. 1. 27. 폰 노이만 구조 폰 노이만 구조 폰 노이만이 고안한 내장 메모리 순차처리 방식 프로그램과 데이터를 하나의 메모리에 저장하여 사용하는 방식 데이터는 메모리에 읽거나 쓰는 것이 가능하지만 명령어는 메모리에서 읽기만 가능 CPU와 하나의 메모리를 사용하여 처리하는 현대 범용 컴퓨터들이 사용하는 구조 모델 하드웨어를 재배치할 필요 없이 프로그램(소프트웨어)만 교체하면 된다 (범용성 향상) 메모리와 CPU를 연결하는 버스는 하나이므로 폰 노이만 구조는 순차적으로 정보를 처리하기 때문에 고속 병렬처리에 부적합하다. → 폰 노이만 병목현상 폰 노이만 구조는 순차적 처리이기 때문에 CPU가 명령어를 읽음과 동시에 데이터를 읽지는 못하는 문제가 있다. 이를 해결하기 위한 대안으로는 하버드 구조가 있다. 2023. 1. 27. 이전 1 ··· 5 6 7 8 9 다음