본문 바로가기
반응형

전체 글 목록571

[운영체제] 프로세스 동기화와 데드락 Q) race condition이 무엇이며 언제 일어날 수 있나요? A) race condition은 두개의 연산이 동시에 공유 자원에 접근할 때 결과가 일관성을 보장 받지 못하는 상태를 말합니다. Q) race condition이 발생할 수 있는 상황과 해결법을 알려주세요. A) race condition은 세가지 경우에 일어납니다. 첫번째로 커널 작업을 수행하는 중에 인터럽트가 발생하는 상황입니다. 커널 모드에서 데이터를 로드하여 수행하다 인터럽트가 발생하여 같은 데이터에 접근하는 경우입니다. 해결을 위해서는 중요한 데이터에 접근하고 있을 때는 인터럽트를 바로 처리하지 않고 해당 작업 이후에 처리하는 방법을 사용합니다. 두번째는 프로세스가 시스템 콜을 하여 커널 모드 수행 중인데 문맥 교환이 일어나는.. 2021. 11. 7.
[운영체제] CPU 스케줄링 Q) 여러가지 CPU 스케줄링 기법은 어떻게 평가되나요? A) 시스템 관점에서는 CPU 이용률과 처리량(throughput)을 높이는 데 목적이 있고 개별 프로세스 관점에서는 응답시간, 대기시간, 소요시간을 짧게 하는 것이 목적입니다. 이때 응답시간은 준비상태의 프로세스에게 최초로 CPU가 할당되기까지 걸린 시간, 대기 시간은 ready 상태에서 CPU를 기다린 총 시간, 소요시간은 프로세스가 CPU를 요청한 시점으로부터 원하는 만큼의 CPU를 모두 사용하는 데 걸린 시간입니다. 소요시간은 CPU 버스트가 완료될 때까지의 시간으로, 프로그램의 종료시점과는 좀 다릅니다. Q) 여러가지 CPU 스케줄링 방법에 대해 간략히 설명해주세요. A) 우선 스케줄링을 두가지로 나눌 수 있습니다. CPU를 강제로 빼앗기.. 2021. 11. 7.
[운영체제] 프로세스 Q) 프로세스가 무엇인가요? A) 다양한 의미가 있지만 실행중인 프로그램을 뜻합니다. Q) 프로세스의 다양한 상태(state)에 대해 설명해주세요. A) 프로세스는 다양하게 상태가 변경되며 수행됩니다. new 상태는 프로세스가 생성중인 상태입니다. 그러다 프로그램이 메모리에 올라가고 CPU를 기다리는 상태가 되면 ready 상태라고 합니다. CPU를 잡고 명령을 수행중인 상태는 running 상태입니다. 입출력 명령을 기다리는 동안 프로세스는 CPU를 빼앗기게 되고 CPU를 할당받더라도 당장 명령을 수행할 수 없는 상태가 되는데, 이를 blocked 상태라고 합니다. 수행이 끝난 상태는 terminated 상태라고 합니다. 그런데 운영체제는 너무 많은 프로세스가 메모리에 올라와 있으면 당장 사용하지 않는.. 2021. 11. 6.
[운영체제] 하드웨어 수행 과정 Q) 커널모드와 사용자모드는 무슨 차이가 있나요? A)커널모드는 운영체제가 CPU를 받아 운영체제의 코드를 실행하는 부분으로, 모든 종류의 명령을 실행할 수 있습니다. 반면 사용자모드는 사용자프로그램이 CPU를 받아 제한적인 명령만 실행합니다. 사용자 프로그램이 하드웨어 접근 등 보안이 요구되는 명령을 실행하기 위해서는 운영체제에게 이 명령을 대신해줄 것을 요청하는데, 이를 시스템콜이라고 합니다. 즉 프로그램이 자신의 주소 공간 내에 있는 함수가 아닌 커널의 함수를 호출하는 것을 뜻합니다. 또한 보안이 요구되는 명령들은 특권명령이라고 합니다. 특권명령은 커널모드에서만 실행할 수 있습니다. Q) 인터럽트가 무엇인가요? A) 인터럽트는 CPU에게 하던 일을 멈추고 인터럽트에 관한 내용을 먼저 처리하라고 알리.. 2021. 11. 6.
[운영체제] 운영체제가 뭔가요? Q) 운영체제가 뭔가요? A) 컴퓨터의 하드웨어 바로 윗단에 설치되어 사용자를 하드웨어, 소프트웨어와 연결시켜주는 역할을 합니다. Q) 운영체제는 왜 필요한거죠? A) 제한된 자원, 이를테면 CPU, 메모리, 입출력장치, 디스크 등을 최대한 효율적으로 관리하기 위해서 필요합니다. Q) 운영체제의 하드웨어는 어떻게 구성되어 있을까요? A) 운영체제의 하드웨어는 크게 CPU, 메모리, 디스크, 입출력 장치로 구성되어 있습니다. Q) 각각의 역할은 무엇인가요? A) CPU는 중앙 처리 장치로서, 프로그램의 연산 및 처리를 담당하는 핵심적인 역할을 합니다. 운영체제는 이 CPU를 각 프로세스에게 어떤 순서로, 얼만큼 할당할 건지 스케줄링을 합니다. 이러한 스케줄링을 통해 CPU의 낭비 시간을 최대한 줄이는 것이.. 2021. 11. 6.
[자바] 자바 입출력 - 스트림이란? 스트림은 가상 통로를 뜻하며 자바의 모든 입출력은 스트림을 통해 이루어진다. 입출력 기능을 사용하는 곳은 파일 디스크, 키보드, 모니터, 메모리 입출력, 네트워크 등이 있음 - 입력 스트림과 출력 스트림 입력 스트림: 어떤 대상으로부터 자료를 읽어 들일 때 사용 출력 스트림: 편집 화면에 사용자가 쓴 글을 파일에 저장할 때 사용 스트림은 단방향이기 때문에 입력과 출력이 동시에 이루어질 수는 없음. 종류 예시 입력 스트림 FileInputStream, FileReader, BufferedInputStream, BufferedReader 출력 스트림 FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter - 바이트 단위 스트림과.. 2021. 11. 4.
반응형