본문 바로가기

Study9

[운영체제] 5. Process1 필기 "Process is a program in execution" 프로세스의 문맥(context) CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter가 어디를 가리키고 있나 각종 register가 어떤 값을 가지고 있었나 프로세스의 주소 공간 (에 어떤 내용이 있는가) Code, data, stack 프로세스 관련 커널 자료 구조 PCB(Process Control Block) 운영체제가 프로세스를 관리하는 역할 - 프로세스가 하나가 실행될 때마다 관리하기 위해 data영역에 PCB를 놓는다 - CPU, 메모리 얼마나 줘야할 지 나쁜 짓 하는지 관리 Kernel stack - 커널 스택을 프로세스마다 별도로 두고 있다 멀티태스킹, 타임 쉐어링 - 프로세스들이 번갈아 쓰기 때문에 문맥을 .. 2021. 3. 18.
[운영체제] 4. System Structure & Program Execution 2 필기 동기식 입출력과 비동기식 입출력 동기식 입출력 (synchronous I/O) I/O 요청 후 입출력 작업이 완료된 후 에야 제어가 사용자 프로그램에 넘어 감 구현 방법 1 I/O가 끝날 때까지 CPU를 낭비 시킴 매 시점 하나의 I/O만 일어날 수 있음 구현 방법 2 I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음 I/O 처리를 기다리는 줄에 그 프로그램을 줄 세움 다른 프로그램에게 CPU를 줌 동작의 결과를 확인하고 나서 실행한다. 비동기식 입출력(asynchronous I/O) I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어 감 두 경우 모두 I/O의 완료는 인터럽트로 알려줌 DMA (Direct Memory Access) 원래는 메모리에 접근.. 2021. 3. 18.
[자료구조] 소프트웨어 개발 - 소프트웨어 개발 예 자료구조(資料構造 / 데이터구조, Data Structures) 프로그램(혹은 알고리즘)이 컴퓨터상에서 효율적으로 동작할 수 있도록 자료를 저장하는 방법 잘 설계된 자료구조와 그에 따른 프로그램(혹은 알고리즘)은 수행시간 혹은 메모리 용량과 같은 자원(resource)을 최소한으로 사용하면서 프로그램이 효율적으로 수행된 수 있도록 해 줌 프로그램 설계 시 적절한 자료 구조의 선택은 반드시 필요함 프로그램 구현의 난이도나 프로그램의 성능은 자료구조에 크게 의존 자료구조가 먼저 선택되면 이를 이용하는 알고리즘의 설계는 상대적으로 명확해짐 자료구조를 적절히 선택해야 처리할 때 효율적으로 (시간적- 빠르게 / 공간적 - 메모리를 적게 cpu time을 적게 기억공간을 적게) 주기억장치 cache에 들어와야 빨리.. 2021. 3. 15.
 [운영체제] 3. System Structure & Program Execution 1 필기 컴퓨터 시스템의 하드웨어 구조 CPU와 Memory로 구성된 컴퓨터 I/O device (input/output) 인풋은 데이터를 컴퓨터로 입력 결과로 디바이스로 내보내는 것을 아웃풋 Memory라는 것은 CPU의 작업공간 Instruction 기계어를 실행 CPU는 매 순간 메모리에서 기계어를 하나씩 읽어서 실행 I/O device는 별개의 디바이스들 키보드, 마우스는 인풋 디바이스 프린터, 모니터는 아웃풋 디바이스 하드디스크는 보조기억장치로 보통 얘기하지만 I/O device로 보기도 함. 인풋 - 디스크에 데이터를 메모리로 읽어들임/ 아웃풋 - 파일을 디스크에 저장하기도 함 device controller : 디바이스를 전담하는 작은 cpu같은 역할을 한다 CPU의 메모리와 같이 필요한 device.. 2021. 3. 15.