![[1일차] 2025 정보처리산업기사 운영체제 - 운영체제 종류 윈도우편 1 정보처리산업기사 운영체제](https://i0.wp.com/jupocket.com/wp-content/uploads/2025/05/image.png?resize=492%2C492&ssl=1)
오늘은 정보처리산업기사 내용 중 윈도우 운영체제를 정리했다. 시험 대비라기보다, 실제로 코드를 돌리고 배포 환경을 관리할 때 손이 자주 가는 항목을 중심으로 묶었다. 구조를 먼저 잡고, 꼭 써먹는 명령과 도구를 짚었다.
정보처리산업기사 1개월 단기 과정 스케줄을 확인하고 싶은분들은 아래글을 이용바랍니다.
1. 윈도우 운영체제 개요
윈도우는 NT 커널을 중심으로 동작하는 범용 운영체제다. 사용자 모드와 커널 모드로 나뉘고, 그래픽 환경이 기본이어서 접근 장벽이 낮다. 서버 관리와 개발 환경에서 필요한 도구들이 꾸준히 개선되어 PowerShell과 패키지 관리자까지 기본 제공한다.
핵심 포인트
- 커널 구조: User Mode와 Kernel Mode로 분리되어 안정성과 보호를 확보
- 관리 도구: 작업 관리자, 서비스, 이벤트 뷰어, 디스크 관리, 컴퓨터 관리
- 자동화 축: PowerShell, 스케줄러, WinRM 원격 관리
- 보안 축: UAC, ACL(액세스 제어 목록), Defender, 방화벽
2. NT 커널과 시스템 구조
사용자 모드에서는 응용 프로그램과 대부분의 시스템 프로세스가 실행되고, 커널 모드에서는 하드웨어 추상화 계층과 드라이버, 스케줄러가 동작한다. 이 분리는 응용 프로그램 오류가 시스템 전체로 번지는 것을 막는다.
간단 정리
- User Mode: 앱, 서비스 호스트, 일부 시스템 프로세스
- Kernel Mode: 스케줄링, 메모리 보호, I/O 서브시스템, 파일 시스템 드라이버
- 시스템 호출: 응용 프로그램 요청이 커널 인터페이스를 통해 하드웨어 자원으로 전달
3. 필수 관리 도구 한 바퀴
실무에서 가장 자주 여는 기본 도구들이다. 단축키와 경로를 익혀두면 트러블슈팅 속도가 빨라진다.
작업 관리자
- 단축키: Ctrl+Shift+Esc
- 탭 활용: 성능, 앱 기록, 시작프로그램 관리, 서비스 탭에서 서비스 재시작 가능
서비스 관리
- 실행: services.msc
- 사용처: 특정 백그라운드 서비스 시작 유형 변경, 종속성 확인
이벤트 뷰어
- 실행: eventvwr
- 사용처: 시스템 로그, 응용 프로그램 로그 확인. 서비스 실패, 드라이버 문제, 보안 이벤트 추적
디스크 관리
- 실행: diskmgmt.msc
- 사용처: 파티션, 볼륨, 드라이브 문자, 포맷, 기본 디스크 상태 점검
컴퓨터 관리
- 실행: compmgmt.msc
- 통합 패널: 로컬 사용자 및 그룹, 장치 관리자, 공유 폴더, 성능 로그 접근
4. 파일 시스템과 권한 모델
NTFS 파일 시스템은 세밀한 권한 제어가 장점이다. 파일과 폴더별로 사용자와 그룹에 읽기, 쓰기, 수정, 실행 등의 권한을 부여할 수 있고, 상속 규칙으로 대량 구조도 관리한다.
핵심 개념
- ACL: 특정 보안 주체(사용자, 그룹)에 대한 허용 또는 거부 권한 목록
- 상속: 상위 폴더 권한이 하위로 전파. 필요한 경우 상속 차단 후 개별 설정
- 소유권: 파일 소유자가 권한을 변경할 수 있음
권한 확인 예시
- 탐색기 속성의 보안 탭에서 사용자별 권한 확인
- 고급 버튼에서 상속과 소유권 전환 설정
5. 계정, 그룹, UAC
UAC는 관리자 권한이 필요한 작업에 대해 승인을 요구한다. 실무에서는 관리자 계정으로 상시 실행하는 습관을 줄이고, 필요한 시점에만 상승 실행하는 흐름이 안전하다.
기본 원칙
- 표준 사용자로 작업, 관리 작업은 상승 실행
- 관리자 권한이 필요한 스크립트는 명시적으로 상승
- 로컬 보안 정책과 그룹 정책을 이용해 일관된 규칙 유지
로컬 사용자와 그룹
- 경로: 컴퓨터 관리 → 로컬 사용자 및 그룹
- 원칙: 개인 계정은 표준 권한, 운영 계정은 최소 권한, 자동화 계정은 필요한 권한만 분리 부여
6. PowerShell 기본기
윈도우 자동화의 중심은 PowerShell이다. 명령 구조가 일관적이고, 개체 파이프라인이라 결과 가공이 쉽다. 관리자 권한으로 실행해야 하는 작업 여부를 먼저 결정한다.
기본 명령 패턴
- Get-Command, Get-Help로 탐색
- Get-ChildItem으로 파일 나열, Select-Object와 Where-Object로 필터링
- Set-ExecutionPolicy 정책 조정은 필요한 범위에서만
예시 1. 사용자 목록 확인
Get-LocalUser | Select-Object Name,Enabled,LastLogon
예시 2. 서비스 상태 점검
Get-Service | Where-Object {$_.Status -ne 'Running'} | Select-Object Name,Status
예시 3. 방화벽 규칙 확인
Get-NetFirewallRule | Select-Object DisplayName,Enabled,Direction,Action | Format-Table -AutoSize
패키지 관리
- winget으로 개발 도구 설치 자동화 가능
winget install --id Git.Git -e
winget install --id Microsoft.VisualStudioCode -e
7. 네트워크와 원격 관리 한 스텝
기본 네트워크 점검
- ipconfig, Test-NetConnection, Resolve-DnsName로 DNS, 포트 상태 확인
- 방화벽 규칙은 PowerShell의 Get/Set-NetFirewallRule로 스크립팅
원격 관리
- WinRM 활성화 후 PowerShell Remoting 사용
Enable-PSRemoting -Force
Enter-PSSession -ComputerName SERVER01
- 보안 정책과 네트워크 정책을 먼저 점검하고 제한된 범위에서만 허용
8. 로그와 진단 루틴
이벤트 뷰어에서 다음 채널을 자주 본다.
- Windows Logs → Application, System
- Applications and Services Logs → Microsoft → Windows → 특정 역할별 로그
진단 흐름 예시
- 문제가 보이면 이벤트 뷰어에서 시간대와 이벤트 ID 확인
- 관련 서비스 상태와 종속성 점검
- 최근 업데이트나 정책 변경 여부 확인
- 필요시 복구 지점이나 백업에서 되돌림
9. 개발자 관점의 운영 팁
- 환경 변수 관리: 시스템 환경 변수 PATH 충돌을 최소화하고 프로젝트별로 분리
- 실행 정책과 권한: 스크립트 서명 정책과 관리자 상승 여부를 명확히 구분
- 프로파일링 습관: PowerShell 프로파일에 자주 쓰는 함수와 별칭을 정리
- 재현성: winget 목록과 PowerShell 스크립트로 개발 환경을 재현 가능하게 유지
다음 학습 예고
다음 글에서는 유닉스 기반 운영체제를 다룬다. 권한 체계와 쉘 환경, 파이프와 리디렉션 같은 유닉스 철학을 먼저 정리하고, 간단한 쉘 스크립트 예시까지 연결할 예정이다.