본문 바로가기

이론공부/운영체제6

03. 프로세스 관리 프로세스의 개념 프로세스 : 실행중인 프로그램 프로세스의 문맥(context) => 프로세스의 현재 상태 CPU 수행 상태를 나타내는 하드웨어 문맥 -> cpu에서 어디까지 수행했는가? Program Counter -> pc가 가리키는 곳을 수행하고 있을 테니 어디를 수행하고 있는지 알려줌 각종 register -> 현재 상태 cpu 레지스터에 어떤 값을 넣고 있었는가 프로세스의 주소공간 code, data, stack 프로세스 관련 커널 자료구조 PCB(Process Control Block) -> 각각의 프로세스를 운영체제가 관리하면서 가지고있는 자료구조 Kernel stack03. 프로세스 관리 프로세스의 개념 프로세스 : 실행중인 프로그램 프로세스의 문맥(context) => 프로세스의 현재 상태.. 2022. 5. 18.
02. 컴퓨터 시스템의 구조 -3 프로그램의 실행 (메모리 load) 프로그램은 File System에 실행파일 형태로 저장 되어있고, 이를 실행시키면 그 프로그램이 메모리에 올라가서 프로세스(Process)가 됨. 메모리에는 운영체제의 Kernel이 기본적으로 올라가있고, 위의 사용자 프로그램들은 실행을 시켰을 때 메모리에 올라가서 프로세스가 됨. 위의 두 과정 중간에 Virtual memory 존재함 프로그램이 실행될 때 그 프로그램만의 독자적인 주소공간(Address space)이 만들어 짐 => Vertual Memory Vertual Memory는 메모리에 실제로 존재하는 것이 아니라 머릿속에 존재해서(논리적 주소) 당장 필요한 부분은 물리적인 메모리에 올라가게 되고, 그렇지 않은 메모리는 Disk의 Swap area에 내려가 .. 2022. 5. 13.
[운영 체제] 02. 컴퓨터 시스템의 구조-2 시스템 콜(System Call) 사용자 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출하는 것 사용자 프로그램이 무언가를 하고싶은데 내 권한으로는 못하는 특권명령의 기계어일 때 내가 운영을 못하니 모든 권한을 가진 운영체제에 부탁을 함. => 시스템 콜 ?? 사용자 프로그램을 사용하고 있다가 운영체제에 부탁을 하러 넘어가야할때 인터럽트를 거는것 (Trap) 인터럽트(Interrupt) 인터럽트 인터럽트 당한 시점의 레지스터와 program counter를 save 한 후 CPU의 제어를 인터럽트 처리 루틴에 넘긴다 Interrupt (넓은 의미) (Interrupt)하드웨어 인터럽트 : 하드웨어가 발생시킨 인터럽트 Trap (소프트웨어 인터럽트) 개별 프로그램이 운영체제한테 CPU를 넘기기 .. 2022. 5. 1.
[운영체제] 02. 컴퓨터 시스템의 구조 컴퓨터 시스템 구조 각각마다 controller 달려있음 Mode bit 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호장치 필요 **Mode bit**을 통해 하드웨어적으로 두 가지 모드의 operation 지원 보안을 해칠 수 있는 중요한 명령어는 모니터 모드에서만 수행 가능한 **'특권명령'** (위험한 기계어)으로 규정 Interrupt나 Exception 발생시 하드웨어가 mode bit을 0으로 바꿈 사용자 프로그램에게 CPU를 넘기기 전에 mode bit을 1로 셋팅 **모니터모드** = 커널모드, 시스템 모드 만약 권한이 없는 기게어를 시행할 시 CPU가 운영체제한테 자동으로 넘어간다 (Exception) Interrupt ex> CPU가 .. 2022. 4. 28.
[운영체제] 01. 운영체제 개요 운영체제란 무엇인가? 운영체제(Operating System, OS)란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 좁은 의미의 운영체제(커널) 운영체제의 핵심 부분으로 메모리에 상주하는 부분 넓은 의미의 운영체제 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 ex> file 복사 등 컴퓨터를 관리하는데 필요한 부분들 운영체제의 목적 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 운영 체제는 동시 사용자/ 프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행 컴퓨터 시스템의 **자원을 효율적으로 관리** 프로세서, 기억장치, 입출력 장치 등의 효율적 관리 사용.. 2022. 4. 28.
[운영체제] 01. 운영체제란? 운영체제(OS : Operating System)란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 운영체제의 목적 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공 컴퓨터 시스템의 **자원을 효율적으로 관리** CPU, 메모리, I/O 장치 등의 효율적 관리. (효율성 -> 주어진 자원, 최대의 성능 / 형평성 - 특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록) 컴퓨터 시스템의 구조 & 운영체제의 역할 메모리 : CPU의 작업공간 CPU 스케줄링 : 어떤 프로그램에게 CPU 사용권을 줄지. 메모리관리 : 한정된 메로리를 어떻게 쪼개어 사용할지. 디스크 스케.. 2022. 4. 25.