반효경 교수님의 2014년 및 2017년 강의를 듣고 이를 정리한 문서입니다. 프로세스 문맥이 필요한 이유? 프로세스는 CPU 수행상태를 나타내는 하드웨어 문맥입니다. 글을 읽을 때, 문맥을 파악해야 지금 글의 현재 상태 인지에 대해 아는 것처럼 프로세스도 현재 변수의 값, 어떤 상태까지 진행을 했는가를 저장해두고 읽는 방법을 통해 문맥을 알 수 있습니다. 프로세스가 시작해서 끝날 때까지 CPU에서 한꺼번에 수행하면 문맥을 읽을 필요는 없습니다. 하지만 현재 컴퓨터는 CPU의 개수는 한정되어 있고, 많은 업무를 동시에 처리한 것처럼 보여주고자 합니다. 이를 위해 여러 프로세스가 함께 수행되는 시분할 환경에서는 CPU를 자주 빼앗기고 획득하게 됩니다. 따라서 CPU를 다시 획득해 명령의 수행을 재개하는 시..
반효경 교수님의 2014년 및 2017년 강의를 듣고 이를 정리한 문서입니다. 강의 전체에 대해 노션으로 정리해둔 문서도 있습니다. 아래에 태그를 통해 참고하세요 노션 정리본 강의목차 운영체제 개요 컴퓨터시스템의 구조 프로세스 관리 CPU 스케줄링 병행 제어 데드락 메모리 관리 가상 메모리 파일 시스템 입출력 시스템 디스크 관리 운영체제란? 컴퓨터의 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층으로 모든 컴퓨터 시스템의 필수적인 부분 운영체제의 목적 1. 컴퓨터 시스템의 자원(프로세서, 기억장치, 입출력 장치)을 효율적으로 관리(효율성 + 형평성) 2. 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행하므로 사용자는 컴퓨터 시스템을 편리하게 사용할 ..
멀티테스킹 OS에서는 멀티 테스킹을 지원합니다. Linux, Windows 등이 모두 이에 해당되죠. 즉, 한 컴퓨터에서 인터넷 검색, 노래 듣기, 게임을 동시에 할 수 있는 것이죠 그럼 어떻게 많은 작업을 동시에 처리할 수 있을까요? cpu 성능이 좋지 않으면 동시에 처리하는 기능이 떨어지는 걸까요? 게임과 같이 처리량이 많은 업무를 할때, 다른 업무를 많이 처리하게 한다면 동시에 처리되지 않고 버벅이거나 게임할 때 자막이 잘 나오지 않는 것 그런것들 모두 이것과 관련이 있습니다. 실제로 동시에 처리될 수 있는 프로세스의 개수는 CPU 코어의 개수와 동일합니다. 이보다 많은 개수의 프로세스가 존재하기 때문에 모두 함께 동시에 처리할 수는 없습니다. 각 코어들은 아주 짧은 시간에 여러 프로세스를 번갈아가..
3번째 프로젝트는 Semes 기업 멘토님의 조언과 함께 만들게 되었습니다. 반도체 설비를 모니터링 하는 시스템을 만들어보기로 했습니다. github : https://github.com/Projcet-E201 notion : https://www.notion.so/PJT-770f43012e344dfa9aad09a5a6d324f6 목표 추구하는 목표는 1. 누구나 쉽게 볼수 있도록 직관적으로 만들자 2. 사용자가 보기 편한 방법으로 구성할 수 있도록 커스텀 영역을 두자 였습니다. 화면 모습 위 모습은 메인화면이며 사용자가 클릭을 하면 원하는 방식으로 데이터를 보여줍니다. 또한 커스텀을 해서 사용자가 원하는 범위를 지정하면 그 범위에 대한 알람을 줄수 있습니다. 이 화면은 분당 200만개의 데이터를 전송한 ..